]> Creatis software - creaToolsTools.git/blob - Install_ThirdParty/cmake/crea_ThirdParty_Libraries/install/CMakeLists.txt
#3200 creaToolsTools Feature New Normal branch mingw64
[creaToolsTools.git] / Install_ThirdParty / cmake / crea_ThirdParty_Libraries / 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_NAME "${CMAKE_PROJECT_NAME}-${CREATOOLS_BUILDTYPE}")
20 SET(CPACK_PACKAGE_VENDOR "CREATIS")
21 SET(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/README.txt")
22 SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.txt")
23 SET(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_MAJOR_VERSION})
24 SET(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_MINOR_VERSION})
25 SET(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_BUILD_VERSION})
26
27   SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CreaTools\\\\${PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
28   IF(WIN32)
29     SET(CMAKE_INSTALL_PREFIX C:/CreaTools/${PROJECT_NAME})
30   ENDIF(WIN32)
31
32 IF(WIN32 AND NOT UNIX)
33   # There is a bug in NSI that does not handle full unix paths properly. Make
34   # sure there is at least one set of four (4) backlasshes.
35 #EED  SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/kernel/install/gnome/bbi-icon2.bmp")
36 #  SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin/BBI_EXE.exe")
37   SET(CPACK_NSIS_DISPLAY_NAME "${PROJECT_NAME}")
38   SET(CPACK_NSIS_HELP_LINK "http://www.creatis.insa-lyon.fr/creatools/${PROJECT_NAME}")
39   SET(CPACK_NSIS_URL_INFO_ABOUT "http://www.creatis.insa-lyon.fr/creatools/${PROJECT_NAME}")
40   SET(CPACK_NSIS_CONTACT "info-dev@creatis.insa-lyon.fr")
41   SET(CPACK_NSIS_MODIFY_PATH OFF)
42
43   set  (CREA_BOOST_LYBRARY      boost)
44   set  (CREA_GDCM_LYBRARY       gdcm13 )
45   set  (CREA_ITK_LYBRARY        itk )
46   set  (CREA_QT_LYBRARY         qt )
47   set  (CREA_VTK_LYBRARY        vtk )  
48   set  (CREA_WXWIN_LYBRARY      wxWidgets)
49   set  (CREA_XERCES_LYBRARY     xerces)
50   set  (CREA_SQLITE_LYBRARY     sqlite)
51   #DFCH -- set  (CREA_MIKATEX_LYBRARY miktex)
52   
53   #set  (CREA_KWWIDGETS_LYBRARY   KWWidgets-090109 )
54   
55   set  (MessageLibraryPath "CREA_LIBRARY_DESTINATION_PATH (itk,vtk,gdcm,wx,KWWidgets,tth,MikTex)")
56   set  (CREA_LIBRARY_SOURCE_PATH  "" CACHE PATH ${MessageLibraryPath} )
57   set  (CREA_LIBRARY_DESTINATION_PATH "Library")
58   set  (CREA_BIN_DESTINATION_PATH "bin")
59   
60   IF(NOT CREA_LIBRARY_SOURCE_PATH)
61     MESSAGE(FATAL_ERROR "${MessageLibraryPath}  not found")
62   ENDIF(NOT CREA_LIBRARY_SOURCE_PATH)
63   
64 ELSE(WIN32 AND NOT UNIX)
65 #  SET(CPACK_STRIP_FILES "bin/bbi")
66   SET(CPACK_SOURCE_STRIP_FILES "")
67 ENDIF(WIN32 AND NOT UNIX)
68 #SET(CPACK_PACKAGE_EXECUTABLES "TestWxGimmickDialog" "Gimmick!")
69   
70 # Aditional INSTALL for CPACK mecanism.
71 IF (WIN32)
72         # tth
73         FILE(GLOB LST_FILE_TTH "${CREA_LIBRARY_SOURCE_PATH}/tth/*.*")
74         FOREACH( iLST  ${LST_FILE_TTH} )
75            INSTALL( 
76                  FILES ${iLST}
77                  DESTINATION bin/tth/
78            )
79         ENDFOREACH(iLST)        
80          #DFCH -- INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_MIKATEX_LYBRARY}      DESTINATION ${CREA_BIN_DESTINATION_PATH} )
81         INSTALL(FILES ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/Version.txt DESTINATION . )
82         INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_BOOST_LYBRARY}  DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
83         INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_GDCM_LYBRARY}   DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
84         INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_ITK_LYBRARY}    DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
85         INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_QT_LYBRARY}             DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
86         INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_VTK_LYBRARY}    DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
87         INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_WXWIN_LYBRARY}  DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
88         INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_XERCES_LYBRARY} DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
89         INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_SQLITE_LYBRARY} DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
90
91          #DFCH -- SET(MIKTEX_INSTALL_DIR "$INSTDIR\\\\bin\\\\MiKTeX-2.9\\\\miktex\\\\bin")
92          #DFCH -- SET(CREATIS_THIRDPARTYLIBRARIES_DIRS ";${MIKTEX_INSTALL_DIR}")
93          SET(CREATPL_DIRBIN "$INSTDIR")
94          SET(CREATIS_THIRDPARTYLIBRARIES_DIRS ";") #DFCH
95
96         SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS  "        
97                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'TTH' '$INSTDIR\\\\bin\\\\tth' 
98
99                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'CREATIS_THIRDPARTYLIBRARIES_DIRS' '${CREATIS_THIRDPARTYLIBRARIES_DIRS}' 
100                 !define Install_ReadEnvStr_RegKey 'HKCU \\\"Environment\\\"'
101                 ReadRegStr $0 \\\${Install_ReadEnvStr_RegKey} 'PATH'            
102                 Push '$0;'
103                 Push '%CREATIS_THIRDPARTYLIBRARIES_DIRS%'
104                 Call StrStr
105                 Pop $2
106                 StrCmp $2 '' '' AddToPath_doneEED
107         StrCpy $0 \\\"$0;%CREATIS_THIRDPARTYLIBRARIES_DIRS%\\\"
108         WriteRegExpandStr \\\${Install_ReadEnvStr_RegKey} 'PATH' $0
109                 
110                 AddToPath_doneEED:
111                 
112                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'BOOST_ROOT' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_BOOST_LYBRARY}' 
113                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'GDCM_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_GDCM_LYBRARY}\\\\lib\\\\gdcm' 
114                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'ITK_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_ITK_LYBRARY}\\\\lib\\\\InsightToolkit' 
115                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'QTDIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_QT_LYBRARY}' 
116                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'VTK_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_VTK_LYBRARY}\\\\lib\\\\vtk-5.10' 
117                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'WXWIN' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_WXWIN_LYBRARY}' 
118                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'XERCES_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_XERCES_LYBRARY}' 
119                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'SQLITE_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_SQLITE_LYBRARY}' 
120                 #WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'KWWidgets_dir' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_KWWIDGETS_LYBRARY}\\\\lib\\\\KWWidgets' 
121
122                 CreateShortCut  '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Version.txt.lnk'  '${CREATPL_DIRBIN}\\\\Version.txt' 
123                 
124                 SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 
125         ")
126
127         SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS  "
128         
129                             !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
130                         Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Version.txt.lnk'
131                         
132                         StrCpy $MUI_TEMP '$SMPROGRAMS\\\\$MUI_TEMP'
133                         RMDir /r $MUI_TEMP
134
135                         !define Uninstall_EnvStr_RegKey 'HKLM \\\"SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment\\\"'                 
136                         WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'CREATIS_THIRDPARTYLIBRARIES_DIRS' ''           
137                         SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 
138                 ")
139     INCLUDE(CPack)      
140 ENDIF (WIN32)
141
142
143