]> Creatis software - creaTools.git/blob - install/CMakeLists.txt
fe78a19d8f02f003192a5476b344ea5e7d431ec1
[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 (third_party, bbtk, crea, ...)")
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-0.3.1)
58   set  (CREA_BBTK                                       bbtk-0.9.3)
59   set  (CREA_MARACASVISU                        creaMaracasVisu-1.0.2)
60   set  (CREA_IMAGEIO                            creaImageIO-0.2.3)
61   set  (CREA_CONTOURS                           creaContours-1.2.2)
62   set  (CREA_ENVIRIONMENT                       creaEnvironment-1.0.1)
63   set  (CREA_RECALAGE                           CreaRecalage-1.0.0)
64   set  (CREA_BRUKER                                     creaBruker-1.0.0)
65   set  (CREA_IRM                                        creaIRM-1.0.1)
66   
67   set  (CREA_BOOST_LYBRARY      "boost-1.40.0")
68   set  (CREA_GDCM_LYBRARY       "gdcm110909")
69   set  (CREA_ITK_LYBRARY        "itk-3.14.0")
70   set  (CREA_QT_LYBRARY         "Qt4.5.2")
71   set  (CREA_VTK_LYBRARY        "vtk-5.4.2")  
72   set  (CREA_WXWIN_LYBRARY      "wxWidgets-2.8.10")  
73
74   
75   IF(NOT CREATOOLS_SOURCE_PATH)
76     MESSAGE(FATAL_ERROR "${MessageCreatoolsPath}  not found")
77   ENDIF(NOT CREATOOLS_SOURCE_PATH)
78   
79         
80         SET(MIKTEX_INSTALL_DIRBIN               "$INSTDIR\\\\bin\\\\MikTex-2.7\\\\miktex\\\\bin")
81         SET(CREA_DLLS_DIRBIN                    "$INSTDIR\\\\bin")
82         SET(CREA_BASE_DIRBIN                    "$INSTDIR\\\\${CREA_BASE}\\\\bin")
83         SET(CREA_BBTK_DIRBIN                    "$INSTDIR\\\\${CREA_BBTK}\\\\bin")
84         SET(CREA_MARACASVISU_DIRBIN     "$INSTDIR\\\\${CREA_MARACASVISU}\\\\bin")
85         SET(CREA_IMAGEIO_DIRBIN                 "$INSTDIR\\\\${CREA_IMAGEIO}\\\\bin")
86         SET(CREA_CONTOURS_DIRBIN                "$INSTDIR\\\\${CREA_CONTOURS}\\\\bin")
87         SET(CREA_ENVIRIONMENT_DIRBIN    "$INSTDIR\\\\${CREA_ENVIRIONMENT}\\\\bin")
88         SET(CREA_RECALAGE_DIRBIN                "$INSTDIR\\\\${CREA_RECALAGE}\\\\bin")
89         SET(CREATOOLS_DIRS ";${CREA_DLLS_DIRBIN};${MIKTEX_INSTALL_DIRBIN}")
90   
91         SET(TTH_DIRBIN                                  "$INSTDIR\\\\bin\\\\tth")
92   
93    SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS  "
94                 !define Install_ReadEnvStr_RegKey 'HKCU \\\"Environment\\\"'
95                 ReadRegStr $0 \\\${Install_ReadEnvStr_RegKey} 'PATH'
96                 StrCpy $0 \\\"$0;%CREATOOLS_DIRS%\\\"
97                 WriteRegExpandStr \\\${Install_ReadEnvStr_RegKey} 'PATH' $0
98    
99                 CreateDirectory '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos'
100                 CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos\\\\creatisFilter01.lnk' 'bbi.exe' demo\\\\appli\\\\demoFiltering1.bbs
101                 CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos\\\\creatisViewing01.lnk' 'bbi.exe' demo\\\\appli\\\\demoViewing1.bbs
102                 CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Demos\\\\creatisShowNPoints.lnk' 'bbi.exe' bbs\\\\creaMaracasVisu\\\\appli\\\\ExampleShowNPoints.bbs
103
104                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'CREATOOLS_DIRS' '${CREATOOLS_DIRS}'
105                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'TTH' '${TTH_DIRBIN}' 
106         
107                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'BOOST_ROOT' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_BOOST_LYBRARY}' 
108                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'GDCM_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_GDCM_LYBRARY}\\\\lib\\\\gdcm' 
109                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'ITK_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_ITK_LYBRARY}\\\\lib\\\\InsightToolkit' 
110                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'QTDIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_QT_LYBRARY}' 
111                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'VTK_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_VTK_LYBRARY}\\\\lib\\\\vtk-5.4' 
112                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'WXWIN' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_WXWIN_LYBRARY}' 
113                 
114                 SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 
115         
116    ")
117                 
118         SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS  "
119                 !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
120                 Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Demos\\\\creatisFilter01.lnk'
121                 Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Demos\\\\creatisViewing01.lnk'
122                 Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Demos\\\\creatisShowNPoints.lnk'
123         StrCpy $MUI_TEMP '$SMPROGRAMS\\\\$MUI_TEMP\\\\Demos'
124                 RMDir $MUI_TEMP
125
126                 !define Uninstall_EnvStr_RegKey 'HKLM \\\"SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment\\\"'                 
127                 WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'CREATOOLS_DIRS' ''             
128                 SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 
129         ")
130    
131    
132    
133
134
135 ELSE(WIN32 AND NOT UNIX)
136   SET(CPACK_STRIP_FILES "${CREA_BBTK}\\\\ubs.bat;kkk.rrr")
137   SET(CPACK_SOURCE_STRIP_FILES "")
138 ENDIF(WIN32 AND NOT UNIX)
139 SET(CPACK_PACKAGE_EXECUTABLES "${CREA_BBTK}\\\\bbStudio" "creatisStudio"
140                                                           "${CREA_BBTK}\\\\bbInterpreter" "creatisInterpreter"
141                                                           "${CREA_BBTK}\\\\IRMMain.exe" "creatisCartography"
142                                                           "${CREA_BBTK}\\\\crea-0.3.1\\\\bin\\\\creaNewProject.exe" "creatisNewProyect" )
143
144
145 INCLUDE(CPack)
146
147
148 # Aditional INSTALL for CPACK mecanism.
149 IF (WIN32)
150
151 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_THIRDPARTY_DLLS}\\\\bin/                   DESTINATION "${CREATOOLS_DESTINATION_PATH}/bin" )
152 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_THIRDPARTY_LIBRARIES}\\\\Library/  DESTINATION ${CREATOOLS_DESTINATION_PATH} )
153 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_BASE}                                                      DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
154 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_BBTK}/                                                     DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
155
156 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_IMAGEIO}/                                          DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
157 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_MARACASVISU}/                                              DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
158
159 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_CONTOURS}/                                                 DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
160 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_ENVIRIONMENT}/                                     DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
161 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_RECALAGE}/                                                 DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
162 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_BRUKER}/                                                   DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
163 INSTALL(DIRECTORY ${CREATOOLS_SOURCE_PATH}\\\\${CREA_IRM}/                                                      DESTINATION ${CREATOOLS_DESTINATION_PATH}  )
164 ENDIF (WIN32)
165
166
167