]> Creatis software - crea_ThirdParty_Libraries.git/blob - install/CMakeLists.txt
59cfe13a4e02e37b4c49a0656797d24eac8aaf82
[crea_ThirdParty_Libraries.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
31   SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CreaTools\\\\${PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
32   IF(WIN32)
33     SET(CMAKE_INSTALL_PREFIX C:/CreaTools/${PROJECT_NAME})
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 "${PROJECT_NAME}")
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
52   set  (CREA_BOOST_LYBRARY      boost-1.40.0)
53   set  (CREA_GDCM_LYBRARY       gdcm13 )
54   set  (CREA_ITK_LYBRARY        itk-3.16.0 )
55   set  (CREA_QT_LYBRARY         Qt4.5.2 )
56   set  (CREA_VTK_LYBRARY        vtk-5.4.2 )  
57   set  (CREA_WXWIN_LYBRARY      wxWidgets-2.8.10)
58   set  (CREA_XERCES_LYBRARY     xerces-c-3.1.0)
59   
60   #set  (CREA_KWWIDGETS_LYBRARY   KWWidgets-090109 )
61   
62   set  (MessageLibraryPath "CREA_LIBRARY_DESTINATION_PATH (itk,vtk,gdcm,wx,KWWidgets,tth,MikTex)")
63   set  (CREA_LIBRARY_SOURCE_PATH  "" CACHE PATH ${MessageLibraryPath} )
64   set  (CREA_LIBRARY_DESTINATION_PATH "Library")
65
66   
67   IF(NOT CREA_LIBRARY_SOURCE_PATH)
68     MESSAGE(FATAL_ERROR "${MessageLibraryPath}  not found")
69   ENDIF(NOT CREA_LIBRARY_SOURCE_PATH)
70   
71   
72
73 ELSE(WIN32 AND NOT UNIX)
74 #  SET(CPACK_STRIP_FILES "bin/bbi")
75   SET(CPACK_SOURCE_STRIP_FILES "")
76 ENDIF(WIN32 AND NOT UNIX)
77 #SET(CPACK_PACKAGE_EXECUTABLES "TestWxGimmickDialog" "Gimmick!")
78   
79   
80
81 # Aditional INSTALL for CPACK mecanism.
82 IF (WIN32)
83
84         # tth
85         FILE(GLOB LST_FILE_TTH "${CREA_LIBRARY_SOURCE_PATH}/tth/*.*")
86         FOREACH( iLST  ${LST_FILE_TTH} )
87            INSTALL( 
88                  FILES ${iLST}
89                  DESTINATION bin/tth/
90            )
91         ENDFOREACH(iLST)        
92         # MikTex
93         SET(MIKTEXDIR "${CREA_LIBRARY_SOURCE_PATH}/MikTex-2.7/")        
94         INSTALL( 
95                 DIRECTORY ${MIKTEXDIR}
96                 DESTINATION bin/MikTex-2.7
97         )                               
98
99         INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_BOOST_LYBRARY}  DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
100         INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_GDCM_LYBRARY}   DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
101         INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_ITK_LYBRARY}    DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
102         INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_QT_LYBRARY}             DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
103         INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_VTK_LYBRARY}    DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
104         INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_WXWIN_LYBRARY}  DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
105         INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_XERCES_LYBRARY} DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
106
107         
108         SET(MIKTEX_INSTALL_DIR "$INSTDIR\\\\bin\\\\MikTex-2.7\\\\miktex\\\\bin")
109         SET(CREATIS_THIRDPARTYLIBRARIES_DIRS ";${MIKTEX_INSTALL_DIR}")
110
111         SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS  "        
112                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'TTH' '$INSTDIR\\\\bin\\\\tth' 
113
114                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'CREATIS_THIRDPARTYLIBRARIES_DIRS' '${CREATIS_THIRDPARTYLIBRARIES_DIRS}' 
115                 !define Install_ReadEnvStr_RegKey 'HKCU \\\"Environment\\\"'
116                 ReadRegStr $0 \\\${Install_ReadEnvStr_RegKey} 'PATH'            
117                 Push '$0;'
118                 Push '%CREATIS_THIRDPARTYLIBRARIES_DIRS%'
119                 Call StrStr
120                 Pop $2
121                 StrCmp $2 '' '' AddToPath_doneEED
122         StrCpy $0 \\\"$0;%CREATIS_THIRDPARTYLIBRARIES_DIRS%\\\"
123         WriteRegExpandStr \\\${Install_ReadEnvStr_RegKey} 'PATH' $0
124                 
125                 AddToPath_doneEED:
126                 
127                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'BOOST_ROOT' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_BOOST_LYBRARY}' 
128                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'GDCM_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_GDCM_LYBRARY}\\\\lib\\\\gdcm' 
129                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'ITK_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_ITK_LYBRARY}\\\\lib\\\\InsightToolkit' 
130                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'QTDIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_QT_LYBRARY}' 
131                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'VTK_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_VTK_LYBRARY}\\\\lib\\\\vtk-5.4' 
132                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'WXWIN' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_WXWIN_LYBRARY}' 
133                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'XERCES_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_XERCES_LYBRARY}' 
134                 #WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'KWWidgets_dir' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_KWWIDGETS_LYBRARY}\\\\lib\\\\KWWidgets' 
135
136                 SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 
137         ")
138                 
139                 
140         SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS  "
141                         !define Uninstall_EnvStr_RegKey 'HKLM \\\"SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment\\\"'                 
142                         WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'CREATIS_THIRDPARTYLIBRARIES_DIRS' ''           
143                         SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 
144                 ")
145         
146     INCLUDE(CPack)
147
148         
149 ENDIF (WIN32)
150
151
152