]> Creatis software - crea_ThirdParty_dlls.git/blob - install/CMakeLists.txt
*** empty log message ***
[crea_ThirdParty_dlls.git] / 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_VENDOR "CREATIS")
16 SET(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/README.txt")
17 SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.txt")
18 SET(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_MAJOR_VERSION})
19 SET(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_MINOR_VERSION})
20 SET(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_BUILD_VERSION})
21
22
23
24
25   SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CreaTools\\\\${PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
26   IF(WIN32)
27     SET(CMAKE_INSTALL_PREFIX C:/CreaTools/crea_dlls_extern)
28   ENDIF(WIN32)
29
30
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 ELSE(WIN32 AND NOT UNIX)
43 #  SET(CPACK_STRIP_FILES "bin/bbi")
44   SET(CPACK_SOURCE_STRIP_FILES "")
45 ENDIF(WIN32 AND NOT UNIX)
46 #SET(CPACK_PACKAGE_EXECUTABLES "TestWxGimmickDialog" "Gimmick!")
47
48 # Aditional INSTALL for CPACK mecanism.
49 IF(WIN32)
50
51         set  (MessageLibraryPath "CREA_LIBRARY_DLL_PATH (itk,vtk,gdcm,wx,Qt,tth)")
52         set  (CREA_LIBRARY_DLL_PATH  "" CACHE PATH ${MessageLibraryPath} )      
53
54   
55         IF(NOT CREA_LIBRARY_DLL_PATH)
56                 MESSAGE(FATAL_ERROR "${MessageLibraryPath}  not found")
57         ENDIF(NOT CREA_LIBRARY_DLL_PATH)
58
59 ##  INSTALL( FILES ${PROJECT_SOURCE_DIR}/win32/sqlite3.dll DESTINATION bin ) 
60         STRING(REGEX REPLACE "\\\\" "/" WINDIR "$ENV{WINDIR}")
61         # INSTALL(   FILES ${WINDIR}/system32/msvcp71d.dll                              DESTINATION bin/ )
62         # INSTALL(   FILES ${WINDIR}/system32/msvcr71d.dll                              DESTINATION bin/ )      
63         
64         FILE(GLOB LST_FILE_DLL "${CREA_LIBRARY_DLL_PATH}/*.dll")
65         
66         FOREACH( iLST  ${LST_FILE_DLL} )
67            INSTALL( 
68                  FILES ${iLST}
69                  DESTINATION bin/
70            )
71         ENDFOREACH(iLST)        
72         
73         FILE(GLOB LST_FILE_TTH "${CREA_LIBRARY_DLL_PATH}/tth/*.*")
74         
75         FOREACH( iLST  ${LST_FILE_TTH} )
76            INSTALL( 
77                  FILES ${iLST}
78                  DESTINATION bin/tth/
79            )
80         ENDFOREACH(iLST)        
81         
82         SET(MIKTEXDIR "${CREA_LIBRARY_DLL_PATH}/MikTex-2.7/")
83         
84         INSTALL( 
85                 DIRECTORY ${MIKTEXDIR}
86                 DESTINATION bin/MikTex-2.7
87         )                               
88         
89 #EED-08oct2009  STRING(REGEX REPLACE "\\\\" "/" ENVPATH "$ENV{Path}")
90
91         SET(MIKTEX_INSTALL_DIR "$INSTDIR\\\\bin\\\\MikTex-2.7\\\\miktex\\\\bin")
92         SET(CREA_DLLS_DIR "$INSTDIR\\\\bin")
93         SET(CREATOOLS_DIRS ";${CREA_DLLS_DIR};${MIKTEX_INSTALL_DIR}")
94         
95         
96         SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS  "        
97
98         
99                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'TTH' '$INSTDIR\\\\bin\\\\tth' 
100                 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'CREATOOLS_DIRS' '${CREATOOLS_DIRS}' 
101                 
102                 !define Install_ReadEnvStr_RegKey 'HKCU \\\"Environment\\\"'
103                 ReadRegStr $0 \\\${Install_ReadEnvStr_RegKey} 'PATH'
104                 
105                 Push '$0;'
106                 Push '%CREATOOLS_DIRS%'
107                 Call StrStr
108                 Pop $2
109                 StrCmp $2 '' '' AddToPath_doneEED
110         StrCpy $0 \\\"$0;%CREATOOLS_DIRS%\\\"
111         WriteRegExpandStr \\\${Install_ReadEnvStr_RegKey} 'PATH' $0
112                 
113                 AddToPath_doneEED:
114                   SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 
115         ")
116                 
117         SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS  "
118                         !define Uninstall_EnvStr_RegKey 'HKLM \\\"SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment\\\"'                 
119                         WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'CREATOOLS_DIRS' ''
120                 
121                         SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000 
122         
123                 ")
124         
125 ENDIF(WIN32)
126
127 INCLUDE(CPack)