5 # To make an installer,
6 # - configure cmake with -DPACKAGING_NSIS:BOOL=TRUE (on windows AND unix)
7 # - use the custom target camitk_package, e.g "make camitk_package"
10 # CMake configure command (from the build directory) :
11 # cmake -DPACKAGING_NSIS=TRUE -DCEP_IMAGING=TRUE -DCEP_MODELING=TRUE -DAPPLICATION_CEPGENERATOR=FALSE -DAPPLICATION_TESTACTIONS=FALSE -DAPPLICATION_TESTCOMPONENTS=FALSE -DAPPLICATION_WIZARD=FALSE ../src
12 # Launch the camitkopensource.sln visual studio solution file.
13 # Build all in Release (do it again if some .h files missing errors occured)
14 # Build camitk_package target.
17 # cmake -DCMAKE_SKIP_RPATH:BOOL=ON -DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=OFF -DCMAKE_BUILD_TYPE:STRING=Release -DCEP_IMAGING:BOOL=TRUE -DCEP_MODELING:BOOL=TRUE -DPACKAGING_NSIS:BOOL=TRUE -DCMAKE_INSTALL_PREFIX=/usr
19 # On debian/ubuntu, you need to have package "dpkg" (to build DEB packages) and package "rpm" (to build RPM packages) installed:
20 # apt-get install dpkg rpm
22 # To make a source tar ball, just use the custom target camitk_package_sourc
23 # - make camitk_package_source
24 # (it generates the correct CamiTKVersion.h)
26 # To check the content of a deb package:
27 # dpkg --contents package.deb
28 # To install the content of a deb in a subdirectory instead of system-wide:
29 # dpkg --vextract package.deb subdirectory
31 # On windows for the NSIS packager, to generate different components that can be opt out at install time, see
32 # http://www.itk.org/Wiki/CMake:Component_Install_With_CPack
34 # More generally see http://www.itk.org/Wiki/CMake:CPackConfiguration
36 # There is a bug deb package (cmake 2.8.9 on Debian Wheezy): permission for directories are not rights
37 # Here is how to fix it (inspired from https://github.com/paralect/robomongo/blob/master/install/linux/fixup_deb.sh.in )
38 # set PACKAGE_FILENAME="camitk-3.3.0-debian-7.x-wheezy_amd64.deb"
41 # dpkg-deb -x $PACKAGE_FILENAME camitk-deb
42 # dpkg-deb --control $PACKAGE_FILENAME camitk-deb/DEBIAN
43 # rm $PACKAGE_FILENAME
44 # find camitk-deb -type d -print0 |xargs -0 chmod 755
45 # find camitk-deb -name "*.1" -print0 |xargs -0 chmod 0644
46 # find fix_up_deb/usr/bin -name "camitk-*" -print0 |xargs -0 chmod 0755
47 # fakeroot dpkg -b camitk-deb $PACKAGE_FILENAME
54 string(TOLOWER ${CAMITK_PROJECT_NAME} CPACK_PACKAGE_NAME)
55 set(CPACK_PACKAGE_VERSION_MAJOR ${CAMITK_VERSION_MAJOR})
56 set(CPACK_PACKAGE_VERSION_MINOR ${CAMITK_VERSION_MINOR})
57 set(CPACK_PACKAGE_VERSION_PATCH ${CAMITK_VERSION_PATCH})
58 set(CPACK_PACKAGE_VERSION
"${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
59 string(TOLOWER
"${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CAMITK_VER_NICKNAME}-${LSB_DISTRIB}_${CPACK_PACKAGE_ARCHITECTURE}" CPACK_PACKAGE_FILE_NAME)
62 set(CPACK_PACKAGE_VENDOR
"UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525")
63 set(CPACK_PACKAGE_CONTACT
"http://camitk.imag.fr")
64 set(CPACK_DEBIAN_PACKAGE_MAINTAINER
"CamiTK Developers <camitk-team@imag.fr>")
67 set(CPACK_RESOURCE_FILE_README
"${CMAKE_CURRENT_SOURCE_DIR}/README")
68 set(CPACK_RESOURCE_FILE_LICENSE
"${CMAKE_CURRENT_SOURCE_DIR}/COPYRIGHT")
71 set(CPACK_PACKAGE_EXECUTABLES
"camitk-imp" "camitk-imp" "camitk-actionstatemachine" "camitk-actionstatemachine")
73 # CamiTK package description
74 set(CPACK_PACKAGE_DESCRIPTION
"CamiTK stands for Computer Assisted Medical Intervention Tool Kit and aims at providing an easy way to protype medical applications")
75 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY
"CamiTK stands for Computer Assisted Medical Intervention Tool Kit and aims at providing an easy way to protype medical applications. CamiTK functionnalities are extendable thanks to plugins. This package includes the IMP application with main plugins that allow users to interact with medical images (2D, 3D), process them and simulate biomechanichal deformations. It also includes the actionstatemachine application that allows user to easily run a pipelines of algorithms on images.")
77 # Files to ignore during generation of the package
78 set(CPACK_SOURCE_IGNORE_FILES
90 "\\\\.kdevelop\\\\.pcs$"
92 ${CPACK_SOURCE_IGNORE_FILES}
95 set(CPACK_SOURCE_GENERATOR
"TGZ" "ZIP" )
97 # Detect processor bits range (32bits / 64bits)
98 # not the whole architecture (ARM ...).
99 if(CMAKE_SIZEOF_VOID_P EQUAL 8)
106 # ----------------------------------
107 # Unix packages (Ubuntu and Debian)
108 # ----------------------------------
109 if (PACKAGING_NSIS AND UNIX AND NOT WIN32)
111 # Note : even if not packaging for Unix with NSIS, the CMake variable
112 # PACKAGING_NSIS is used here to indicate we are packaging (i.e. building
113 # the camitk_package target).
115 message(STATUS
"Packaging CamiTK for UNIX systems")
116 # Try to find architecture
117 execute_process(COMMAND uname -m OUTPUT_VARIABLE CPACK_PACKAGE_ARCHITECTURE)
118 string(STRIP
"${CPACK_PACKAGE_ARCHITECTURE}" CPACK_PACKAGE_ARCHITECTURE)
119 # Try to find distro name and distro-specific arch
122 string(STRIP
"${LSB_ID}" LSB_ID)
123 string(STRIP
"${LSB_RELEASE}" LSB_RELEASE)
124 set(LSB_DISTRIB
"${LSB_ID}${LSB_RELEASE}")
126 set(LSB_DISTRIB
"unix")
127 endif(NOT LSB_DISTRIB)
128 message(STATUS
"Packager architecture : ${LSB_DISTRIB}")
131 set(CPACK_DEBIAN_PACKAGE_SECTION
"science")
136 PATHS
"/usr/bin" #Add paths here
140 message(STATUS
"Packaging deb using ${DPKG_PATH}: OK")
141 set(DPKG_FOUND
"YES")
146 # Packaging requires ITK
147 find_package(ITK REQUIRED)
150 #
set the package generator
151 set(CPACK_GENERATOR
"DEB" "RPM")
153 # For Debian-based distribs we want to create DEB packages.
154 if (
"${LSB_DISTRIB}" MATCHES
"Ubuntu|Debian")
156 # We need to alter the architecture names as per distro rules
157 if(
"${CPACK_PACKAGE_ARCHITECTURE}" MATCHES
"i[3-6]86")
158 set(CPACK_PACKAGE_ARCHITECTURE i386)
160 if(
"${CPACK_PACKAGE_ARCHITECTURE}" MATCHES
"x86_64")
161 set(CPACK_PACKAGE_ARCHITECTURE amd64)
163 # Set the dependencies based on the distrib version
166 # Set the install location to "/usr"
167 # PLEASE, set the CamiTK install root path in your CMake command line / GUI (and not directly here)
168 set(CPACK_SET_DESTDIR TRUE)
169 set(CPACK_PACKAGING_INSTALL_PREFIX
"/usr")
170 set(CPACK_PACKAGE_DEFAULT_LOCATION
"/usr")
173 # Dependencies depending on the Operating System.
175 # WARNING Beware to the syntax of the Debian package dependencies, else it won't manage to install.
176 if(
"${LSB_DISTRIB}" MATCHES
"Ubuntu12.04"
177 OR
"${LSB_DISTRIB}" MATCHES
"Ubuntu12.04.1"
178 OR
"${LSB_DISTRIB}" MATCHES
"Ubuntu12.10"
179 OR
"${LSB_DISTRIB}" MATCHES
"Ubuntu13.04"
180 OR
"${LSB_DISTRIB}" MATCHES
"Ubuntu13.10"
182 # All these ubuntu version dependencies are the same, only one package is needed for all
183 set(LSB_DISTRIB
"Ubuntu12.04to13.10")
184 set(CPACK_DEBIAN_PACKAGE_DEPENDS
"cmake, libvtk5-dev (>= 5.8), libqt4-dev, libvtk5-qt4-dev (>= 5.8), xsdcxx, libinsighttoolkit3-dev (>= 3.20), libxerces-c-dev, libxml2-dev, libgdcm2-dev, libfftw3-dev, libqtwebkit-dev | libqt4-dev (<< 4.7), libvtkgdcm2-dev,doxygen, graphviz")
187 # Debian dependencies
188 if (
"${LSB_DISTRIB}" MATCHES
"Debian7.*") # Debian Wheezy
189 set(LSB_DISTRIB
"Debian-7.x-Wheezy")
190 set(CPACK_DEBIAN_PACKAGE_DEPENDS
"libqt4-dev (>= 4:4.8), libqtwebkit4 (>= 2), libqtwebkit-dev (>= 2), libvtk5.8 (>= 5.8.0), libvtk5-dev (>= 5.8.0), libvtk5.8-qt4 (>= 5.8.0), libvtk5-qt4-dev (>= 5.8.0), libinsighttoolkit3-dev (>= 3.20.1), vtk-doc (>= 5.8.0), tcl-vtk (>= 5.8.0), libinsighttoolkit3.20 (>= 3.20.1), libtiff4-dev (>= 3.9), libopenjpeg-dev (>= 1.3), libxml2 (>= 2.7.8), libxml2-dev (>= 2.7.8), xsdcxx (>= 3.3.0), libxerces-c-dev (>= 3.1.1), libgdcm2.2 (>= 2), libgdcm2-dev (>= 2), libvtkgdcm2.2 (>= 2), libvtkgdcm2-dev (>= 2)")
193 if(NOT CPACK_DEBIAN_PACKAGE_DEPENDS)
194 message(STATUS
"Packaging for ${LSB_DISTRIB} not supported yet.\n")
200 string(TOLOWER
"${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}-${LSB_DISTRIB}_${CPACK_PACKAGE_ARCHITECTURE}" CPACK_PACKAGE_FILE_NAME)
205 # -----------------------
206 # Packaging for Windows
207 # -----------------------
208 if(WIN32 AND MSVC AND PACKAGING_NSIS)
210 # NSIS must be installed on the computer
211 find_program(MAKENSIS makensis.exe)
213 message(STATUS
"NSIS Packaging using ${MAKENSIS}")
215 message(FATAL_ERROR
"NSIS executable (makensis.exe) is not installed or not in the system path. Please fix this problem for packaging.")
218 # Update package name for windows release
219 if(WIN64) #64 bits installer
220 set(CPACK_PACKAGE_ARCHITECTURE amd64)
221 else() #32 bits installer
222 set(CPACK_PACKAGE_ARCHITECTURE i386)
224 string(TOLOWER
"${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}-${CAMITK_VER_NICKNAME}_${CPACK_PACKAGE_ARCHITECTURE}" CPACK_PACKAGE_FILE_NAME)
226 message(STATUS
"Packaging CamiTK for Windows: ${CPACK_PACKAGE_FILE_NAME}")
228 if(WIN64) # 64bits installer
230 set(QT_PACKAGE_LIRABRIES
231 C:/dev/
Qt/4.8.5/bin/QtCore4.dll
232 C:/dev/
Qt/4.8.5/bin/QtGui4.dll
233 C:/dev/
Qt/4.8.5/bin/QtSvg4.dll
234 C:/dev/
Qt/4.8.5/bin/QtXml4.dll
235 C:/dev/
Qt/4.8.5/bin/QtNetwork4.dll
236 C:/dev/
Qt/4.8.5/bin/QtSql4.dll
237 C:/dev/
Qt/4.8.5/bin/QtWebKit4.dll
241 set(VTK_PACKAGE_LIBRARIES
242 C:/dev/VTK/5.10.1/bin/QVTK.dll
243 C:/dev/VTK/5.10.1/bin/vtkCommon.dll
244 C:/dev/VTK/5.10.1/bin/vtksys.dll
245 C:/dev/VTK/5.10.1/bin/vtkFiltering.dll
246 C:/dev/VTK/5.10.1/bin/vtkGraphics.dll
247 C:/dev/VTK/5.10.1/bin/vtkHybrid.dll
248 C:/dev/VTK/5.10.1/bin/vtkIO.dll
249 C:/dev/VTK/5.10.1/bin/vtkImaging.dll
250 C:/dev/VTK/5.10.1/bin/vtkRendering.dll
251 C:/dev/VTK/5.10.1/bin/vtkVolumeRendering.dll
252 C:/dev/VTK/5.10.1/bin/vtkverdict.dll
253 C:/dev/VTK/5.10.1/bin/vtkDICOMParser.dll
254 C:/dev/VTK/5.10.1/bin/vtkNetCDF.dll
255 C:/dev/VTK/5.10.1/bin/vtkNetCDF_cxx.dll
256 C:/dev/VTK/5.10.1/bin/vtkexpat.dll
257 C:/dev/VTK/5.10.1/bin/vtkjpeg.dll
258 C:/dev/VTK/5.10.1/bin/vtkmetaio.dll
259 C:/dev/VTK/5.10.1/bin/vtkpng.dll
260 C:/dev/VTK/5.10.1/bin/vtktiff.dll
261 C:/dev/VTK/5.10.1/bin/vtkzlib.dll
262 C:/dev/VTK/5.10.1/bin/vtkInfovis.dll
263 C:/dev/VTK/5.10.1/bin/vtkfreetype.dll
264 C:/dev/VTK/5.10.1/bin/vtkftgl.dll
265 C:/dev/VTK/5.10.1/bin/vtkalglib.dll
266 C:/dev/VTK/5.10.1/bin/vtklibxml2.dll
267 C:/dev/VTK/5.10.1/bin/vtkViews.dll
268 C:/dev/VTK/5.10.1/bin/vtkexoIIc.dll
269 C:/dev/VTK/5.10.1/bin/vtkWidgets.dll
270 C:/dev/VTK/5.10.1/bin/vtkhdf5.dll
271 C:/dev/VTK/5.10.1/bin/vtkhdf5_hl.dll
272 C:/dev/VTK/5.10.1/bin/LSDyna.dll
276 set(ITK_PACKAGE_LIBRARIES
277 C:/dev/ITK/4.3.2/bin/ITKCommon-4.3.dll
281 set(GDCM_PACKAGE_LIBRARIES
282 C:/dev/
gdcm/2.5/bin/vtkgdcm.dll
283 C:/dev/
gdcm/2.5/bin/gdcmcommon.dll
284 C:/dev/
gdcm/2.5/bin/gdcmcharls.dll
285 C:/dev/
gdcm/2.5/bin/gdcmdict.dll
286 C:/dev/
gdcm/2.5/bin/gdcmdsed.dll
287 C:/dev/
gdcm/2.5/bin/gdcmexpat.dll
288 C:/dev/
gdcm/2.5/bin/gdcmiod.dll
289 C:/dev/
gdcm/2.5/bin/gdcmjpeg12.dll
290 C:/dev/
gdcm/2.5/bin/gdcmjpeg16.dll
291 C:/dev/
gdcm/2.5/bin/gdcmjpeg8.dll
292 C:/dev/
gdcm/2.5/bin/gdcmmsff.dll
293 C:/dev/
gdcm/2.5/bin/gdcmopenjpeg.dll
294 C:/dev/
gdcm/2.5/bin/gdcmzlib.dll
295 C:/dev/
gdcm/2.5/bin/gdcmmsff.dll
298 set(LIBXML2_PACKAGE_LIBRARIES
299 C:/dev/libxml2/2.9.1/bin/libiconv-2.dll
300 C:/dev/libxml2/2.9.1/bin/libxml2-2.dll
301 C:/dev/libxml2/2.9.1/bin/zlib1.dll
304 set(XERCES_C_PACKAGE_LIBRARIES
305 C:/dev/xerces-
c/3.1.1/bin/xerces-c_3_1.dll
308 else() # 32bits installer
311 set(QT_PACKAGE_LIRABRIES
312 C:/dev_x86/
Qt/4.8.5/bin/QtCore4.dll
313 C:/dev_x86/
Qt/4.8.5/bin/QtGui4.dll
314 C:/dev_x86/
Qt/4.8.5/bin/QtSvg4.dll
315 C:/dev_x86/
Qt/4.8.5/bin/QtXml4.dll
316 C:/dev_x86/
Qt/4.8.5/bin/QtNetwork4.dll
317 C:/dev_x86/
Qt/4.8.5/bin/QtSql4.dll
318 C:/dev_x86/
Qt/4.8.5/bin/QtWebKit4.dll
322 # set(VTK_DIR ${VTK_DIR}/../../bin)
323 set(VTK_PACKAGE_LIBRARIES
324 C:/dev_x86/VTK/5.10.1/bin/QVTK.dll
325 C:/dev_x86/VTK/5.10.1/bin/vtkCommon.dll
326 C:/dev_x86/VTK/5.10.1/bin/vtksys.dll
327 C:/dev_x86/VTK/5.10.1/bin/vtkFiltering.dll
328 C:/dev_x86/VTK/5.10.1/bin/vtkGraphics.dll
329 C:/dev_x86/VTK/5.10.1/bin/vtkHybrid.dll
330 C:/dev_x86/VTK/5.10.1/bin/vtkIO.dll
331 C:/dev_x86/VTK/5.10.1/bin/vtkImaging.dll
332 C:/dev_x86/VTK/5.10.1/bin/vtkRendering.dll
333 C:/dev_x86/VTK/5.10.1/bin/vtkVolumeRendering.dll
334 C:/dev_x86/VTK/5.10.1/bin/vtkverdict.dll
335 C:/dev_x86/VTK/5.10.1/bin/vtkDICOMParser.dll
336 C:/dev_x86/VTK/5.10.1/bin/vtkNetCDF.dll
337 C:/dev_x86/VTK/5.10.1/bin/vtkNetCDF_cxx.dll
338 C:/dev_x86/VTK/5.10.1/bin/vtkexpat.dll
339 C:/dev_x86/VTK/5.10.1/bin/vtkjpeg.dll
340 C:/dev_x86/VTK/5.10.1/bin/vtkmetaio.dll
341 C:/dev_x86/VTK/5.10.1/bin/vtkpng.dll
342 C:/dev_x86/VTK/5.10.1/bin/vtktiff.dll
343 C:/dev_x86/VTK/5.10.1/bin/vtkzlib.dll
344 C:/dev_x86/VTK/5.10.1/bin/vtkInfovis.dll
345 C:/dev_x86/VTK/5.10.1/bin/vtkfreetype.dll
346 C:/dev_x86/VTK/5.10.1/bin/vtkftgl.dll
347 C:/dev_x86/VTK/5.10.1/bin/vtkalglib.dll
348 C:/dev_x86/VTK/5.10.1/bin/vtklibxml2.dll
349 C:/dev_x86/VTK/5.10.1/bin/vtkViews.dll
350 C:/dev_x86/VTK/5.10.1/bin/vtkexoIIc.dll
351 C:/dev_x86/VTK/5.10.1/bin/vtkWidgets.dll
352 C:/dev_x86/VTK/5.10.1/bin/vtkhdf5.dll
353 C:/dev_x86/VTK/5.10.1/bin/vtkhdf5_hl.dll
354 C:/dev_x86/VTK/5.10.1/bin/LSDyna.dll
358 set(ITK_PACKAGE_LIBRARIES
359 C:/dev_x86/ITK/4.3.2/bin/ITKCommon-4.3.dll
363 set(GDCM_PACKAGE_LIBRARIES
364 C:/dev_x86/
gdcm/2.2.5/bin/vtkgdcm.dll
365 C:/dev_x86/
gdcm/2.2.5/bin/gdcmcommon.dll
366 C:/dev_x86/
gdcm/2.2.5/bin/gdcmcharls.dll
367 C:/dev_x86/
gdcm/2.2.5/bin/gdcmdict.dll
368 C:/dev_x86/
gdcm/2.2.5/bin/gdcmdsed.dll
369 C:/dev_x86/
gdcm/2.2.5/bin/gdcmexpat.dll
370 C:/dev_x86/
gdcm/2.2.5/bin/gdcmiod.dll
371 C:/dev_x86/
gdcm/2.2.5/bin/gdcmjpeg12.dll
372 C:/dev_x86/
gdcm/2.2.5/bin/gdcmjpeg16.dll
373 C:/dev_x86/
gdcm/2.2.5/bin/gdcmjpeg8.dll
374 C:/dev_x86/
gdcm/2.2.5/bin/gdcmmsff.dll
375 C:/dev_x86/
gdcm/2.2.5/bin/gdcmopenjpeg.dll
376 C:/dev_x86/
gdcm/2.2.5/bin/gdcmzlib.dll
377 C:/dev_x86/
gdcm/2.2.5/bin/gdcmmsff.dll
380 set(LIBXML2_PACKAGE_LIBRARIES
381 C:/dev_x86/libxml2/2.7.8/bin/iconv.dll
382 C:/dev_x86/libxml2/2.7.8/bin/libxml2.dll
383 C:/dev_x86/libxml2/2.7.8/bin/zlib1.dll
386 set(XERCES_C_PACKAGE_LIBRARIES
387 C:/dev_x86/xerces-
c/3.1.1/bin/xerces-c_3_1.dll
389 endif()
# end compiler specific settings
391 # Additional libraries to install with the installer
392 set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS
393 ${QT_PACKAGE_LIRABRIES}
394 ${VTK_PACKAGE_LIBRARIES}
395 ${ITK_PACKAGE_LIBRARIES}
396 ${GDCM_PACKAGE_LIBRARIES}
397 ${LIBXML2_PACKAGE_LIBRARIES}
398 ${XERCES_C_PACKAGE_LIBRARIES}
401 # By
default,
do not warn when built on machines
using only VS Express:
402 if(NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
403 SET(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
406 # Tell CMake to copy CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS content into the package
407 include(InstallRequiredSystemLibraries)
410 set(CAMITK_PACKAGE_ICON
"${CMAKE_CURRENT_SOURCE_DIR}\\\\sdk\\\\libraries\\\\core\\\\resources\\\\appIcon.ico")
#set here the current icon for CamiTK
411 set(CPACK_PACKAGE_ICON ${CAMITK_PACKAGE_ICON}) #icon
for the top bar NSIS installer
412 set(CPACK_NSIS_MUI_ICON ${CAMITK_PACKAGE_ICON}) #icon
for the generated install program (the .exe to run to install CamiTK).
413 set(CPACK_NSIS_MUI_UNIICON ${CAMITK_PACKAGE_ICON}) #icon
for the generated uninstall program (the .exe to run to uninstall CamiTK).
415 # Create desktop icons, by forcing CPack to build an
internal command, as
'set(CPACK_NSIS_MODIFY_PATH ON)' option setted in the additional page doesn
't work.
416 set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "CreateShortCut \\\"$DESKTOP\\\\${CAMITK_PROJECT_NAME}-imp.lnk\\\" \\\"$INSTDIR\\\\bin\\\\camitk-imp.exe\\\"")
418 # Tell CPack to remove the icons after uninstalling
419 set(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "Delete \\\"$DESKTOP\\\\${CAMITK_PROJECT_NAME}-imp.lnk\\\"")
422 set(CPACK_NSIS_DISPLAY_NAME "CamiTK ${CAMITK_VERSION_MAJOR}.${CAMITK_VERSION_MINOR}.${CAMITK_VERSION_PATCH}")
423 set(CPACK_NSIS_INSTALLED_ICON_NAME ${CAMITK_PROJECT_NAME})
425 set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CAMITK_PROJECT_NAME})
426 set(CPACK_NSIS_HELP_LINK "http:\\\\\\\\camitk.imag.fr")
427 set(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\camitk.imag.fr")
428 set(CPACK_NSIS_CONTACT ${CPACK_PACKAGE_CONTACT})
435 if(PACKAGING_NSIS AND APPLE)
437 set(CPACK_GENERATOR "PackageMaker")
438 # Libraries are bundled directly
439 set(CPACK_COMPONENT_LIBRARIES_HIDDEN TRUE)
441 set(MACOSX_BUNDLE_BUNDLE_NAME ${CPACK_PACKAGE_NAME})
442 set(MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION})
443 set(MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION})
444 set(MACOSX_BUNDLE_LONG_VERSION_STRING "Version ${PROJECT_VERSION}")
449 # Set up CPack configuration
452 # Create the groups that will contains the installer components
453 cpack_add_component_group(SDK
454 DISPLAY_NAME "CamiTK SDK"
455 DESCRIPTION "The CamiTK SDK features the core and basics extensions. CamiTK installation requires at least the SDK"
458 cpack_add_component_group(CEP_IMAGING
459 DISPLAY_NAME "CEP Imaging"
460 DESCRIPTION "The CamiTK Extension Project IMAGING contains image processing extensions. Those extensions are optional."
462 cpack_add_component_group(CEP_MODELING
463 DISPLAY_NAME "CEP Modeling"
464 DESCRIPTION "The CamiTK Extension Project MODELING contains biomechanical extensions. Those extensions are optional."
467 # ----------------------------------
468 # CamiTK specific packaging targets
469 # ----------------------------------
471 # create specific target for package source
472 # When packaging, copy the CamiTKPackageVersion.h file to the source directory
473 # Don't forget to
remove it immediatly after packaging.
474 add_custom_target(camitk_package_source
475 COMMAND ${CMAKE_COMMAND}
476 -E copy ${CMAKE_CURRENT_BINARY_DIR}/CamiTKPackageVersion.h
477 ${CMAKE_CURRENT_SOURCE_DIR}/sdk/libraries/core/CamiTKVersion.h
478 COMMAND ${CMAKE_COMMAND}
479 --build ${CMAKE_BINARY_DIR}
480 --target package_source
481 COMMAND ${CMAKE_COMMAND}
482 -E
remove -f ${CMAKE_CURRENT_SOURCE_DIR}/sdk/libraries/core/CamiTKVersion.h
485 # This target create the installer / linux package.
486 # On windows, you have configured with PACKAGING_NSIS=TRUE => all project names have their
"-" replaced by
"_" character
487 # NSIS doesn
't support "-" character.
488 add_custom_target(camitk_package
489 COMMAND ${CMAKE_COMMAND}
490 -E copy ${CMAKE_CURRENT_BINARY_DIR}/sdk/libraries/core/CamiTKVersion.h
491 ${CMAKE_CURRENT_BINARY_DIR}/sdk/libraries/core/CamiTKVersion.h-backup
492 COMMAND ${CMAKE_COMMAND}
493 -E copy ${CMAKE_CURRENT_BINARY_DIR}/CamiTKPackageVersion.h
494 ${CMAKE_CURRENT_BINARY_DIR}/sdk/libraries/core/CamiTKVersion.h
495 COMMAND ${CMAKE_COMMAND}
496 --build ${CMAKE_BINARY_DIR}
497 --target PACKAGE --config Release
498 COMMAND ${CMAKE_COMMAND}
499 -E copy ${CMAKE_CURRENT_BINARY_DIR}/sdk/libraries/core/CamiTKVersion.h-backup
500 ${CMAKE_CURRENT_BINARY_DIR}/sdk/libraries/core/CamiTKVersion.h
camitk_opensource_packaging()
Definition: CamiTKOpenSourcePackaging.h:51
OUTFILE execute_process(COMMAND ${CMAKE_COMMAND}-E remove-f ${CAMITK_TEST_COMMAND_OUTPUT_FILE}) set(CAMITK_TEST_COMMAND_ARG"$
Definition: CamiTKTestCompareFile.h:15
string name
Definition: select.cpp:111
set(CAMITK_TEST_COMMAND_FILE ${CAMITK_TEST_OUTPUT_DIR}/command) set(CAMITK_TEST_COMMAND_RESULT_FILE $
This CMake file run a command and put the output in a given file.
Definition: CamiTKTestPassFile.h:11
map< unsigned int, unsigned int >::iterator it
Definition: pml2wrl.cpp:50
Cell * c
Definition: pml2wrl.cpp:42
static void include(QRect &r, const QRect &rect)
Definition: canvas_typed/qtcanvas.cpp:98
#define C
Definition: gensphere.cpp:67
get_filename_component(OUTFILE ${CAMITK_TEST_PASS_FILE}NAME) set(CAMITK_TEST_COMMAND_OUTPUT_FILE $
This CMake file run a command and put the output in a given file.
Definition: CamiTKTestCompareFile.h:11