2 #-----------------------------------------------------------------------------
4 #-----------------------------------------------------------------------------
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
12 INCLUDE(InstallRequiredSystemLibraries)
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})
24 SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CreaTools\\\\${PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
26 SET(CMAKE_INSTALL_PREFIX C:/CreaTools/crea_dlls_extern)
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)
42 # SET(CPACK_SYSTEM_NAME ${CREATOOLS_PLATFORM})
43 SET(CPACK_NSIS_INSTALL_ROOT $ENV{ProgramFiles})
45 set (CREA_BOOST_LYBRARY boost)
46 set (CREA_GDCM_LYBRARY gdcm13 )
47 set (CREA_ITK_LYBRARY itk )
48 set (CREA_QT_LYBRARY qt )
49 set (CREA_VTK_LYBRARY vtk )
50 set (CREA_WXWIN_LYBRARY wxWidgets)
51 set (CREA_XERCES_LYBRARY xerces)
52 set (CREA_SQLITE_LYBRARY sqlite)
53 set (CREA_SQLITE_LYBRARY tth)
55 ELSE(WIN32 AND NOT UNIX)
56 # SET(CPACK_STRIP_FILES "bin/bbi")
57 SET(CPACK_SOURCE_STRIP_FILES "")
58 ENDIF(WIN32 AND NOT UNIX)
59 #SET(CPACK_PACKAGE_EXECUTABLES "TestWxGimmickDialog" "Gimmick!")
61 # Aditional INSTALL for CPACK mecanism.
63 set (MessageLibraryPath "CREA_LIBRARY_DLL_PATH (itk,vtk,gdcm,wx,qt,tth)")
64 set (CREA_LIBRARY_DLL_PATH "" CACHE PATH ${MessageLibraryPath} )
65 IF(NOT CREA_LIBRARY_DLL_PATH)
66 MESSAGE(FATAL_ERROR "${MessageLibraryPath} not found")
67 ENDIF(NOT CREA_LIBRARY_DLL_PATH)
68 ## INSTALL( FILES ${PROJECT_SOURCE_DIR}/win32/sqlite3.dll DESTINATION bin )
69 STRING(REGEX REPLACE "\\\\" "/" WINDIR "$ENV{WINDIR}")
70 # INSTALL( FILES ${WINDIR}/system32/msvcp71d.dll DESTINATION bin/ )
71 # INSTALL( FILES ${WINDIR}/system32/msvcr71d.dll DESTINATION bin/ )
74 INSTALL(FILES ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/Version.txt DESTINATION . )
75 INSTALL(DIRECTORY ${CREA_LIBRARY_DLL_PATH}/ DESTINATION . )
78 # FILE(GLOB LST_FILE_DLL "${CREA_LIBRARY_DLL_PATH}/*.dll")
79 # FOREACH( iLST ${LST_FILE_DLL} )
87 # FILE(GLOB LST_FILE_TTH "${CREA_LIBRARY_DLL_PATH}/tth/*.*")
88 # FOREACH( iLST ${LST_FILE_TTH} )
91 # DESTINATION bin/tth/
96 # SET(MIKTEXDIR "${CREA_LIBRARY_DLL_PATH}/MikTex-2.7/")
98 # DIRECTORY ${MIKTEXDIR}
99 # DESTINATION bin/MikTex-2.7
102 #EED-08oct2009 STRING(REGEX REPLACE "\\\\" "/" ENVPATH "$ENV{Path}")
105 # SET(MIKTEX_INSTALL_DIR "$INSTDIR\\\\bin\\\\MikTex-2.7\\\\miktex\\\\bin")
107 SET(CREA_DLLS_DIR "$INSTDIR\\\\bin")
108 SET(CREATPDLLS_DIRBIN "$INSTDIR")
111 # SET(CREATIS_ENVIRONMENT_DIRS ";${CREA_DLLS_DIR};${MIKTEX_INSTALL_DIR}")
112 SET(CREATIS_THIRDPARTYDLLS_DIRS ";${CREA_DLLS_DIR}")
115 SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
119 # WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'TTH' '$INSTDIR\\\\bin\\\\tth'
121 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'CREATIS_THIRDPARTYDLLS_DIRS' '${CREATIS_THIRDPARTYDLLS_DIRS}'
123 !define Install_ReadEnvStr_RegKey 'HKCU \\\"Environment\\\"'
124 ReadRegStr $0 \\\${Install_ReadEnvStr_RegKey} 'PATH'
127 Push '%CREATIS_THIRDPARTYDLLS_DIRS%'
130 StrCmp $2 '' '' AddToPath_doneEED
131 StrCpy $0 \\\"$0;%CREATIS_THIRDPARTYDLLS_DIRS%\\\"
132 WriteRegExpandStr \\\${Install_ReadEnvStr_RegKey} 'PATH' $0
136 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'BOOST_ROOT' '$INSTDIR\\\\'
137 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'GDCM_DIR' '$INSTDIR\\\\lib\\\\gdcm\\\\'
138 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'ITK_DIR' '$INSTDIR\\\\lib\\\\cmake\\\\ITK-5.0\\\\'
139 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'QTDIR' '$INSTDIR\\\\'
140 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'VTK_DIR' '$INSTDIR\\\\lib\\\\cmake\\\\vtk-8.1\\\\'
141 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'WXWIN' '$INSTDIR\\\\'
142 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'XERCES_DIR' '$INSTDIR\\\\cmake'
143 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'SQLITE_DIR' '$INSTDIR\\\\'
144 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'TTH' '$INSTDIR\\\\'
146 CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Version.txt.lnk' '${CREATPDLLS_DIRBIN}\\\\Version.txt'
147 SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000
152 SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "
153 !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
154 Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Version.txt.lnk'
156 StrCpy $MUI_TEMP '$SMPROGRAMS\\\\$MUI_TEMP'
159 !define Uninstall_EnvStr_RegKey 'HKLM \\\"SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment\\\"'
160 WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'CREATIS_THIRDPARTYDLLS_DIRS' ''
162 WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'BOOST_ROOT' ''
163 WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'GDCM_DIR' ''
164 WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'ITK_DIR' ''
165 WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'QTDIR' ''
166 WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'VTK_DIR' ''
167 WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'WXWIN' ''
168 WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'XERCES_DIR' ''
169 WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'SQLITE_DIR' ''
170 WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'TTH' ''
172 SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000