1 # ---------------------------------------------------------------------
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
7 # This software is governed by the CeCILL-B license under French law and
8 # abiding by the rules of distribution of free software. You can use,
9 # modify and/ or redistribute the software under the terms of the CeCILL-B
10 # license as circulated by CEA, CNRS and INRIA at the following URL
11 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
12 # or in the file LICENSE.txt.
14 # As a counterpart to the access to the source code and rights to copy,
15 # modify and redistribute granted by the license, users are provided only
16 # with a limited warranty and the software's author, the holder of the
17 # economic rights, and the successive licensors have only limited
20 # The fact that you are presently reading this means that you have had
21 # knowledge of the CeCILL-B license and that you accept its terms.
22 # ------------------------------------------------------------------------
25 #-----------------------------------------------------------------------------
26 # CPACK+NSIS PACKAGING
27 #-----------------------------------------------------------------------------
29 #---Documentation-------------
30 #http://www.cmake.org/Wiki/CMake:Packaging_With_CPack
31 #http://www.cmake.org/Wiki/CMake:CPackConfiguration
32 #http://www.cmake.org/Wiki/CMake:Install_Commands
34 INCLUDE(InstallRequiredSystemLibraries)
36 SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_NAME} - CREATIS")
37 SET(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}-${CREATOOLS_BUILDTYPE}")
38 SET(CPACK_PACKAGE_VENDOR "CREATIS")
39 SET(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/README.txt")
40 SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.txt")
41 SET(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_MAJOR_VERSION})
42 SET(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_MINOR_VERSION})
43 SET(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_BUILD_VERSION})
46 # SET(CPACK_SYSTEM_NAME ${CREATOOLS_PLATFORM})
47 SET(CPACK_NSIS_INSTALL_ROOT $ENV{ProgramFiles})
49 # SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CreaTools\\\\${PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
50 SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CreaTools\\\\CreaTools-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
52 SET(CMAKE_INSTALL_PREFIX C:/CreaTools/CeaTools)
57 IF(WIN32 AND NOT UNIX)
58 # There is a bug in NSI that does not handle full unix paths properly. Make
59 # sure there is at least one set of four (4) backlasshes.
60 #EED SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/kernel/install/gnome/bbi-icon2.bmp")
61 # SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin/BBI_EXE.exe")
63 SET(CPACK_NSIS_DISPLAY_NAME "${PROJECT_NAME}")
64 SET(CPACK_NSIS_HELP_LINK "http://www.creatis.insa-lyon.fr/creatools/${PROJECT_NAME}")
65 SET(CPACK_NSIS_URL_INFO_ABOUT "http://www.creatis.insa-lyon.fr/creatools/${PROJECT_NAME}")
66 SET(CPACK_NSIS_CONTACT "info-dev@creatis.insa-lyon.fr")
67 SET(CPACK_NSIS_MODIFY_PATH OFF)
68 SET(CPACK_INNOSETUP_ARCHITECTURE "x64")
70 set (MessageCreatoolsPath "CREATOOLS_SOURCE_PATH (bbtk, crea, creaMaracasVisu, ...)")
71 set (CREATOOLS_SOURCE_PATH "" CACHE PATH ${MessageCreatoolsPath} )
72 set (CREATOOLS_DESTINATION_PATH ".")
74 # set (CREA_THIRDPARTY_DLLS crea_ThirdParty_dlls-3.0.0)
75 # set (CREA_THIRDPARTY_LIBRARIES crea_ThirdParty_Libraries-3.0.0)
78 set (CREA_MARACASVISU creaMaracasVisu)
79 set (CREA_VTK creaVtk)
80 set (CREA_IMAGEIO creaImageIO)
81 set (CREA_CONTOURS creaContours)
82 set (CREA_ENVIRIONMENT creaEnvironment)
83 set (CREA_RECALAGE creaRigidRegistration)
84 set (CREA_BRUKER creaBruker)
85 set (CREA_BBTKGEDITOR bbtkGEditor)
86 set (CREA_MINITOOLS creaMiniTools)
87 # set (CREA_IRM creaIRM-1.0.1)
89 # set (CREA_BOOST_LYBRARY "boost-1.40.0")
90 # set (CREA_GDCM_LYBRARY "gdcm110909")
91 # set (CREA_ITK_LYBRARY "itk-3.14.0")
92 # set (CREA_QT_LYBRARY "Qt4.5.2")
93 # set (CREA_VTK_LYBRARY "vtk-5.4.2")
94 # set (CREA_WXWIN_LYBRARY "wxWidgets-2.8.10")
97 IF(NOT CREATOOLS_SOURCE_PATH)
98 MESSAGE(FATAL_ERROR "${MessageCreatoolsPath} not found")
99 ENDIF(NOT CREATOOLS_SOURCE_PATH)
102 # SET(TTH_DIRBIN "$INSTDIR\\\\bin\\\\tth")
103 # SET(MIKTEX_INSTALL_DIRBIN "$INSTDIR\\\\bin\\\\MikTex-2.7\\\\miktex\\\\bin")
104 SET(CREATOOLS_DIRBIN "$INSTDIR\\\\bin")
105 SET(CREA_DLLS_DIRBIN "$INSTDIR\\\\bin")
106 SET(CREA_BASE_DIRBIN "$INSTDIR\\\\${CREA_BASE}\\\\bin")
107 SET(CREA_BBTK_DIRBIN "$INSTDIR\\\\${CREA_BBTK}\\\\bin")
108 SET(CREA_MARACASVISU_DIRBIN "$INSTDIR\\\\${CREA_MARACASVISU}\\\\bin")
109 SET(CREA_VTK_DIRBIN "$INSTDIR\\\\${CREA_VTK}\\\\bin")
110 SET(CREA_IMAGEIO_DIRBIN "$INSTDIR\\\\${CREA_IMAGEIO}\\\\bin")
111 SET(CREA_CONTOURS_DIRBIN "$INSTDIR\\\\${CREA_CONTOURS}\\\\bin")
112 SET(CREA_ENVIRIONMENT_DIRBIN "$INSTDIR\\\\${CREA_ENVIRIONMENT}\\\\bin")
113 SET(CREA_RECALAGE_DIRBIN "$INSTDIR\\\\${CREA_RECALAGE}\\\\bin")
114 SET(CREA_BBTKGEDITOR_DIRBIN "$INSTDIR\\\\${CREA_BBTKGEDITOR}\\\\bin")
116 ### SET(CREATOOLS_DIRS "${CREA_DLLS_DIRBIN};${MIKTEX_INSTALL_DIRBIN}")
117 SET(CREATOOLS_DIRS "${CREATOOLS_DIRBIN}")
120 SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
122 !define Install_ReadEnvStr_RegKey 'HKCU \\\"Environment\\\"'
123 ReadRegStr $0 \\\${Install_ReadEnvStr_RegKey} 'PATH'
126 Push '%CREATOOLS_DIRS%'
129 StrCmp $2 '' '' AddToPath_doneEED
130 StrCpy $0 \\\"$0;%CREATOOLS_DIRS%\\\"
131 WriteRegExpandStr \\\${Install_ReadEnvStr_RegKey} 'PATH' $0
134 CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Version.txt.lnk' '${CREATOOLS_DIRBIN}\\\\..\\\\Version.txt'
136 SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000
138 CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\CreaTools_HomePage.lnk' '${CREATOOLS_DIRBIN}\\\\start.bat' 'www.creatis.insa-lyon.fr/site7/creatools'
139 CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\CreaTools.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbi.exe bbs\\\\creaMiniTools\\\\appli\\\\minitoolsMenu.bbs'
141 # CreateDirectory '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Developer_Tools'
142 # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Developer_Tools\\\\creaNewProject.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'creaNewProject.exe'
143 # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Developer_Tools\\\\bbStudio.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbStudio.exe'
144 # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Developer_Tools\\\\bbEditor.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbEditor.exe'
145 # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Developer_Tools\\\\bbi.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbi.exe'
146 # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Developer_Tools\\\\Readme.txt.lnk' '${CREATOOLS_DIRBIN}\\\\start.bat' 'bin\\\\data\\\\README_DeveloperTools.txt'
147 # CreateDirectory '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos'
148 # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos\\\\Filter01.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbi.exe demo\\\\appli\\\\demoFiltering1.bbs'
149 # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos\\\\Viewing01.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbi.exe demo\\\\appli\\\\demoViewing1.bbs'
150 # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos\\\\ShowNPoints.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbi.exe bbs\\\\creaMaracasVisu\\\\appli\\\\ExampleShowNPoints.bbs'
151 # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos\\\\Readme.txt.lnk' '${CREATOOLS_DIRBIN}\\\\start.bat' 'bin\\\\data\\\\README_Demos.txt'
152 # CreateDirectory '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Image_Tools'
153 # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Image_Tools\\\\RigidRegistration.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbi.exe bbs\\\\PackRecalage\\\\appli\\\\Recalage.bbs'
154 # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Image_Tools\\\\RenderingViewing.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbi.exe bbs\\\\creaMaracasVisu\\\\appli\\\\ExampleRenderingViewer.bbs'
155 # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Image_Tools\\\\Contours.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'creaContourApp.exe'
156 # CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Image_Tools\\\\Readme.txt.lnk' '${CREATOOLS_DIRBIN}\\\\start.bat' 'bin\\\\data\\\\README_ImageTools.txt'
158 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'CREATOOLS_DIRS' '${CREATOOLS_DIRS}'
160 SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000
162 SetShellVarContext current
163 StrCpy $R0 \\\"$DOCUMENTS\\\\..\\\\.bbtk\\\\doc\\\"
168 SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "
171 !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
172 Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\CreaTools_HomePage.lnk'
173 Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\ creaTools.lnk'
174 Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Version.txt.lnk'
175 Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Update_CreaTools.lnk'
177 # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Developer_Tools\\\\creaNewProject.lnk'
178 # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Developer_Tools\\\\bbStudio.lnk'
179 # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Developer_Tools\\\\bbEditor.lnk'
180 # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Developer_Tools\\\\bbi.lnk'
181 # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Developer_Tools\\\\Readme.txt.lnk'
183 # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Demos\\\\Filter01.lnk'
184 # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Demos\\\\Viewing01.lnk'
185 # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Demos\\\\ShowNPoints.lnk'
186 # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Demos\\\\Readme.txt.lnk'
188 # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Image_Tools\\\\RigidRegistration.lnk'
189 # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Image_Tools\\\\RenderingViewing.lnk'
190 # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Image_Tools\\\\Contours.lnk'
191 # Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Image_Tools\\\\Readme.txt.lnk'
193 StrCpy $MUI_TEMP '$SMPROGRAMS\\\\$MUI_TEMP'
196 !define Uninstall_EnvStr_RegKey 'HKLM \\\"SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment\\\"'
197 WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'CREATOOLS_DIRS' ''
198 SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000
200 SetShellVarContext current
201 StrCpy $R0 \\\"$DOCUMENTS\\\\..\\\\.bbtk\\\\doc\\\"
210 ELSE(WIN32 AND NOT UNIX)
211 SET(CPACK_STRIP_FILES "${CREA_BBTK}\\\\ubs.bat;kkk.rrr")
212 SET(CPACK_SOURCE_STRIP_FILES "")
213 ENDIF(WIN32 AND NOT UNIX)
216 #SET(CPACK_PACKAGE_EXECUTABLES "bbStudio" "creatisStudio"
217 # "bbi" "creatisInterpreter"
218 # "IRMMain" "creatisCartography"
219 # "creaNewProject" "creatisNewProyect" )
224 message("-------------------------------- "${CREATOOLS_SOURCE_PATH})
226 # Aditional INSTALL for CPACK mecanism.
229 #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_THIRDPARTY_DLLS}\\\\bin/ DESTINATION "${CREATOOLS_DESTINATION_PATH}/bin" )
230 #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_THIRDPARTY_LIBRARIES}\\\\Library/ DESTINATION ${CREATOOLS_DESTINATION_PATH} )
232 INSTALL(FILES ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/Version.txt DESTINATION . )
234 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/bin/ DESTINATION bin )
235 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/data/ DESTINATION bin/data )
236 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} )
237 #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_BASE}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} )
238 #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_BBTK}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} )
239 #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_MARACASVISU}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} )
240 #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_VTK}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} )
241 #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_IMAGEIO}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} )
242 #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_CONTOURS}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} )
243 #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_ENVIRIONMENT}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} )
244 #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_RECALAGE}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} )
245 #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_BRUKER}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} )
246 #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_BBTKGEDITOR}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} )
247 #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_MINITOOLS}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} )
248 #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_IRM}/ DESTINATION ${CREATOOLS_DESTINATION_PATH} )
253 install( FILES ${PROJECT_BINARY_DIR}/Version.sh DESTINATION share/creatools )
254 install( FILES ${PROJECT_BINARY_DIR}/Version.txt DESTINATION share/creatools )