]> Creatis software - creaTools.git/blob - install/CMakeLists.txt
*** empty log message ***
[creaTools.git] / install / CMakeLists.txt
1
2
3
4
5
6 #-----------------------------------------------------------------------------
7 # CPACK+NSIS PACKAGING
8 #-----------------------------------------------------------------------------
9
10 #---Documentation-------------
11 #http://www.cmake.org/Wiki/CMake:Packaging_With_CPack
12 #http://www.cmake.org/Wiki/CMake:CPackConfiguration
13 #http://www.cmake.org/Wiki/CMake:Install_Commands
14
15
16 INCLUDE(InstallRequiredSystemLibraries)
17
18 SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_NAME} - CREATIS")
19 SET(CPACK_PACKAGE_VENDOR "CREATIS")
20 SET(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/README.txt")
21 SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.txt")
22 SET(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_MAJOR_VERSION})
23 SET(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_MINOR_VERSION})
24 SET(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_BUILD_VERSION})
25
26
27
28
29
30 #  SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CreaTools\\\\${PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
31   SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CreaTools-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
32   IF(WIN32)
33     SET(CMAKE_INSTALL_PREFIX C:/CreaTools/creatools_Installer_NormalUser)
34   ENDIF(WIN32)
35
36
37
38
39
40 IF(WIN32 AND NOT UNIX)
41   # There is a bug in NSI that does not handle full unix paths properly. Make
42   # sure there is at least one set of four (4) backlasshes.
43 #EED  SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/kernel/install/gnome/bbi-icon2.bmp")
44 #  SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin/BBI_EXE.exe")
45   SET(CPACK_NSIS_DISPLAY_NAME "creatools_Installer_NormalUser")
46   SET(CPACK_NSIS_HELP_LINK "http://www.creatis.insa-lyon.fr/creatools/${PROJECT_NAME}")
47   SET(CPACK_NSIS_URL_INFO_ABOUT "http://www.creatis.insa-lyon.fr/creatools/${PROJECT_NAME}")
48   SET(CPACK_NSIS_CONTACT "info-dev@creatis.insa-lyon.fr")
49   SET(CPACK_NSIS_MODIFY_PATH OFF)
50       
51   set  (MessageCreatoolsPath "CREATOOLS_SOURCE_PATH (bbtk, crea, creaMaracasVisu, ...)")
52   set  (CREATOOLS_SOURCE_PATH  "" CACHE PATH ${MessageCreatoolsPath} )
53   set  (CREATOOLS_DESTINATION_PATH ".")
54
55 #  set  (CREA_THIRDPARTY_DLLS           crea_ThirdParty_dlls-3.0.0)
56 #  set  (CREA_THIRDPARTY_LIBRARIES      crea_ThirdParty_Libraries-3.0.0)
57   set  (CREA_BASE                                       crea)
58   set  (CREA_BBTK                                       bbtk)
59   set  (CREA_MARACASVISU                        creaMaracasVisu)
60   set  (CREA_IMAGEIO                            creaImageIO)
61   set  (CREA_CONTOURS                           creaContours)
62   set  (CREA_ENVIRIONMENT                       creaEnvironment)
63   set  (CREA_RECALAGE                           creaRigidRegistration)
64   set  (CREA_BRUKER                                     creaBruker)
65   set  (CREA_BBTKGEDITOR                        bbtkGEditor)
66   set  (CREA_MINITOOLS                          creaMiniTools)
67 #  set  (CREA_IRM                                       creaIRM-1.0.1)
68   
69 #  set  (CREA_BOOST_LYBRARY     "boost-1.40.0")
70 #  set  (CREA_GDCM_LYBRARY      "gdcm110909")
71 #  set  (CREA_ITK_LYBRARY       "itk-3.14.0")
72 #  set  (CREA_QT_LYBRARY        "Qt4.5.2")
73 #  set  (CREA_VTK_LYBRARY       "vtk-5.4.2")  
74 #  set  (CREA_WXWIN_LYBRARY     "wxWidgets-2.8.10")  
75
76   
77   IF(NOT CREATOOLS_SOURCE_PATH)
78     MESSAGE(FATAL_ERROR "${MessageCreatoolsPath}  not found")
79   ENDIF(NOT CREATOOLS_SOURCE_PATH)
80   
81         
82 #       SET(TTH_DIRBIN                                  "$INSTDIR\\\\bin\\\\tth")
83 #       SET(MIKTEX_INSTALL_DIRBIN               "$INSTDIR\\\\bin\\\\MikTex-2.7\\\\miktex\\\\bin")
84         SET(CREATOOLS_DIRBIN                    "$INSTDIR\\\\bin")
85         SET(CREA_DLLS_DIRBIN                    "$INSTDIR\\\\bin")
86         SET(CREA_BASE_DIRBIN                    "$INSTDIR\\\\${CREA_BASE}\\\\bin")
87         SET(CREA_BBTK_DIRBIN                    "$INSTDIR\\\\${CREA_BBTK}\\\\bin")
88         SET(CREA_MARACASVISU_DIRBIN     "$INSTDIR\\\\${CREA_MARACASVISU}\\\\bin")
89         SET(CREA_IMAGEIO_DIRBIN                 "$INSTDIR\\\\${CREA_IMAGEIO}\\\\bin")
90         SET(CREA_CONTOURS_DIRBIN                "$INSTDIR\\\\${CREA_CONTOURS}\\\\bin")
91         SET(CREA_ENVIRIONMENT_DIRBIN    "$INSTDIR\\\\${CREA_ENVIRIONMENT}\\\\bin")
92         SET(CREA_RECALAGE_DIRBIN                "$INSTDIR\\\\${CREA_RECALAGE}\\\\bin")
93         SET(CREA_BBTKGEDITOR_DIRBIN             "$INSTDIR\\\\${CREA_BBTKGEDITOR}\\\\bin")
94         
95 ###     SET(CREATOOLS_DIRS "${CREA_DLLS_DIRBIN};${MIKTEX_INSTALL_DIRBIN}")  
96         SET(CREATOOLS_DIRS "${CREATOOLS_DIRBIN}")
97   
98   
99    SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS  "
100    
101            !define Install_ReadEnvStr_RegKey 'HKCU \\\"Environment\\\"'
102                 ReadRegStr $0 \\\${Install_ReadEnvStr_RegKey} 'PATH'
103                 
104                 Push '$0;'
105                 Push '%CREATOOLS_DIRS%'
106                 Call StrStr
107                 Pop $2
108                 StrCmp $2 '' '' AddToPath_doneEED
109         StrCpy $0 \\\"$0;%CREATOOLS_DIRS%\\\"
110         WriteRegExpandStr \\\${Install_ReadEnvStr_RegKey} 'PATH' $0
111                 
112                 AddToPath_doneEED:
113                 SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 
114
115                 CreateShortCut  '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\creaTools_HomePage.lnk' '${CREATOOLS_DIRBIN}\\\\start.bat'  'www.creatis.insa-lyon.fr/site/creatools'
116                 CreateShortCut  '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\creaTools.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat'  'bbi.exe bbs\\\\creaMiniTools\\\\appli\\\\minitoolsMenu.bbs'
117
118 #               CreateDirectory '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Developer_Tools'
119 #               CreateShortCut  '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Developer_Tools\\\\creaNewProject.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat'  'creaNewProject.exe'
120 #               CreateShortCut  '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Developer_Tools\\\\bbStudio.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat'  'bbStudio.exe'
121 #               CreateShortCut  '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Developer_Tools\\\\bbEditor.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat'  'bbEditor.exe'
122 #               CreateShortCut  '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Developer_Tools\\\\bbi.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat'  'bbi.exe'
123 #               CreateShortCut  '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Developer_Tools\\\\Readme.txt.lnk' '${CREATOOLS_DIRBIN}\\\\start.bat'  'bin\\\\data\\\\README_DeveloperTools.txt'
124 #               CreateDirectory '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos'
125 #               CreateShortCut  '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos\\\\Filter01.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat'  'bbi.exe demo\\\\appli\\\\demoFiltering1.bbs'
126 #               CreateShortCut  '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos\\\\Viewing01.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbi.exe demo\\\\appli\\\\demoViewing1.bbs'
127 #               CreateShortCut  '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos\\\\ShowNPoints.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat' 'bbi.exe bbs\\\\creaMaracasVisu\\\\appli\\\\ExampleShowNPoints.bbs'
128 #               CreateShortCut  '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos\\\\Readme.txt.lnk' '${CREATOOLS_DIRBIN}\\\\start.bat'  'bin\\\\data\\\\README_Demos.txt'
129 #               CreateDirectory '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Image_Tools'
130 #               CreateShortCut  '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Image_Tools\\\\RigidRegistration.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat'  'bbi.exe bbs\\\\PackRecalage\\\\appli\\\\Recalage.bbs'
131 #               CreateShortCut  '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Image_Tools\\\\RenderingViewing.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat'  'bbi.exe bbs\\\\creaMaracasVisu\\\\appli\\\\ExampleRenderingViewer.bbs'
132 #               CreateShortCut  '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Image_Tools\\\\Contours.lnk' '${CREATOOLS_DIRBIN}\\\\creatis_AppGeneralPath.bat'  'creaContourApp.exe'
133 #               CreateShortCut  '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Image_Tools\\\\Readme.txt.lnk' '${CREATOOLS_DIRBIN}\\\\start.bat'  'bin\\\\data\\\\README_ImageTools.txt'
134
135                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'CREATOOLS_DIRS' '${CREATOOLS_DIRS}'
136                                 
137                 SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000        
138                 
139                 SetShellVarContext current
140                 StrCpy $R0 \\\"$DOCUMENTS\\\\..\\\\.bbtk\\\\doc\\\"
141                 RMDir /r $R0
142
143    ")
144                 
145         SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS  "
146         
147         
148                 !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
149                 Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\CreaTools_HomePage.lnk'
150                 Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\ creaTools.lnk'
151                 
152 #               Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Developer_Tools\\\\creaNewProject.lnk'
153 #               Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Developer_Tools\\\\bbStudio.lnk'
154 #               Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Developer_Tools\\\\bbEditor.lnk'
155 #               Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Developer_Tools\\\\bbi.lnk'
156 #               Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Developer_Tools\\\\Readme.txt.lnk'
157                 
158 #               Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Demos\\\\Filter01.lnk'
159 #               Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Demos\\\\Viewing01.lnk'
160 #               Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Demos\\\\ShowNPoints.lnk'
161 #               Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Demos\\\\Readme.txt.lnk'
162
163 #               Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Image_Tools\\\\RigidRegistration.lnk'
164 #               Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Image_Tools\\\\RenderingViewing.lnk'
165 #               Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Image_Tools\\\\Contours.lnk'
166 #               Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Image_Tools\\\\Readme.txt.lnk'
167
168         StrCpy $MUI_TEMP '$SMPROGRAMS\\\\$MUI_TEMP'
169                 RMDir /r $MUI_TEMP
170                 
171                 !define Uninstall_EnvStr_RegKey 'HKLM \\\"SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment\\\"'                 
172                 WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'CREATOOLS_DIRS' ''             
173                 SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 
174                 
175                 SetShellVarContext current
176                 StrCpy $R0 \\\"$DOCUMENTS\\\\..\\\\.bbtk\\\\doc\\\"
177                 RMDir /r $R0
178                 
179         ")
180    
181    
182    
183
184
185 ELSE(WIN32 AND NOT UNIX)
186   SET(CPACK_STRIP_FILES "${CREA_BBTK}\\\\ubs.bat;kkk.rrr")
187   SET(CPACK_SOURCE_STRIP_FILES "")
188 ENDIF(WIN32 AND NOT UNIX)
189
190 #EED 20 Nov 2009
191 #SET(CPACK_PACKAGE_EXECUTABLES "bbStudio" "creatisStudio"
192 #                                                         "bbi" "creatisInterpreter"
193 #                                                         "IRMMain" "creatisCartography"
194 #                                                         "creaNewProject" "creatisNewProyect" )
195
196
197 INCLUDE(CPack)
198
199
200 # Aditional INSTALL for CPACK mecanism.
201 IF (WIN32)
202
203 #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_THIRDPARTY_DLLS}\\\\bin/                  DESTINATION "${CREATOOLS_DESTINATION_PATH}/bin" )
204 #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_THIRDPARTY_LIBRARIES}\\\\Library/         DESTINATION ${CREATOOLS_DESTINATION_PATH} )
205
206 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/bin/                                                    DESTINATION bin  )
207 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/data/                                                   DESTINATION bin/data  )
208 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_BASE}/                     DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
209 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_BBTK}/                     DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
210 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_IMAGEIO}/                  DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
211 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_MARACASVISU}/              DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
212 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_CONTOURS}/                 DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
213 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_ENVIRIONMENT}/     DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
214 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_RECALAGE}/                 DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
215 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_BRUKER}/                   DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
216 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_BBTKGEDITOR}/              DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
217 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_MINITOOLS}/                DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
218 #INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_IRM}/                     DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
219 ENDIF (WIN32)
220
221
222