# --------------------------------------------------------------------- # # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image # pour la Santé) # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton # # 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_NAME "${CMAKE_PROJECT_NAME}-${CREATOOLS_BUILDTYPE}") 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_SYSTEM_NAME ${CREATOOLS_PLATFORM}) # SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CreaTools\\\\${PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CreaTools-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") IF(WIN32) SET(CMAKE_INSTALL_PREFIX C:/CreaTools/CeaTools) 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") #EED 01/05/2013 SET(CPACK_NSIS_DISPLAY_NAME "CreaTools") 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 (MessageCreatoolsPath "CREATOOLS_SOURCE_PATH (bbtk, crea, creaMaracasVisu, ...)") set (CREATOOLS_SOURCE_PATH "" CACHE PATH ${MessageCreatoolsPath} ) set (CREATOOLS_DESTINATION_PATH ".") # set (CREA_THIRDPARTY_DLLS crea_ThirdParty_dlls-3.0.0) # set (CREA_THIRDPARTY_LIBRARIES crea_ThirdParty_Libraries-3.0.0) set (CREA_BASE crea) set (CREA_BBTK bbtk) set (CREA_MARACASVISU creaMaracasVisu) set (CREA_VTK creaVtk) set (CREA_IMAGEIO creaImageIO) set (CREA_CONTOURS creaContours) set (CREA_ENVIRIONMENT creaEnvironment) set (CREA_RECALAGE creaRigidRegistration) set (CREA_BRUKER creaBruker) set (CREA_BBTKGEDITOR bbtkGEditor) set (CREA_MINITOOLS creaMiniTools) # set (CREA_IRM creaIRM-1.0.1) # set (CREA_BOOST_LYBRARY "boost-1.40.0") # set (CREA_GDCM_LYBRARY "gdcm110909") # set (CREA_ITK_LYBRARY "itk-3.14.0") # set (CREA_QT_LYBRARY "Qt4.5.2") # set (CREA_VTK_LYBRARY "vtk-5.4.2") # set (CREA_WXWIN_LYBRARY "wxWidgets-2.8.10") IF(NOT CREATOOLS_SOURCE_PATH) MESSAGE(FATAL_ERROR "${MessageCreatoolsPath} not found") ENDIF(NOT CREATOOLS_SOURCE_PATH) # SET(TTH_DIRBIN "$INSTDIR\\\\bin\\\\tth") # SET(MIKTEX_INSTALL_DIRBIN "$INSTDIR\\\\bin\\\\MikTex-2.7\\\\miktex\\\\bin") SET(CREATOOLS_DIRBIN "$INSTDIR\\\\bin") SET(CREA_DLLS_DIRBIN "$INSTDIR\\\\bin") SET(CREA_BASE_DIRBIN "$INSTDIR\\\\${CREA_BASE}\\\\bin") SET(CREA_BBTK_DIRBIN "$INSTDIR\\\\${CREA_BBTK}\\\\bin") SET(CREA_MARACASVISU_DIRBIN "$INSTDIR\\\\${CREA_MARACASVISU}\\\\bin") SET(CREA_VTK_DIRBIN "$INSTDIR\\\\${CREA_VTK}\\\\bin") SET(CREA_IMAGEIO_DIRBIN "$INSTDIR\\\\${CREA_IMAGEIO}\\\\bin") SET(CREA_CONTOURS_DIRBIN "$INSTDIR\\\\${CREA_CONTOURS}\\\\bin") SET(CREA_ENVIRIONMENT_DIRBIN "$INSTDIR\\\\${CREA_ENVIRIONMENT}\\\\bin") SET(CREA_RECALAGE_DIRBIN "$INSTDIR\\\\${CREA_RECALAGE}\\\\bin") SET(CREA_BBTKGEDITOR_DIRBIN "$INSTDIR\\\\${CREA_BBTKGEDITOR}\\\\bin") ### SET(CREATOOLS_DIRS "${CREA_DLLS_DIRBIN};${MIKTEX_INSTALL_DIRBIN}") SET(CREATOOLS_DIRS "${CREATOOLS_DIRBIN}") SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS " !define Install_ReadEnvStr_RegKey 'HKCU \\\"Environment\\\"' ReadRegStr $0 \\\${Install_ReadEnvStr_RegKey} 'PATH' Push '$0;' Push '%CREATOOLS_DIRS%' Call StrStr Pop $2 StrCmp $2 '' '' AddToPath_doneEED StrCpy $0 \\\"$0;%CREATOOLS_DIRS%\\\" WriteRegExpandStr \\\${Install_ReadEnvStr_RegKey} 'PATH' $0 AddToPath_doneEED: CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Version.txt.lnk' '${CREATOOLS_DIRBIN}\\\\..\\\\Version.txt' SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Update_CreaTools.lnk' '${CREATOOLS_DIRBIN}\\\\UpdateCreatools.bat.lnk' CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\CreaTools_HomePage.lnk' '${CREATOOLS_DIRBIN}\\\\start.bat' 'www.creatis.insa-lyon.fr/site7/creatools' CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\CreaTools.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbi.exe bbs\\\\creaMiniTools\\\\appli\\\\minitoolsMenu.bbs' # CreateDirectory '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Developer_Tools' # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Developer_Tools\\\\creaNewProject.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'creaNewProject.exe' # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Developer_Tools\\\\bbStudio.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbStudio.exe' # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Developer_Tools\\\\bbEditor.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbEditor.exe' # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Developer_Tools\\\\bbi.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbi.exe' # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Developer_Tools\\\\Readme.txt.lnk' '${CREATOOLS_DIRBIN}\\\\start.bat' 'bin\\\\data\\\\README_DeveloperTools.txt' # CreateDirectory '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos' # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos\\\\Filter01.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbi.exe demo\\\\appli\\\\demoFiltering1.bbs' # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos\\\\Viewing01.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbi.exe demo\\\\appli\\\\demoViewing1.bbs' # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos\\\\ShowNPoints.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbi.exe bbs\\\\creaMaracasVisu\\\\appli\\\\ExampleShowNPoints.bbs' # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos\\\\Readme.txt.lnk' '${CREATOOLS_DIRBIN}\\\\start.bat' 'bin\\\\data\\\\README_Demos.txt' # CreateDirectory '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Image_Tools' # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Image_Tools\\\\RigidRegistration.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbi.exe bbs\\\\PackRecalage\\\\appli\\\\Recalage.bbs' # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Image_Tools\\\\RenderingViewing.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbi.exe bbs\\\\creaMaracasVisu\\\\appli\\\\ExampleRenderingViewer.bbs' # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Image_Tools\\\\Contours.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'creaContourApp.exe' # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Image_Tools\\\\Readme.txt.lnk' '${CREATOOLS_DIRBIN}\\\\start.bat' 'bin\\\\data\\\\README_ImageTools.txt' WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'CREATOOLS_DIRS' '${CREATOOLS_DIRS}' SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 SetShellVarContext current StrCpy $R0 \\\"$DOCUMENTS\\\\..\\\\.bbtk\\\\doc\\\" RMDir /r $R0 ") SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS " !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\CreaTools_HomePage.lnk' Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\ creaTools.lnk' Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Version.txt.lnk' Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Update_CreaTools.lnk' # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Developer_Tools\\\\creaNewProject.lnk' # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Developer_Tools\\\\bbStudio.lnk' # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Developer_Tools\\\\bbEditor.lnk' # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Developer_Tools\\\\bbi.lnk' # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Developer_Tools\\\\Readme.txt.lnk' # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Demos\\\\Filter01.lnk' # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Demos\\\\Viewing01.lnk' # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Demos\\\\ShowNPoints.lnk' # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Demos\\\\Readme.txt.lnk' # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Image_Tools\\\\RigidRegistration.lnk' # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Image_Tools\\\\RenderingViewing.lnk' # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Image_Tools\\\\Contours.lnk' # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Image_Tools\\\\Readme.txt.lnk' StrCpy $MUI_TEMP '$SMPROGRAMS\\\\$MUI_TEMP' RMDir /r $MUI_TEMP !define Uninstall_EnvStr_RegKey 'HKLM \\\"SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment\\\"' WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'CREATOOLS_DIRS' '' SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 SetShellVarContext current StrCpy $R0 \\\"$DOCUMENTS\\\\..\\\\.bbtk\\\\doc\\\" RMDir /r $R0 ") ELSE(WIN32 AND NOT UNIX) SET(CPACK_STRIP_FILES "${CREA_BBTK}\\\\ubs.bat;kkk.rrr") SET(CPACK_SOURCE_STRIP_FILES "") ENDIF(WIN32 AND NOT UNIX) #EED 20 Nov 2009 #SET(CPACK_PACKAGE_EXECUTABLES "bbStudio" "creatisStudio" # "bbi" "creatisInterpreter" # "IRMMain" "creatisCartography" # "creaNewProject" "creatisNewProyect" ) INCLUDE(CPack) # Aditional INSTALL for CPACK mecanism. IF (WIN32) #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_THIRDPARTY_DLLS}\\\\bin/ DESTINATION "${CREATOOLS_DESTINATION_PATH}/bin" ) #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_THIRDPARTY_LIBRARIES}\\\\Library/ DESTINATION ${CREATOOLS_DESTINATION_PATH} ) INSTALL(FILES ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/Version.txt DESTINATION . ) INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/bin/ DESTINATION bin ) INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/data/ DESTINATION bin/data ) INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_BASE}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} ) INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_BBTK}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} ) INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_MARACASVISU}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} ) INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_VTK}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} ) INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_IMAGEIO}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} ) INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_CONTOURS}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} ) INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_ENVIRIONMENT}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} ) INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_RECALAGE}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} ) INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_BRUKER}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} ) INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_BBTKGEDITOR}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} ) INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_MINITOOLS}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} ) #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_IRM}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} ) ENDIF (WIN32) IF (UNIX) install( FILES ${PROJECT_BINARY_DIR}/Version.sh DESTINATION share/creatools ) install( FILES ${PROJECT_BINARY_DIR}/Version.txt DESTINATION share/creatools ) ENDIF (UNIX)