1 # ---------------------------------------------------------------------
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
7 # This software is governed by the CeCILL-B license under French law and
8 # abiding by the rules of distribution of free software. You can use,
9 # modify and/ or redistribute the software under the terms of the CeCILL-B
10 # license as circulated by CEA, CNRS and INRIA at the following URL
11 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
12 # or in the file LICENSE.txt.
14 # As a counterpart to the access to the source code and rights to copy,
15 # modify and redistribute granted by the license, users are provided only
16 # with a limited warranty and the software's author, the holder of the
17 # economic rights, and the successive licensors have only limited
20 # The fact that you are presently reading this means that you have had
21 # knowledge of the CeCILL-B license and that you accept its terms.
22 # ------------------------------------------------------------------------
25 #-----------------------------------------------------------------------------
26 # CPACK+NSIS PACKAGING
27 #-----------------------------------------------------------------------------
29 #---Documentation-------------
30 #http://www.cmake.org/Wiki/CMake:Packaging_With_CPack
31 #http://www.cmake.org/Wiki/CMake:CPackConfiguration
32 #http://www.cmake.org/Wiki/CMake:Install_Commands
35 INCLUDE(InstallRequiredSystemLibraries)
37 SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_NAME} - CREATIS")
38 SET(CPACK_PACKAGE_VENDOR "CREATIS")
39 SET(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/README.txt")
40 SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.txt")
41 SET(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_MAJOR_VERSION})
42 SET(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_MINOR_VERSION})
43 SET(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_BUILD_VERSION})
50 SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CreaTools\\\\${PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
52 SET(CMAKE_INSTALL_PREFIX C:/CreaTools/${PROJECT_NAME})
59 IF(WIN32 AND NOT UNIX)
60 # There is a bug in NSI that does not handle full unix paths properly. Make
61 # sure there is at least one set of four (4) backlasshes.
62 #EED SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/kernel/install/gnome/bbi-icon2.bmp")
63 # SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin/BBI_EXE.exe")
64 SET(CPACK_NSIS_DISPLAY_NAME "${PROJECT_NAME}")
65 SET(CPACK_NSIS_HELP_LINK "http://www.creatis.insa-lyon.fr/creatools/${PROJECT_NAME}")
66 SET(CPACK_NSIS_URL_INFO_ABOUT "http://www.creatis.insa-lyon.fr/creatools/${PROJECT_NAME}")
67 SET(CPACK_NSIS_CONTACT "info-dev@creatis.insa-lyon.fr")
68 SET(CPACK_NSIS_MODIFY_PATH OFF)
71 set (CREA_BOOST_LYBRARY boost)
72 set (CREA_GDCM_LYBRARY gdcm13 )
73 set (CREA_ITK_LYBRARY itk )
74 set (CREA_QT_LYBRARY qt )
75 set (CREA_VTK_LYBRARY vtk )
76 set (CREA_WXWIN_LYBRARY wxWidgets)
77 set (CREA_XERCES_LYBRARY xerces)
78 #DFCH -- set (CREA_MIKATEX_LYBRARY miktex)
80 #set (CREA_KWWIDGETS_LYBRARY KWWidgets-090109 )
82 set (MessageLibraryPath "CREA_LIBRARY_DESTINATION_PATH (itk,vtk,gdcm,wx,KWWidgets,tth,MikTex)")
83 set (CREA_LIBRARY_SOURCE_PATH "" CACHE PATH ${MessageLibraryPath} )
84 set (CREA_LIBRARY_DESTINATION_PATH "Library")
85 set (CREA_BIN_DESTINATION_PATH "bin")
88 IF(NOT CREA_LIBRARY_SOURCE_PATH)
89 MESSAGE(FATAL_ERROR "${MessageLibraryPath} not found")
90 ENDIF(NOT CREA_LIBRARY_SOURCE_PATH)
94 ELSE(WIN32 AND NOT UNIX)
95 # SET(CPACK_STRIP_FILES "bin/bbi")
96 SET(CPACK_SOURCE_STRIP_FILES "")
97 ENDIF(WIN32 AND NOT UNIX)
98 #SET(CPACK_PACKAGE_EXECUTABLES "TestWxGimmickDialog" "Gimmick!")
102 # Aditional INSTALL for CPACK mecanism.
106 FILE(GLOB LST_FILE_TTH "${CREA_LIBRARY_SOURCE_PATH}/tth/*.*")
107 FOREACH( iLST ${LST_FILE_TTH} )
114 #DFCH -- INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_MIKATEX_LYBRARY} DESTINATION ${CREA_BIN_DESTINATION_PATH} )
115 INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_BOOST_LYBRARY} DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
116 INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_GDCM_LYBRARY} DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
117 INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_ITK_LYBRARY} DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
118 INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_QT_LYBRARY} DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
119 INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_VTK_LYBRARY} DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
120 INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_WXWIN_LYBRARY} DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
121 INSTALL(DIRECTORY ${CREA_LIBRARY_SOURCE_PATH}\\\\${CREA_XERCES_LYBRARY} DESTINATION ${CREA_LIBRARY_DESTINATION_PATH} )
124 #DFCH -- SET(MIKTEX_INSTALL_DIR "$INSTDIR\\\\bin\\\\MiKTeX-2.9\\\\miktex\\\\bin")
125 #DFCH -- SET(CREATIS_THIRDPARTYLIBRARIES_DIRS ";${MIKTEX_INSTALL_DIR}")
126 SET(CREATIS_THIRDPARTYLIBRARIES_DIRS "") #DFCH
128 SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
129 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'TTH' '$INSTDIR\\\\bin\\\\tth'
131 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'CREATIS_THIRDPARTYLIBRARIES_DIRS' '${CREATIS_THIRDPARTYLIBRARIES_DIRS}'
132 !define Install_ReadEnvStr_RegKey 'HKCU \\\"Environment\\\"'
133 ReadRegStr $0 \\\${Install_ReadEnvStr_RegKey} 'PATH'
135 Push '%CREATIS_THIRDPARTYLIBRARIES_DIRS%'
138 StrCmp $2 '' '' AddToPath_doneEED
139 StrCpy $0 \\\"$0;%CREATIS_THIRDPARTYLIBRARIES_DIRS%\\\"
140 WriteRegExpandStr \\\${Install_ReadEnvStr_RegKey} 'PATH' $0
144 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'BOOST_ROOT' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_BOOST_LYBRARY}'
145 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'GDCM_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_GDCM_LYBRARY}\\\\lib\\\\gdcm'
146 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'ITK_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_ITK_LYBRARY}\\\\lib\\\\InsightToolkit'
147 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'QTDIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_QT_LYBRARY}'
148 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'VTK_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_VTK_LYBRARY}\\\\lib\\\\vtk-5.10'
149 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'WXWIN' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_WXWIN_LYBRARY}'
150 WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'XERCES_DIR' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_XERCES_LYBRARY}'
151 #WriteRegStr HKLM 'SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment' 'KWWidgets_dir' '$INSTDIR\\\\${CREA_LIBRARY_DESTINATION_PATH}\\\\${CREA_KWWIDGETS_LYBRARY}\\\\lib\\\\KWWidgets'
153 SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000
157 SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "
158 !define Uninstall_EnvStr_RegKey 'HKLM \\\"SYSTEM\\\\CurrentControlSet\\\\Control\\\\Session Manager\\\\Environment\\\"'
159 WriteRegExpandStr \\\${Uninstall_EnvStr_RegKey} 'CREATIS_THIRDPARTYLIBRARIES_DIRS' ''
160 SendMessage \\\${HWND_BROADCAST} \\\${WM_WININICHANGE} 0 'STR:Environment' /TIMEOUT=5000