ENH: Some improvements: specify link, copy msvc libraries, fix install directory
This commit is contained in:
parent
c4a5b90070
commit
2a6bc87567
|
@ -187,6 +187,8 @@ IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
|
||||||
SET(CPACK_PACKAGE_VERSION_MAJOR "${CMake_VERSION_MAJOR}")
|
SET(CPACK_PACKAGE_VERSION_MAJOR "${CMake_VERSION_MAJOR}")
|
||||||
SET(CPACK_PACKAGE_VERSION_MINOR "${CMake_VERSION_MINOR}")
|
SET(CPACK_PACKAGE_VERSION_MINOR "${CMake_VERSION_MINOR}")
|
||||||
SET(CPACK_PACKAGE_VERSION_PATCH "${CMake_VERSION_PATCH}")
|
SET(CPACK_PACKAGE_VERSION_PATCH "${CMake_VERSION_PATCH}")
|
||||||
|
SET(CPACK_PACKAGE_EXECUTABLE "CMakeSetup")
|
||||||
|
SET(CPACK_PACKAGE_EXECUTABLE_LABEL "CMake")
|
||||||
IF(WIN32 AND NOT UNIX)
|
IF(WIN32 AND NOT UNIX)
|
||||||
# There is a bug in NSI that does not handle full unix paths properly. Make
|
# There is a bug in NSI that does not handle full unix paths properly. Make
|
||||||
# sure there is at least one set of four (4) backlasshes.
|
# sure there is at least one set of four (4) backlasshes.
|
||||||
|
|
|
@ -47,4 +47,32 @@ ENDIF(NOT CPACK_GENERATOR)
|
||||||
SET(CPACK_SOURCE_DIR "${CMAKE_SOURCE_DIR}")
|
SET(CPACK_SOURCE_DIR "${CMAKE_SOURCE_DIR}")
|
||||||
SET(CPACK_BINARY_DIR "${CMAKE_BINARY_DIR}")
|
SET(CPACK_BINARY_DIR "${CMAKE_BINARY_DIR}")
|
||||||
|
|
||||||
|
# Hack for Visual Studio support
|
||||||
|
# Search for system runtime libraries based on the platform. This is
|
||||||
|
# not complete because it is used only for the release process by the
|
||||||
|
# developers.
|
||||||
|
IF(WIN32 AND NOT CYGWIN)
|
||||||
|
STRING(REGEX REPLACE "\\\\" "/" SYSTEMROOT "$ENV{SYSTEMROOT}")
|
||||||
|
FOREACH(lib
|
||||||
|
"${SYSTEMROOT}/system32/mfc71.dll"
|
||||||
|
"${SYSTEMROOT}/system32/msvcp71.dll"
|
||||||
|
"${SYSTEMROOT}/system32/msvcr71.dll"
|
||||||
|
)
|
||||||
|
IF(EXISTS ${lib})
|
||||||
|
SET(CMake_INSTALL_SYSTEM_RUNTIME_LIBS
|
||||||
|
${CMake_INSTALL_SYSTEM_RUNTIME_LIBS} ${lib})
|
||||||
|
ENDIF(EXISTS ${lib})
|
||||||
|
ENDFOREACH(lib)
|
||||||
|
ENDIF(WIN32 AND NOT CYGWIN)
|
||||||
|
|
||||||
|
# Include system runtime libraries in the installation if any are
|
||||||
|
# specified by CMake_INSTALL_SYSTEM_RUNTIME_LIBS.
|
||||||
|
IF(CMake_INSTALL_SYSTEM_RUNTIME_LIBS)
|
||||||
|
IF(WIN32)
|
||||||
|
INSTALL_PROGRAMS(/bin ${CMake_INSTALL_SYSTEM_RUNTIME_LIBS})
|
||||||
|
ELSE(WIN32)
|
||||||
|
INSTALL_PROGRAMS(/lib ${CMake_INSTALL_SYSTEM_RUNTIME_LIBS})
|
||||||
|
ENDIF(WIN32)
|
||||||
|
ENDIF(CMake_INSTALL_SYSTEM_RUNTIME_LIBS)
|
||||||
|
|
||||||
CONFIGURE_FILE("${cpack_input_file}" "${CMAKE_BINARY_DIR}/CPackConfig.cmake" @ONLY IMMEDIATE)
|
CONFIGURE_FILE("${cpack_input_file}" "${CMAKE_BINARY_DIR}/CPackConfig.cmake" @ONLY IMMEDIATE)
|
||||||
|
|
|
@ -358,7 +358,7 @@ Section "Dummy Section" SecDummy
|
||||||
|
|
||||||
;Create shortcuts
|
;Create shortcuts
|
||||||
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
|
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
|
||||||
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\cmake.lnk" "$INSTDIR\bin\CMakeSetup.exe"
|
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\@CPACK_PACKAGE_EXECUTABLE_LABEL@.lnk" "$INSTDIR\bin\@CPACK_PACKAGE_EXECUTABLE@.exe"
|
||||||
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
||||||
|
|
||||||
!insertmacro MUI_STARTMENU_WRITE_END
|
!insertmacro MUI_STARTMENU_WRITE_END
|
||||||
|
@ -414,7 +414,7 @@ Section "Uninstall"
|
||||||
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
|
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
|
||||||
|
|
||||||
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
|
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
|
||||||
Delete "$SMPROGRAMS\$MUI_TEMP\cmake.lnk"
|
Delete "$SMPROGRAMS\$MUI_TEMP\@CPACK_PACKAGE_EXECUTABLE_LABEL@.lnk"
|
||||||
|
|
||||||
;Delete empty start menu parent diretories
|
;Delete empty start menu parent diretories
|
||||||
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
|
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
|
||||||
|
|
|
@ -66,10 +66,10 @@ int cmCPackGenericGenerator::PrepareNames()
|
||||||
outName += "-";
|
outName += "-";
|
||||||
outName += postfix;
|
outName += postfix;
|
||||||
}
|
}
|
||||||
tempDirectory += "/" + outName;
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
std::string outName = this->GetOption("CPACK_PACKAGE_FILE_NAME");
|
std::string outName = this->GetOption("CPACK_PACKAGE_FILE_NAME");
|
||||||
|
tempDirectory += "/" + outName;
|
||||||
outName += ".";
|
outName += ".";
|
||||||
outName += this->GetOutputExtension();
|
outName += this->GetOutputExtension();
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,10 @@ SET(CPACK_PACKAGE_VENDOR "@CPACK_PACKAGE_VENDOR@")
|
||||||
|
|
||||||
SET(CPACK_PACKAGE_FILE_NAME "@CPACK_PACKAGE_FILE_NAME@")
|
SET(CPACK_PACKAGE_FILE_NAME "@CPACK_PACKAGE_FILE_NAME@")
|
||||||
|
|
||||||
|
SET(CPACK_PACKAGE_EXECUTABLE "@CPACK_PACKAGE_EXECUTABLE@")
|
||||||
|
SET(CPACK_PACKAGE_EXECUTABLE_LABEL "@CPACK_PACKAGE_EXECUTABLE_LABEL@")
|
||||||
|
|
||||||
|
|
||||||
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "@CPACK_PACKAGE_DESCRIPTION_SUMMARY@")
|
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "@CPACK_PACKAGE_DESCRIPTION_SUMMARY@")
|
||||||
SET(CPACK_PACKAGE_DESCRIPTION_FILE "@CPACK_PACKAGE_DESCRIPTION_FILE@")
|
SET(CPACK_PACKAGE_DESCRIPTION_FILE "@CPACK_PACKAGE_DESCRIPTION_FILE@")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue