ENH: Some improvements: specify link, copy msvc libraries, fix install directory

This commit is contained in:
Andy Cedilnik 2006-01-11 11:08:15 -05:00
parent c4a5b90070
commit 2a6bc87567
5 changed files with 37 additions and 3 deletions

View File

@ -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.

View File

@ -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)

View File

@ -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"

View File

@ -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();

View File

@ -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@")