]> Creatis software - creaToolsTools.git/blob - Install_mingw64/Install_ThirdParty/cmake/crea_ThirdParty_dlls/install/CMakeLists.txt
#3200 creaToolsTools Feature New Normal branch mingw64
[creaToolsTools.git] / Install_mingw64 / Install_ThirdParty / cmake / crea_ThirdParty_dlls / install / CMakeLists.txt
1
2 #-----------------------------------------------------------------------------
3 # CPACK+NSIS PACKAGING
4 #-----------------------------------------------------------------------------
5
6 #---Documentation-------------
7 #http://www.cmake.org/Wiki/CMake:Packaging_With_CPack
8 #http://www.cmake.org/Wiki/CMake:CPackConfiguration
9 #http://www.cmake.org/Wiki/CMake:Install_Commands
10
11
12 INCLUDE(InstallRequiredSystemLibraries)
13
14 SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_NAME} - CREATIS")
15 SET(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}-${CREATOOLS_BUILDTYPE}")
16 SET(CPACK_PACKAGE_VENDOR "CREATIS")
17 SET(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/README.txt")
18 SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.txt")
19 SET(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_MAJOR_VERSION})
20 SET(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_MINOR_VERSION})
21 SET(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_BUILD_VERSION})
22
23
24 SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CreaTools\\\\${PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
25  IF(WIN32)
26    SET(CMAKE_INSTALL_PREFIX C:/CreaTools/crea_dlls_extern)
27  ENDIF(WIN32)
28
29
30 IF(WIN32 AND NOT UNIX)
31   # There is a bug in NSI that does not handle full unix paths properly. Make
32   # sure there is at least one set of four (4) backlasshes.
33 #EED  SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/kernel/install/gnome/bbi-icon2.bmp")
34 #  SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin/BBI_EXE.exe")
35   SET(CPACK_NSIS_DISPLAY_NAME "${PROJECT_NAME}")
36   SET(CPACK_NSIS_HELP_LINK "http://www.creatis.insa-lyon.fr/creatools/${PROJECT_NAME}")
37   SET(CPACK_NSIS_URL_INFO_ABOUT "http://www.creatis.insa-lyon.fr/creatools/${PROJECT_NAME}")
38   SET(CPACK_NSIS_CONTACT "info-dev@creatis.insa-lyon.fr")
39   SET(CPACK_NSIS_MODIFY_PATH OFF)
40   
41   set  (CREA_BOOST_LYBRARY      boost)
42   set  (CREA_GDCM_LYBRARY       gdcm13 )
43   set  (CREA_ITK_LYBRARY        itk )
44   set  (CREA_QT_LYBRARY         qt )
45   set  (CREA_VTK_LYBRARY        vtk )  
46   set  (CREA_WXWIN_LYBRARY      wxWidgets)
47   set  (CREA_XERCES_LYBRARY     xerces)
48   set  (CREA_SQLITE_LYBRARY     sqlite)  
49   set  (CREA_SQLITE_LYBRARY     tth)  
50   
51 ELSE(WIN32 AND NOT UNIX)
52 #  SET(CPACK_STRIP_FILES "bin/bbi")
53   SET(CPACK_SOURCE_STRIP_FILES "")
54 ENDIF(WIN32 AND NOT UNIX)
55 #SET(CPACK_PACKAGE_EXECUTABLES "TestWxGimmickDialog" "Gimmick!")
56
57 # Aditional INSTALL for CPACK mecanism.
58 IF(WIN32)
59         set  (MessageLibraryPath "CREA_LIBRARY_DLL_PATH (itk,vtk,gdcm,wx,qt,tth)")
60         set  (CREA_LIBRARY_DLL_PATH  "" CACHE PATH ${MessageLibraryPath} )      
61         IF(NOT CREA_LIBRARY_DLL_PATH)
62                 MESSAGE(FATAL_ERROR "${MessageLibraryPath}  not found")
63         ENDIF(NOT CREA_LIBRARY_DLL_PATH)
64 ##  INSTALL( FILES ${PROJECT_SOURCE_DIR}/win32/sqlite3.dll DESTINATION bin ) 
65         STRING(REGEX REPLACE "\\\\" "/" WINDIR "$ENV{WINDIR}")
66         # INSTALL(   FILES ${WINDIR}/system32/msvcp71d.dll                              DESTINATION bin/ )
67         # INSTALL(   FILES ${WINDIR}/system32/msvcr71d.dll                              DESTINATION bin/ )      
68         
69         
70         INSTALL(FILES ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/Version.txt DESTINATION . )
71         INSTALL(DIRECTORY ${CREA_LIBRARY_DLL_PATH}/     DESTINATION . )
72
73 #EED 19-11-2009 
74 #       FILE(GLOB LST_FILE_DLL "${CREA_LIBRARY_DLL_PATH}/*.dll")        
75 #       FOREACH( iLST  ${LST_FILE_DLL} )
76 #          INSTALL( 
77 #                FILES ${iLST}
78 #                DESTINATION bin/
79 #          )
80 #       ENDFOREACH(iLST)        
81
82 #EED 19-11-2009 
83 #       FILE(GLOB LST_FILE_TTH "${CREA_LIBRARY_DLL_PATH}/tth/*.*")
84 #       FOREACH( iLST  ${LST_FILE_TTH} )
85 #          INSTALL( 
86 #                FILES ${iLST}
87 #                DESTINATION bin/tth/
88 #          )
89 #       ENDFOREACH(iLST)        
90         
91 #EED 19-11-2009 
92 #       SET(MIKTEXDIR "${CREA_LIBRARY_DLL_PATH}/MikTex-2.7/")   
93 #       INSTALL( 
94 #               DIRECTORY ${MIKTEXDIR}
95 #               DESTINATION bin/MikTex-2.7
96 #       )                               
97         
98 #EED-08oct2009  STRING(REGEX REPLACE "\\\\" "/" ENVPATH "$ENV{Path}")
99
100 #EED 19-11-2009 
101 #       SET(MIKTEX_INSTALL_DIR "$INSTDIR\\\\bin\\\\MikTex-2.7\\\\miktex\\\\bin")
102
103         SET(CREA_DLLS_DIR "$INSTDIR\\\\bin")
104         SET(CREATPDLLS_DIRBIN "$INSTDIR")
105         
106 #EED 19-11-2009 
107 #       SET(CREATIS_ENVIRONMENT_DIRS ";${CREA_DLLS_DIR};${MIKTEX_INSTALL_DIR}")
108         SET(CREATIS_THIRDPARTYDLLS_DIRS ";${CREA_DLLS_DIR}")
109         
110         
111         SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS  "        
112
113         
114 #EED 19-11-2009 
115 #               WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'TTH' '$INSTDIR\\\\bin\\\\tth' 
116
117                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'CREATIS_THIRDPARTYDLLS_DIRS' '${CREATIS_THIRDPARTYDLLS_DIRS}' 
118                 
119                 !define Install_ReadEnvStr_RegKey 'HKCU \\\"Environment\\\"'
120                 ReadRegStr $0 \\\${Install_ReadEnvStr_RegKey} 'PATH'
121                 
122                 Push '$0;'
123                 Push '%CREATIS_THIRDPARTYDLLS_DIRS%'
124                 Call StrStr
125                 Pop $2
126                 StrCmp $2 '' '' AddToPath_doneEED
127         StrCpy $0 \\\"$0;%CREATIS_THIRDPARTYDLLS_DIRS%\\\"
128         WriteRegExpandStr \\\${Install_ReadEnvStr_RegKey} 'PATH' $0
129                 
130                 AddToPath_doneEED:
131
132                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'BOOST_ROOT' '$INSTDIR\\\\' 
133                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'GDCM_DIR' '$INSTDIR\\\\lib\\\\gdcm\\\\' 
134                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'ITK_DIR' '$INSTDIR\\\\lib\\\\cmake\\\\ITK-4.12\\\\' 
135                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'QTDIR' '$INSTDIR\\\\' 
136                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'VTK_DIR' '$INSTDIR\\\\lib\\\\cmake\\\\vtk-8.1\\\\' 
137                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'WXWIN' '$INSTDIR\\\\' 
138                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'XERCES_DIR' '$INSTDIR\\\\cmake' 
139                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'SQLITE_DIR' '$INSTDIR\\\\' 
140                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'TTH' '$INSTDIR\\\\' 
141                 
142                   CreateShortCut  '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Version.txt.lnk' '${CREATPDLLS_DIRBIN}\\\\Version.txt' 
143                   SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 
144                   
145
146         ")
147                 
148         SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS  "
149                     !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
150                         Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Version.txt.lnk'
151                         
152                         StrCpy $MUI_TEMP '$SMPROGRAMS\\\\$MUI_TEMP'
153                         RMDir /r $MUI_TEMP
154
155                         !define Uninstall_EnvStr_RegKey 'HKLM \\\"SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment\\\"'                 
156                         WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'CREATIS_THIRDPARTYDLLS_DIRS' ''
157
158                         WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'BOOST_ROOT' ''
159                         WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'GDCM_DIR' ''
160                         WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'ITK_DIR' ''
161                         WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'QTDIR' ''
162                         WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'VTK_DIR' ''
163                         WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'WXWIN' ''
164                         WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'XERCES_DIR' ''
165                         WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'SQLITE_DIR' ''
166                         WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'TTH' ''
167                 
168                         SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 
169         
170                 ")
171
172
173
174                 
175 ENDIF(WIN32)
176
177 INCLUDE(CPack)