#----------------------------------------------------------------------------- # CPACK+NSIS PACKAGING #----------------------------------------------------------------------------- #---Documentation------------- #http://www.cmake.org/Wiki/CMake:Packaging_With_CPack #http://www.cmake.org/Wiki/CMake:CPackConfiguration #http://www.cmake.org/Wiki/CMake:Install_Commands INCLUDE(InstallRequiredSystemLibraries) SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "crea_ThirdParty_dlls - CREATIS-LRMN") SET(CPACK_PACKAGE_VENDOR "CREATIS-LRMN") SET(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/README.txt") SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.txt") SET(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_MAJOR_VERSION}) SET(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_MINOR_VERSION}) SET(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_BUILD_VERSION}) SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CreaTools\\\\crea_ThirdParty_dlls-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") IF(WIN32) SET(CMAKE_INSTALL_PREFIX C:/CreaTools/crea_dlls_extern) ENDIF(WIN32) IF(WIN32 AND NOT UNIX) # 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. #EED SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/kernel/install/gnome/bbi-icon2.bmp") # SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin/BBI_EXE.exe") SET(CPACK_NSIS_DISPLAY_NAME "crea_ThirdParty_dlls") SET(CPACK_NSIS_HELP_LINK "http://www.creatis.insa-lyon.fr/creatools/crea_ThirdParty_dlls") SET(CPACK_NSIS_URL_INFO_ABOUT "http://www.creatis.insa-lyon.fr/creatools/crea_ThirdParty_dlls") SET(CPACK_NSIS_CONTACT "info-dev@creatis.insa-lyon.fr") SET(CPACK_NSIS_MODIFY_PATH ON) ELSE(WIN32 AND NOT UNIX) # SET(CPACK_STRIP_FILES "bin/bbi") SET(CPACK_SOURCE_STRIP_FILES "") ENDIF(WIN32 AND NOT UNIX) #SET(CPACK_PACKAGE_EXECUTABLES "TestWxGimmickDialog" "Gimmick!") # Aditional INSTALL for CPACK mecanism. IF(WIN32) set (MessageLibraryPath "CREA_DLL_DESTINATION_PATH (itk,vtk,gdcm,wx,Qt,tth)") set (CREA_LIBRARY_DLL_PATH "" CACHE PATH ${MessageLibraryPath} ) IF(NOT CREA_LIBRARY_DLL_PATH) MESSAGE(FATAL_ERROR "${MessageLibraryPath} not found") ENDIF(NOT CREA_LIBRARY_DLL_PATH) ## INSTALL( FILES ${PROJECT_SOURCE_DIR}/win32/sqlite3.dll DESTINATION bin ) STRING(REGEX REPLACE "\\\\" "/" WINDIR "$ENV{WINDIR}") # INSTALL( FILES ${WINDIR}/system32/msvcp71d.dll DESTINATION bin/ ) # INSTALL( FILES ${WINDIR}/system32/msvcr71d.dll DESTINATION bin/ ) FILE(GLOB LST_FILE_DLL "${CREA_LIBRARY_DLL_PATH}/*.dll") FOREACH( iLST ${LST_FILE_DLL} ) INSTALL( FILES ${iLST} DESTINATION bin/ ) ENDFOREACH(iLST) FILE(GLOB LST_FILE_TTH "${CREA_LIBRARY_DLL_PATH}/tth/*.*") FOREACH( iLST ${LST_FILE_TTH} ) INSTALL( FILES ${iLST} DESTINATION bin/tth/ ) ENDFOREACH(iLST) SET(MIKTEXDIR "${CREA_LIBRARY_DLL_PATH}/MikTex-2.7/") INSTALL( DIRECTORY ${MIKTEXDIR} DESTINATION bin/MikTex-2.7 ) STRING(REGEX REPLACE "\\\\" "/" ENVPATH "$ENV{Path}") SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS " WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'TTH' '$INSTDIR\\\\bin\\\\tth' WriteRegExpandStr HKEY_LOCAL_MACHINE 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'Path' '${ENVPATH};$INSTDIR\\\\bin\\\\MikTex-2.7\\\\miktex\\\\bin' SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 ") ENDIF(WIN32) INCLUDE(CPack)