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)
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)
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!")
57 # Aditional INSTALL for CPACK mecanism.
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/ )
70 INSTALL(FILES ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/Version.txt DESTINATION . )
71 INSTALL(DIRECTORY ${CREA_LIBRARY_DLL_PATH}/ DESTINATION . )
74 # FILE(GLOB LST_FILE_DLL "${CREA_LIBRARY_DLL_PATH}/*.dll")
75 # FOREACH( iLST ${LST_FILE_DLL} )
83 # FILE(GLOB LST_FILE_TTH "${CREA_LIBRARY_DLL_PATH}/tth/*.*")
84 # FOREACH( iLST ${LST_FILE_TTH} )
87 # DESTINATION bin/tth/
92 # SET(MIKTEXDIR "${CREA_LIBRARY_DLL_PATH}/MikTex-2.7/")
94 # DIRECTORY ${MIKTEXDIR}
95 # DESTINATION bin/MikTex-2.7
98 #EED-08oct2009 STRING(REGEX REPLACE "\\\\" "/" ENVPATH "$ENV{Path}")
101 # SET(MIKTEX_INSTALL_DIR "$INSTDIR\\\\bin\\\\MikTex-2.7\\\\miktex\\\\bin")
103 SET(CREA_DLLS_DIR "$INSTDIR\\\\bin")
104 SET(CREATPDLLS_DIRBIN "$INSTDIR")
107 # SET(CREATIS_ENVIRONMENT_DIRS ";${CREA_DLLS_DIR};${MIKTEX_INSTALL_DIR}")
108 SET(CREATIS_THIRDPARTYDLLS_DIRS ";${CREA_DLLS_DIR}")
111 SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
115 # WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'TTH' '$INSTDIR\\\\bin\\\\tth'
117 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'CREATIS_THIRDPARTYDLLS_DIRS' '${CREATIS_THIRDPARTYDLLS_DIRS}'
119 !define Install_ReadEnvStr_RegKey 'HKCU \\\"Environment\\\"'
120 ReadRegStr $0 \\\${Install_ReadEnvStr_RegKey} 'PATH'
123 Push '%CREATIS_THIRDPARTYDLLS_DIRS%'
126 StrCmp $2 '' '' AddToPath_doneEED
127 StrCpy $0 \\\"$0;%CREATIS_THIRDPARTYDLLS_DIRS%\\\"
128 WriteRegExpandStr \\\${Install_ReadEnvStr_RegKey} 'PATH' $0
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-5.0\\\\'
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\\\\'
142 CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Version.txt.lnk' '${CREATPDLLS_DIRBIN}\\\\Version.txt'
143 SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000
148 SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "
149 !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
150 Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Version.txt.lnk'
152 StrCpy $MUI_TEMP '$SMPROGRAMS\\\\$MUI_TEMP'
155 !define Uninstall_EnvStr_RegKey 'HKLM \\\"SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment\\\"'
156 WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'CREATIS_THIRDPARTYDLLS_DIRS' ''
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' ''
168 SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000