58 string(TOLOWER ${CAMITK_PROJECT_NAME} CPACK_PACKAGE_NAME)
59 set(CPACK_PACKAGE_VERSION_MAJOR ${CAMITK_VERSION_MAJOR})
60 set(CPACK_PACKAGE_VERSION_MINOR ${CAMITK_VERSION_MINOR})
61 set(CPACK_PACKAGE_VERSION_PATCH ${CAMITK_VERSION_PATCH})
62 set(CPACK_PACKAGE_VERSION
"${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
63 string(TOLOWER
"${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CAMITK_VER_NICKNAME}-${LSB_DISTRIB}_${CPACK_PACKAGE_ARCHITECTURE}" CPACK_PACKAGE_FILE_NAME)
65 set(CPACK_PACKAGE_VENDOR
"Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525")
67 set(CPACK_PACKAGE_CONTACT
"http://camitk.imag.fr")
68 set(CPACK_DEBIAN_PACKAGE_MAINTAINER
"Emmanuel Promayon <Emmanuel.Promayon@imag.fr>")
71 set(CPACK_RESOURCE_FILE_README
"${CMAKE_CURRENT_SOURCE_DIR}/README")
72 set(CPACK_RESOURCE_FILE_LICENSE
"${CMAKE_CURRENT_SOURCE_DIR}/COPYRIGHT")
75 set(CPACK_PACKAGE_EXECUTABLES
"camitk-imp" "camitk-imp" "camitk-actionstatemachine" "camitk-actionstatemachine")
78 set(CPACK_PACKAGE_DESCRIPTION
"CamiTK stands for Computer Assisted Medical Intervention Tool Kit and aims at providing an easy way to protype medical applications")
79 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.")
82 set(CPACK_SOURCE_IGNORE_FILES
94 "\\\\.kdevelop\\\\.pcs$" 96 ${CPACK_SOURCE_IGNORE_FILES}
99 set(CPACK_SOURCE_GENERATOR
"TGZ" "ZIP" )
103 if(CMAKE_SIZEOF_VOID_P EQUAL 8)
113 if (PACKAGING_NSIS AND UNIX AND NOT WIN32)
119 message(STATUS
"Packaging CamiTK for UNIX systems")
121 execute_process(COMMAND uname -m OUTPUT_VARIABLE CPACK_PACKAGE_ARCHITECTURE)
122 string(STRIP
"${CPACK_PACKAGE_ARCHITECTURE}" CPACK_PACKAGE_ARCHITECTURE)
126 string(STRIP
"${LSB_ID}" LSB_ID)
127 string(STRIP
"${LSB_RELEASE}" LSB_RELEASE)
128 set(LSB_DISTRIB
"${LSB_ID}${LSB_RELEASE}")
130 set(LSB_DISTRIB
"unix")
131 endif(NOT LSB_DISTRIB)
132 message(STATUS
"Packager architecture : ${LSB_DISTRIB}")
135 set(CPACK_DEBIAN_PACKAGE_SECTION
"science")
144 message(STATUS
"Packaging deb using ${DPKG_PATH}: OK")
145 set(DPKG_FOUND
"YES")
151 find_package(ITK REQUIRED)
155 set(CPACK_GENERATOR
"DEB" "RPM")
158 if (
"${LSB_DISTRIB}" MATCHES
"Ubuntu|Debian")
161 if(
"${CPACK_PACKAGE_ARCHITECTURE}" MATCHES
"i[3-6]86")
162 set(CPACK_PACKAGE_ARCHITECTURE i386)
164 if(
"${CPACK_PACKAGE_ARCHITECTURE}" MATCHES
"x86_64")
165 set(CPACK_PACKAGE_ARCHITECTURE amd64)
172 set(CPACK_SET_DESTDIR TRUE)
173 set(CPACK_PACKAGING_INSTALL_PREFIX
"/usr")
174 set(CPACK_PACKAGE_DEFAULT_LOCATION
"/usr")
180 if(
"${LSB_DISTRIB}" MATCHES
"Ubuntu12.04" 181 OR
"${LSB_DISTRIB}" MATCHES
"Ubuntu12.04.1" 182 OR
"${LSB_DISTRIB}" MATCHES
"Ubuntu12.10" 183 OR
"${LSB_DISTRIB}" MATCHES
"Ubuntu13.04" 184 OR
"${LSB_DISTRIB}" MATCHES
"Ubuntu13.10" 187 set(LSB_DISTRIB
"Ubuntu12.04to13.10")
188 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")
192 if (
"${LSB_DISTRIB}" MATCHES
"Debian7.*")
193 set(LSB_DISTRIB
"Debian-7.x-Wheezy")
194 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)")
197 if(NOT CPACK_DEBIAN_PACKAGE_DEPENDS)
198 message(STATUS
"Packaging for ${LSB_DISTRIB} not supported yet.\n")
204 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)
209 if(WIN32 AND MSVC AND PACKAGING_NSIS)
215 find_program(MAKENSIS makensis.exe)
217 message(STATUS
"NSIS Packaging using ${MAKENSIS}")
219 message(FATAL_ERROR
"NSIS executable (makensis.exe) is not installed or not in the system path. Please fix this problem for packaging.")
224 set(CPACK_PACKAGE_ARCHITECTURE amd64)
226 set(CPACK_PACKAGE_ARCHITECTURE i386)
228 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)
230 message(STATUS
"Packaging CamiTK for Windows: ${CPACK_PACKAGE_FILE_NAME}")
233 set(QT_PACKAGE_LIRABRIES
235 C:/dev/
Qt/4.8.5/bin/QtCore4.dll
236 C:/dev/
Qt/4.8.5/bin/QtGui4.dll
237 C:/dev/
Qt/4.8.5/bin/QtSvg4.dll
238 C:/dev/
Qt/4.8.5/bin/QtXml4.dll
239 C:/dev/
Qt/4.8.5/bin/QtNetwork4.dll
240 C:/dev/
Qt/4.8.5/bin/QtSql4.dll
241 C:/dev/
Qt/4.8.5/bin/QtWebKit4.dll
245 set(VTK_PACKAGE_LIBRARIES
246 C:/dev/VTK/5.10.1/bin/QVTK.dll
247 C:/dev/VTK/5.10.1/bin/vtkCommon.dll
248 C:/dev/VTK/5.10.1/bin/vtksys.dll
249 C:/dev/VTK/5.10.1/bin/vtkFiltering.dll
250 C:/dev/VTK/5.10.1/bin/vtkGraphics.dll
251 C:/dev/VTK/5.10.1/bin/vtkHybrid.dll
252 C:/dev/VTK/5.10.1/bin/vtkIO.dll
253 C:/dev/VTK/5.10.1/bin/vtkImaging.dll
254 C:/dev/VTK/5.10.1/bin/vtkRendering.dll
255 C:/dev/VTK/5.10.1/bin/vtkVolumeRendering.dll
256 C:/dev/VTK/5.10.1/bin/vtkverdict.dll
257 C:/dev/VTK/5.10.1/bin/vtkDICOMParser.dll
258 C:/dev/VTK/5.10.1/bin/vtkNetCDF.dll
259 C:/dev/VTK/5.10.1/bin/vtkNetCDF_cxx.dll
260 C:/dev/VTK/5.10.1/bin/vtkexpat.dll
261 C:/dev/VTK/5.10.1/bin/vtkjpeg.dll
262 C:/dev/VTK/5.10.1/bin/vtkmetaio.dll
263 C:/dev/VTK/5.10.1/bin/vtkpng.dll
264 C:/dev/VTK/5.10.1/bin/vtktiff.dll
265 C:/dev/VTK/5.10.1/bin/vtkzlib.dll
266 C:/dev/VTK/5.10.1/bin/vtkInfovis.dll
267 C:/dev/VTK/5.10.1/bin/vtkfreetype.dll
268 C:/dev/VTK/5.10.1/bin/vtkftgl.dll
269 C:/dev/VTK/5.10.1/bin/vtkalglib.dll
270 C:/dev/VTK/5.10.1/bin/vtklibxml2.dll
271 C:/dev/VTK/5.10.1/bin/vtkViews.dll
272 C:/dev/VTK/5.10.1/bin/vtkexoIIc.dll
273 C:/dev/VTK/5.10.1/bin/vtkWidgets.dll
274 C:/dev/VTK/5.10.1/bin/vtkhdf5.dll
275 C:/dev/VTK/5.10.1/bin/vtkhdf5_hl.dll
276 C:/dev/VTK/5.10.1/bin/LSDyna.dll
280 set(ITK_PACKAGE_LIBRARIES
281 C:/dev/ITK/4.3.2/bin/ITKCommon-4.3.dll
285 set(GDCM_PACKAGE_LIBRARIES
286 C:/dev/
gdcm/2.5/bin/vtkgdcm.dll
287 C:/dev/
gdcm/2.5/bin/gdcmcommon.dll
288 C:/dev/
gdcm/2.5/bin/gdcmcharls.dll
289 C:/dev/
gdcm/2.5/bin/gdcmdict.dll
290 C:/dev/
gdcm/2.5/bin/gdcmdsed.dll
291 C:/dev/
gdcm/2.5/bin/gdcmexpat.dll
292 C:/dev/
gdcm/2.5/bin/gdcmiod.dll
293 C:/dev/
gdcm/2.5/bin/gdcmjpeg12.dll
294 C:/dev/
gdcm/2.5/bin/gdcmjpeg16.dll
295 C:/dev/
gdcm/2.5/bin/gdcmjpeg8.dll
296 C:/dev/
gdcm/2.5/bin/gdcmmsff.dll
297 C:/dev/
gdcm/2.5/bin/gdcmopenjpeg.dll
298 C:/dev/
gdcm/2.5/bin/gdcmzlib.dll
299 C:/dev/
gdcm/2.5/bin/gdcmmsff.dll
302 set(LIBXML2_PACKAGE_LIBRARIES
303 C:/dev/libxml2/2.9.1/bin/libiconv-2.dll
304 C:/dev/libxml2/2.9.1/bin/libxml2-2.dll
305 C:/dev/libxml2/2.9.1/bin/zlib1.dll
308 set(XERCES_C_PACKAGE_LIBRARIES
309 C:/dev/xerces-c/3.1.1/bin/xerces-c_3_1.dll
315 set(QT_PACKAGE_LIRABRIES
316 C:/dev_x86/
Qt/4.8.5/bin/QtCore4.dll
317 C:/dev_x86/
Qt/4.8.5/bin/QtGui4.dll
318 C:/dev_x86/
Qt/4.8.5/bin/QtSvg4.dll
319 C:/dev_x86/
Qt/4.8.5/bin/QtXml4.dll
320 C:/dev_x86/
Qt/4.8.5/bin/QtNetwork4.dll
321 C:/dev_x86/
Qt/4.8.5/bin/QtSql4.dll
322 C:/dev_x86/
Qt/4.8.5/bin/QtWebKit4.dll
327 set(VTK_PACKAGE_LIBRARIES
328 C:/dev_x86/VTK/5.10.1/bin/QVTK.dll
329 C:/dev_x86/VTK/5.10.1/bin/vtkCommon.dll
330 C:/dev_x86/VTK/5.10.1/bin/vtksys.dll
331 C:/dev_x86/VTK/5.10.1/bin/vtkFiltering.dll
332 C:/dev_x86/VTK/5.10.1/bin/vtkGraphics.dll
333 C:/dev_x86/VTK/5.10.1/bin/vtkHybrid.dll
334 C:/dev_x86/VTK/5.10.1/bin/vtkIO.dll
335 C:/dev_x86/VTK/5.10.1/bin/vtkImaging.dll
336 C:/dev_x86/VTK/5.10.1/bin/vtkRendering.dll
337 C:/dev_x86/VTK/5.10.1/bin/vtkVolumeRendering.dll
338 C:/dev_x86/VTK/5.10.1/bin/vtkverdict.dll
339 C:/dev_x86/VTK/5.10.1/bin/vtkDICOMParser.dll
340 C:/dev_x86/VTK/5.10.1/bin/vtkNetCDF.dll
341 C:/dev_x86/VTK/5.10.1/bin/vtkNetCDF_cxx.dll
342 C:/dev_x86/VTK/5.10.1/bin/vtkexpat.dll
343 C:/dev_x86/VTK/5.10.1/bin/vtkjpeg.dll
344 C:/dev_x86/VTK/5.10.1/bin/vtkmetaio.dll
345 C:/dev_x86/VTK/5.10.1/bin/vtkpng.dll
346 C:/dev_x86/VTK/5.10.1/bin/vtktiff.dll
347 C:/dev_x86/VTK/5.10.1/bin/vtkzlib.dll
348 C:/dev_x86/VTK/5.10.1/bin/vtkInfovis.dll
349 C:/dev_x86/VTK/5.10.1/bin/vtkfreetype.dll
350 C:/dev_x86/VTK/5.10.1/bin/vtkftgl.dll
351 C:/dev_x86/VTK/5.10.1/bin/vtkalglib.dll
352 C:/dev_x86/VTK/5.10.1/bin/vtklibxml2.dll
353 C:/dev_x86/VTK/5.10.1/bin/vtkViews.dll
354 C:/dev_x86/VTK/5.10.1/bin/vtkexoIIc.dll
355 C:/dev_x86/VTK/5.10.1/bin/vtkWidgets.dll
356 C:/dev_x86/VTK/5.10.1/bin/vtkhdf5.dll
357 C:/dev_x86/VTK/5.10.1/bin/vtkhdf5_hl.dll
358 C:/dev_x86/VTK/5.10.1/bin/LSDyna.dll
362 set(ITK_PACKAGE_LIBRARIES
363 C:/dev_x86/ITK/4.3.2/bin/ITKCommon-4.3.dll
367 set(GDCM_PACKAGE_LIBRARIES
368 C:/dev_x86/
gdcm/2.2.5/bin/vtkgdcm.dll
369 C:/dev_x86/
gdcm/2.2.5/bin/gdcmcommon.dll
370 C:/dev_x86/
gdcm/2.2.5/bin/gdcmcharls.dll
371 C:/dev_x86/
gdcm/2.2.5/bin/gdcmdict.dll
372 C:/dev_x86/
gdcm/2.2.5/bin/gdcmdsed.dll
373 C:/dev_x86/
gdcm/2.2.5/bin/gdcmexpat.dll
374 C:/dev_x86/
gdcm/2.2.5/bin/gdcmiod.dll
375 C:/dev_x86/
gdcm/2.2.5/bin/gdcmjpeg12.dll
376 C:/dev_x86/
gdcm/2.2.5/bin/gdcmjpeg16.dll
377 C:/dev_x86/
gdcm/2.2.5/bin/gdcmjpeg8.dll
378 C:/dev_x86/
gdcm/2.2.5/bin/gdcmmsff.dll
379 C:/dev_x86/
gdcm/2.2.5/bin/gdcmopenjpeg.dll
380 C:/dev_x86/
gdcm/2.2.5/bin/gdcmzlib.dll
381 C:/dev_x86/
gdcm/2.2.5/bin/gdcmmsff.dll
384 set(LIBXML2_PACKAGE_LIBRARIES
385 C:/dev_x86/libxml2/2.7.8/bin/iconv.dll
386 C:/dev_x86/libxml2/2.7.8/bin/libxml2.dll
387 C:/dev_x86/libxml2/2.7.8/bin/zlib1.dll
390 set(XERCES_C_PACKAGE_LIBRARIES
391 C:/dev_x86/xerces-c/3.1.1/bin/xerces-c_3_1.dll
396 set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS
397 ${QT_PACKAGE_LIRABRIES}
398 ${VTK_PACKAGE_LIBRARIES}
399 ${ITK_PACKAGE_LIBRARIES}
400 ${GDCM_PACKAGE_LIBRARIES}
401 ${LIBXML2_PACKAGE_LIBRARIES}
402 ${XERCES_C_PACKAGE_LIBRARIES}
406 if(NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
407 SET(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
411 include(InstallRequiredSystemLibraries)
414 set(CAMITK_PACKAGE_ICON
"${CMAKE_CURRENT_SOURCE_DIR}\\\\sdk\\\\libraries\\\\core\\\\resources\\\\appIcon.ico")
415 set(CPACK_PACKAGE_ICON ${CAMITK_PACKAGE_ICON})
416 set(CPACK_NSIS_MUI_ICON ${CAMITK_PACKAGE_ICON})
417 set(CPACK_NSIS_MUI_UNIICON ${CAMITK_PACKAGE_ICON})
420 set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS
"CreateShortCut \\\"$DESKTOP\\\\${CAMITK_PROJECT_NAME}-imp.lnk\\\" \\\"$INSTDIR\\\\bin\\\\camitk-imp.exe\\\"")
423 set(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS
"Delete \\\"$DESKTOP\\\\${CAMITK_PROJECT_NAME}-imp.lnk\\\"")
426 set(CPACK_NSIS_DISPLAY_NAME
"CamiTK ${CAMITK_VERSION_MAJOR}.${CAMITK_VERSION_MINOR}.${CAMITK_VERSION_PATCH}")
427 set(CPACK_NSIS_INSTALLED_ICON_NAME ${CAMITK_PROJECT_NAME})
429 set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CAMITK_PROJECT_NAME})
430 set(CPACK_NSIS_HELP_LINK
"http:\\\\\\\\camitk.imag.fr")
431 set(CPACK_NSIS_URL_INFO_ABOUT
"http:\\\\\\\\camitk.imag.fr")
432 set(CPACK_NSIS_CONTACT ${CPACK_PACKAGE_CONTACT})
439 if(PACKAGING_NSIS AND APPLE)
441 set(CPACK_GENERATOR
"PackageMaker")
443 set(CPACK_COMPONENT_LIBRARIES_HIDDEN TRUE)
445 set(MACOSX_BUNDLE_BUNDLE_NAME ${CPACK_PACKAGE_NAME})
446 set(MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION})
447 set(MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION})
448 set(MACOSX_BUNDLE_LONG_VERSION_STRING
"Version ${PROJECT_VERSION}")
456 cpack_add_component_group(SDK
458 DISPLAY_NAME
"CamiTK SDK" 459 DESCRIPTION
"The CamiTK SDK features the core and basics extensions. CamiTK installation requires at least the SDK" 462 cpack_add_component_group(CEP_IMAGING
463 DISPLAY_NAME
"CEP Imaging" 464 DESCRIPTION
"The CamiTK Extension Project IMAGING contains image processing extensions. Those extensions are optional." 466 cpack_add_component_group(CEP_MODELING
467 DISPLAY_NAME
"CEP Modeling" 468 DESCRIPTION
"The CamiTK Extension Project MODELING contains biomechanical extensions. Those extensions are optional." 478 add_custom_target(camitk_package_source
479 COMMAND ${CMAKE_COMMAND}
480 -E copy ${CMAKE_CURRENT_BINARY_DIR}/CamiTKPackageVersion.h
481 ${CMAKE_CURRENT_SOURCE_DIR}/sdk/libraries/core/CamiTKVersion.h
482 COMMAND ${CMAKE_COMMAND}
483 --build ${CMAKE_BINARY_DIR}
484 --target package_source
485 COMMAND ${CMAKE_COMMAND}
486 -E
remove -f ${CMAKE_CURRENT_SOURCE_DIR}/sdk/libraries/core/CamiTKVersion.h
492 add_custom_target(camitk_package
493 COMMAND ${CMAKE_COMMAND}
494 -E copy ${CMAKE_CURRENT_BINARY_DIR}/sdk/libraries/core/CamiTKVersion.h
495 ${CMAKE_CURRENT_BINARY_DIR}/sdk/libraries/core/CamiTKVersion.h-backup
496 COMMAND ${CMAKE_COMMAND}
497 -E copy ${CMAKE_CURRENT_BINARY_DIR}/CamiTKPackageVersion.h
498 ${CMAKE_CURRENT_BINARY_DIR}/sdk/libraries/core/CamiTKVersion.h
499 COMMAND ${CMAKE_COMMAND}
500 --build ${CMAKE_BINARY_DIR}
501 --target PACKAGE --config Release
502 COMMAND ${CMAKE_COMMAND}
503 -E copy ${CMAKE_CURRENT_BINARY_DIR}/sdk/libraries/core/CamiTKVersion.h-backup
504 ${CMAKE_CURRENT_BINARY_DIR}/sdk/libraries/core/CamiTKVersion.h
camitk_opensource_packaging()
==================== Source Tar ball ====================
Definition: CamiTKOpenSourcePackaging.h:55
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
test result execute_process(COMMAND ${CMAKE_COMMAND} -E remove -f ${CAMITK_TEST_COMMAND_FILE} ${CAMITK_TEST_COMMAND_RESULT_FILE} ${CAMITK_TEST_COMMAND_OUTPUT_FILE} ${CAMITK_TEST_PASS_FILE_COMMAND_FILE} ${CAMITK_TEST_PASS_FILE_OUTPUT_FILE} ${CAMITK_TEST_PASS_FILE_RESULT_FILE}) file(WRITE $
Definition: CamiTKTestPassFile.h:19
static void include(QRect &r, const QRect &rect)
Definition: canvas_typed/qtcanvas.cpp:98