]> Creatis software - creaToolsTools.git/blob - Install_ThirdParty/cmake/crea_ThirdParty_dlls/install/CMakeLists.txt
Feature #1956 Add Version file in final install + link in menu windows
[creaToolsTools.git] / 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
25
26   SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CreaTools\\\\${PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
27   IF(WIN32)
28     SET(CMAKE_INSTALL_PREFIX C:/CreaTools/crea_dlls_extern)
29   ENDIF(WIN32)
30
31
32
33 IF(WIN32 AND NOT UNIX)
34   # There is a bug in NSI that does not handle full unix paths properly. Make
35   # sure there is at least one set of four (4) backlasshes.
36 #EED  SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/kernel/install/gnome/bbi-icon2.bmp")
37 #  SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin/BBI_EXE.exe")
38   SET(CPACK_NSIS_DISPLAY_NAME "${PROJECT_NAME}")
39   SET(CPACK_NSIS_HELP_LINK "http://www.creatis.insa-lyon.fr/creatools/${PROJECT_NAME}")
40   SET(CPACK_NSIS_URL_INFO_ABOUT "http://www.creatis.insa-lyon.fr/creatools/${PROJECT_NAME}")
41   SET(CPACK_NSIS_CONTACT "info-dev@creatis.insa-lyon.fr")
42   SET(CPACK_NSIS_MODIFY_PATH OFF)
43 ELSE(WIN32 AND NOT UNIX)
44 #  SET(CPACK_STRIP_FILES "bin/bbi")
45   SET(CPACK_SOURCE_STRIP_FILES "")
46 ENDIF(WIN32 AND NOT UNIX)
47 #SET(CPACK_PACKAGE_EXECUTABLES "TestWxGimmickDialog" "Gimmick!")
48
49 # Aditional INSTALL for CPACK mecanism.
50 IF(WIN32)
51
52         set  (MessageLibraryPath "CREA_LIBRARY_DLL_PATH (itk,vtk,gdcm,wx,qt,tth)")
53         set  (CREA_LIBRARY_DLL_PATH  "" CACHE PATH ${MessageLibraryPath} )      
54
55   
56         IF(NOT CREA_LIBRARY_DLL_PATH)
57                 MESSAGE(FATAL_ERROR "${MessageLibraryPath}  not found")
58         ENDIF(NOT CREA_LIBRARY_DLL_PATH)
59
60 ##  INSTALL( FILES ${PROJECT_SOURCE_DIR}/win32/sqlite3.dll DESTINATION bin ) 
61         STRING(REGEX REPLACE "\\\\" "/" WINDIR "$ENV{WINDIR}")
62         # INSTALL(   FILES ${WINDIR}/system32/msvcp71d.dll                              DESTINATION bin/ )
63         # INSTALL(   FILES ${WINDIR}/system32/msvcr71d.dll                              DESTINATION bin/ )      
64         
65         
66         INSTALL(FILES ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/Version.txt DESTINATION . )
67         INSTALL(DIRECTORY ${CREA_LIBRARY_DLL_PATH}/     DESTINATION bin/ )
68
69 #EED 19-11-2009 
70 #       FILE(GLOB LST_FILE_DLL "${CREA_LIBRARY_DLL_PATH}/*.dll")        
71 #       FOREACH( iLST  ${LST_FILE_DLL} )
72 #          INSTALL( 
73 #                FILES ${iLST}
74 #                DESTINATION bin/
75 #          )
76 #       ENDFOREACH(iLST)        
77
78 #EED 19-11-2009 
79 #       FILE(GLOB LST_FILE_TTH "${CREA_LIBRARY_DLL_PATH}/tth/*.*")
80 #       FOREACH( iLST  ${LST_FILE_TTH} )
81 #          INSTALL( 
82 #                FILES ${iLST}
83 #                DESTINATION bin/tth/
84 #          )
85 #       ENDFOREACH(iLST)        
86         
87 #EED 19-11-2009 
88 #       SET(MIKTEXDIR "${CREA_LIBRARY_DLL_PATH}/MikTex-2.7/")   
89 #       INSTALL( 
90 #               DIRECTORY ${MIKTEXDIR}
91 #               DESTINATION bin/MikTex-2.7
92 #       )                               
93         
94 #EED-08oct2009  STRING(REGEX REPLACE "\\\\" "/" ENVPATH "$ENV{Path}")
95
96 #EED 19-11-2009 
97 #       SET(MIKTEX_INSTALL_DIR "$INSTDIR\\\\bin\\\\MikTex-2.7\\\\miktex\\\\bin")
98
99         SET(CREA_DLLS_DIR "$INSTDIR\\\\bin")
100         SET(CREATPDLLS_DIRBIN "$INSTDIR")
101         
102 #EED 19-11-2009 
103 #       SET(CREATIS_ENVIRONMENT_DIRS ";${CREA_DLLS_DIR};${MIKTEX_INSTALL_DIR}")
104         SET(CREATIS_THIRDPARTYDLLS_DIRS ";${CREA_DLLS_DIR}")
105         
106         
107         SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS  "        
108
109         
110 #EED 19-11-2009 
111 #               WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'TTH' '$INSTDIR\\\\bin\\\\tth' 
112
113                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'CREATIS_THIRDPARTYDLLS_DIRS' '${CREATIS_THIRDPARTYDLLS_DIRS}' 
114                 
115                 !define Install_ReadEnvStr_RegKey 'HKCU \\\"Environment\\\"'
116                 ReadRegStr $0 \\\${Install_ReadEnvStr_RegKey} 'PATH'
117                 
118                 Push '$0;'
119                 Push '%CREATIS_THIRDPARTYDLLS_DIRS%'
120                 Call StrStr
121                 Pop $2
122                 StrCmp $2 '' '' AddToPath_doneEED
123         StrCpy $0 \\\"$0;%CREATIS_THIRDPARTYDLLS_DIRS%\\\"
124         WriteRegExpandStr \\\${Install_ReadEnvStr_RegKey} 'PATH' $0
125                 
126                 AddToPath_doneEED:
127                   CreateShortCut  '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Version.txt.lnk' '${CREATPDLLS_DIRBIN}\\\\Version.txt' 
128                   SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 
129                   
130
131         ")
132                 
133         SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS  "
134                     !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
135                         Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Version.txt.lnk'
136                         
137                         StrCpy $MUI_TEMP '$SMPROGRAMS\\\\$MUI_TEMP'
138                         RMDir /r $MUI_TEMP
139
140                         !define Uninstall_EnvStr_RegKey 'HKLM \\\"SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment\\\"'                 
141                         WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'CREATIS_THIRDPARTYDLLS_DIRS' ''
142                 
143                         SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 
144         
145                 ")
146         
147 ENDIF(WIN32)
148
149 INCLUDE(CPack)