# --------------------------------------------------------------------- # # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image # pour la Santé) # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton # Previous Authors : Laurent Guigues, Jean-Pierre Roux # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil # # This software is governed by the CeCILL-B license under French law and # abiding by the rules of distribution of free software. You can use, # modify and/ or redistribute the software under the terms of the CeCILL-B # license as circulated by CEA, CNRS and INRIA at the following URL # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html # or in the file LICENSE.txt. # # As a counterpart to the access to the source code and rights to copy, # modify and redistribute granted by the license, users are provided only # with a limited warranty and the software's author, the holder of the # economic rights, and the successive licensors have only limited # liability. # # The fact that you are presently reading this means that you have had # knowledge of the CeCILL-B license and that you accept its terms. # ------------------------------------------------------------------------ */ #----------------------------------------------------------------------------- # 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 "${PROJECT_NAME} - CREATIS") SET(CPACK_PACKAGE_VENDOR "CREATIS") 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\\\\${PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") IF(WIN32) SET(CMAKE_INSTALL_PREFIX C:/CreaTools/${PROJECT_NAME}) 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 "${PROJECT_NAME}") SET(CPACK_NSIS_HELP_LINK "http://www.creatis.insa-lyon.fr/creatools/${PROJECT_NAME}") SET(CPACK_NSIS_URL_INFO_ABOUT "http://www.creatis.insa-lyon.fr/creatools/${PROJECT_NAME}") SET(CPACK_NSIS_CONTACT "info-dev@creatis.insa-lyon.fr") SET(CPACK_NSIS_MODIFY_PATH OFF) set (CREA_BOOST_LYBRARY boost-1.40.0) set (CREA_GDCM_LYBRARY gdcm13 ) set (CREA_ITK_LYBRARY itk-3.16.0 ) set (CREA_QT_LYBRARY Qt4.5.2 ) set (CREA_VTK_LYBRARY vtk-5.4.2 ) set (CREA_WXWIN_LYBRARY wxWidgets-2.8.10) set (CREA_XERCES_LYBRARY xerces-c-3.1.0) #set (CREA_KWWIDGETS_LYBRARY KWWidgets-090109 ) set (MessageLibraryPath "CREA_LIBRARY_DESTINATION_PATH (itk,vtk,gdcm,wx,KWWidgets,tth,MikTex)") set (CREA_LIBRARY_SOURCE_PATH "" CACHE PATH ${MessageLibraryPath} ) set (CREA_LIBRARY_DESTINATION_PATH "Library") IF(NOT CREA_LIBRARY_SOURCE_PATH) MESSAGE(FATAL_ERROR "${MessageLibraryPath} not found") ENDIF(NOT CREA_LIBRARY_SOURCE_PATH) 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) # tth FILE(GLOB LST_FILE_TTH "${CREA_LIBRARY_SOURCE_PATH}/tth/*.*") FOREACH( iLST ${LST_FILE_TTH} ) INSTALL( FILES ${iLST} DESTINATION bin/tth/ ) ENDFOREACH(iLST) # MikTex SET(MIKTEXDIR "${CREA_LIBRARY_SOURCE_PATH}/MikTex-2.7/") INSTALL( DIRECTORY ${MIKTEXDIR} DESTINATION bin/MikTex-2.7 ) INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_BOOST_LYBRARY} DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} ) INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_GDCM_LYBRARY} DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} ) INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_ITK_LYBRARY} DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} ) INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_QT_LYBRARY} DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} ) INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_VTK_LYBRARY} DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} ) INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_WXWIN_LYBRARY} DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} ) INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_XERCES_LYBRARY} DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} ) SET(MIKTEX_INSTALL_DIR "$INSTDIR\\\\bin\\\\MikTex-2.7\\\\miktex\\\\bin") SET(CREATIS_THIRDPARTYLIBRARIES_DIRS ";${MIKTEX_INSTALL_DIR}") SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS " WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'TTH' '$INSTDIR\\\\bin\\\\tth' WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'CREATIS_THIRDPARTYLIBRARIES_DIRS' '${CREATIS_THIRDPARTYLIBRARIES_DIRS}' !define Install_ReadEnvStr_RegKey 'HKCU \\\"Environment\\\"' ReadRegStr $0 \\\${Install_ReadEnvStr_RegKey} 'PATH' Push '$0;' Push '%CREATIS_THIRDPARTYLIBRARIES_DIRS%' Call StrStr Pop $2 StrCmp $2 '' '' AddToPath_doneEED StrCpy $0 \\\"$0;%CREATIS_THIRDPARTYLIBRARIES_DIRS%\\\" WriteRegExpandStr \\\${Install_ReadEnvStr_RegKey} 'PATH' $0 AddToPath_doneEED: WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'BOOST_ROOT' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_BOOST_LYBRARY}' WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'GDCM_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_GDCM_LYBRARY}\\\\lib\\\\gdcm' WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'ITK_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_ITK_LYBRARY}\\\\lib\\\\InsightToolkit' WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'QTDIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_QT_LYBRARY}' WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'VTK_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_VTK_LYBRARY}\\\\lib\\\\vtk-5.4' WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'WXWIN' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_WXWIN_LYBRARY}' WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'XERCES_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_XERCES_LYBRARY}' #WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'KWWidgets_dir' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_KWWIDGETS_LYBRARY}\\\\lib\\\\KWWidgets' SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 ") SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS " !define Uninstall_EnvStr_RegKey 'HKLM \\\"SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment\\\"' WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'CREATIS_THIRDPARTYLIBRARIES_DIRS' '' SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 ") INCLUDE(CPack) ENDIF (WIN32)