Merge pull request #1650 from nulltoken/ntk/winrc-filename

cmake: Add option to specify the name of the binary
This commit is contained in:
Vicent Martí 2013-06-13 02:47:45 -07:00
commit 4878ea4568
2 changed files with 10 additions and 17 deletions

View File

@ -27,7 +27,8 @@ OPTION( BUILD_EXAMPLES "Build library usage example apps" OFF )
OPTION( TAGS "Generate tags" OFF ) OPTION( TAGS "Generate tags" OFF )
OPTION( PROFILE "Generate profiling information" OFF ) OPTION( PROFILE "Generate profiling information" OFF )
OPTION( ENABLE_TRACE "Enables tracing support" OFF ) OPTION( ENABLE_TRACE "Enables tracing support" OFF )
OPTION( SONAME_APPEND "Append the given string to the library's filename" OFF ) OPTION( LIBGIT2_FILENAME "Name of the produced binary" OFF )
IF(MSVC) IF(MSVC)
# This option is only availalbe when building with MSVC. By default, # This option is only availalbe when building with MSVC. By default,
# libgit2 is build using the stdcall calling convention, as that's what # libgit2 is build using the stdcall calling convention, as that's what
@ -326,23 +327,13 @@ MSVC_SPLIT_SOURCES(git2)
IF (SONAME) IF (SONAME)
SET_TARGET_PROPERTIES(git2 PROPERTIES VERSION ${LIBGIT2_VERSION_STRING}) SET_TARGET_PROPERTIES(git2 PROPERTIES VERSION ${LIBGIT2_VERSION_STRING})
SET_TARGET_PROPERTIES(git2 PROPERTIES SOVERSION ${LIBGIT2_VERSION_MAJOR}) SET_TARGET_PROPERTIES(git2 PROPERTIES SOVERSION ${LIBGIT2_VERSION_MAJOR})
IF (SONAME_APPEND) IF (LIBGIT2_FILENAME)
SET_TARGET_PROPERTIES(git2 PROPERTIES OUTPUT_NAME "git2-${SONAME_APPEND}") ADD_DEFINITIONS(-DLIBGIT2_FILENAME=\"${LIBGIT2_FILENAME}\")
SET_TARGET_PROPERTIES(git2 PROPERTIES OUTPUT_NAME ${LIBGIT2_FILENAME})
ENDIF() ENDIF()
ENDIF() ENDIF()
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libgit2.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libgit2.pc @ONLY) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libgit2.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libgit2.pc @ONLY)
IF (NOT BUILD_SHARED_LIBS)
SET(LIBGIT2_NAME_PREFIX "lib")
ENDIF()
IF (SONAME_APPEND)
SET(LIBGIT2_NAME_SUFFIX "-${SONAME_APPEND}")
ENDIF()
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/src/win32/git2.rc.cmake ${WIN_RC} @ONLY)
IF (MSVC_IDE) IF (MSVC_IDE)
# Precompiled headers # Precompiled headers
SET_TARGET_PROPERTIES(git2 PROPERTIES COMPILE_FLAGS "/Yuprecompiled.h /FIprecompiled.h") SET_TARGET_PROPERTIES(git2 PROPERTIES COMPILE_FLAGS "/Yuprecompiled.h /FIprecompiled.h")

View File

@ -1,7 +1,9 @@
#include <winver.h> #include <winver.h>
#include "../../include/git2/version.h" #include "../../include/git2/version.h"
#define LIBGIT2_FILENAME "@LIBGIT2_NAME_PREFIX@git2@LIBGIT2_NAME_SUFFIX@.dll" #ifndef LIBGIT2_FILENAME
# define LIBGIT2_FILENAME "git2"
#endif
VS_VERSION_INFO VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE VS_VERSION_INFO VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
FILEVERSION LIBGIT2_VER_MAJOR,LIBGIT2_VER_MINOR,LIBGIT2_VER_REVISION,0 FILEVERSION LIBGIT2_VER_MAJOR,LIBGIT2_VER_MINOR,LIBGIT2_VER_REVISION,0
@ -23,9 +25,9 @@ BEGIN
BEGIN BEGIN
VALUE "FileDescription", "libgit2 - the Git linkable library\0" VALUE "FileDescription", "libgit2 - the Git linkable library\0"
VALUE "FileVersion", LIBGIT2_VERSION "\0" VALUE "FileVersion", LIBGIT2_VERSION "\0"
VALUE "InternalName", LIBGIT2_FILENAME "\0" VALUE "InternalName", LIBGIT2_FILENAME ".dll\0"
VALUE "LegalCopyright", "Copyright (C) the libgit2 contributors. All rights reserved.\0" VALUE "LegalCopyright", "Copyright (C) the libgit2 contributors. All rights reserved.\0"
VALUE "OriginalFilename", LIBGIT2_FILENAME "\0" VALUE "OriginalFilename", LIBGIT2_FILENAME ".dll\0"
VALUE "ProductName", "libgit2\0" VALUE "ProductName", "libgit2\0"
VALUE "ProductVersion", LIBGIT2_VERSION "\0" VALUE "ProductVersion", LIBGIT2_VERSION "\0"
VALUE "Comments", "For more information visit http://libgit2.github.com/\0" VALUE "Comments", "For more information visit http://libgit2.github.com/\0"