1 # \param DESCRIPTION Some comments on what is this CEP package about
30 # CEP Packaging only works
for stand-alone CEP
31 if (NOT CAMITK_EXTENSION_PROJECT_SET)
34 "NAMEVENDORCONTACTAPPLICATIONSDESCRIPTIONLICENSE" # possible lists
40 if (CAMITK_CEP_PACKAGING_NAME)
41 set(PACKAGING_NAME ${CAMITK_CEP_PACKAGING_NAME})
43 # package name is project name
44 set(PACKAGING_NAME ${CMAKE_PROJECT_NAME})
46 string(TOLOWER ${PACKAGING_NAME} CPACK_PACKAGE_NAME)
47 set(CPACK_PACKAGE_VERSION_MAJOR ${CAMITK_VERSION_MAJOR})
48 set(CPACK_PACKAGE_VERSION_MINOR ${CAMITK_VERSION_MINOR})
49 set(CPACK_PACKAGE_VERSION_PATCH
"0")
50 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)
53 if (CAMITK_CEP_PACKAGING_VENDOR)
54 set(CPACK_PACKAGE_VENDOR ${CAMITK_CEP_PACKAGING_VENDOR})
56 set(CPACK_PACKAGE_VENDOR "UJF-Grenoble 1,
CNRS, TIMC-IMAG UMR 5525
")
58 if (CAMITK_CEP_PACKAGING_CONTACT)
59 set(CPACK_PACKAGE_CONTACT ${CAMITK_CEP_PACKAGING_CONTACT})
61 set(CPACK_PACKAGE_CONTACT "http:
65 if(EXISTS
"${CMAKE_CURRENT_SOURCE_DIR}/README")
66 set(CPACK_RESOURCE_FILE_README
"${CMAKE_CURRENT_SOURCE_DIR}/README")
68 if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/COPYRIGHT
")
69 set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYRIGHT
")
72 # applications / executable
73 set(EXECUTABLES_TO_PACKAGE)
74 foreach(APPLICATION_TARGET_NAME ${CAMITK_APPLICATION_TARGETS})
75 # name and label are the same
76 set(EXECUTABLES_TO_PACKAGE ${EXECUTABLES_TO_PACKAGE} ${APPLICATION_TARGET_NAME} ${APPLICATION_TARGET_NAME})
78 set(CPACK_PACKAGE_EXECUTABLES ${EXECUTABLES_TO_PACKAGE})
81 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${CAMITK_CEP_PACKAGING_DESCRIPTION})
83 # Files to ignore during generation of the package
84 set(CPACK_SOURCE_IGNORE_FILES
94 "\\\\.kdevelop\\\\.pcs$
"
96 ${CPACK_SOURCE_IGNORE_FILES}
99 set(CPACK_SOURCE_GENERATOR "TGZ
" "ZIP
" )
101 # ----------------------------------
102 # Unix packages (Ubuntu and Debian)
103 # ----------------------------------
104 if (UNIX AND NOT WIN32)
106 message(STATUS "Packaging ${CPACK_PACKAGE_NAME}
for UNIX systems
")
107 # Try to find architecture
108 execute_process(COMMAND uname -m OUTPUT_VARIABLE CPACK_PACKAGE_ARCHITECTURE)
109 string(STRIP "${CPACK_PACKAGE_ARCHITECTURE}
" CPACK_PACKAGE_ARCHITECTURE)
110 # Try to find distro name and distro-specific arch
111 execute_process(COMMAND lsb_release -is OUTPUT_VARIABLE LSB_ID)
112 execute_process(COMMAND lsb_release -rs OUTPUT_VARIABLE LSB_RELEASE)
113 string(STRIP "${LSB_ID}
" LSB_ID)
114 string(STRIP "${LSB_RELEASE}
" LSB_RELEASE)
115 set(LSB_DISTRIB "${LSB_ID}${LSB_RELEASE}
")
117 set(LSB_DISTRIB "unix
")
118 endif(NOT LSB_DISTRIB)
119 message(STATUS "Packager architecture : ${LSB_DISTRIB}
")
124 PATHS "/usr/bin
" #Add paths here
127 get_filename_component(DPKG_PATH ${DPKG} ABSOLUTE)
128 message(STATUS "Packaging deb
using ${DPKG_PATH}: OK
")
129 set(DPKG_FOUND "YES
")
134 # For Debian-based distribs we want to create DEB packages.
135 if("${LSB_DISTRIB}
" MATCHES "Ubuntu|Debian
")
137 # We need to alter the architecture names as per distro rules
138 if("${CPACK_PACKAGE_ARCHITECTURE}
" MATCHES "i[3-6]86
")
139 set(CPACK_PACKAGE_ARCHITECTURE i386)
141 if("${CPACK_PACKAGE_ARCHITECTURE}
" MATCHES "x86_64
")
142 set(CPACK_PACKAGE_ARCHITECTURE amd64)
144 # Set the dependencies based on the distrib version
147 # Set the install location to "/usr
"
148 # set(CAMITK_INSTALL_ROOT "/usr
") # Set the CamiTK install root path in your CMake command line / GUI.
149 set(CPACK_PACKAGING_INSTALL_PREFIX "/usr
")
150 set(CPACK_PACKAGE_DEFAULT_LOCATION "/usr
")
151 set(CPACK_SET_DESTDIR TRUE)
153 # Dependencies depending on the Operating System.
155 if("${LSB_DISTRIB}
" MATCHES "Ubuntu11.10
")
156 set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt4-
dev, libinsighttoolkit3.20, libxml2, libvtk5.6-qt4, libxerces-c3.1
")
159 if("${LSB_DISTRIB}
" MATCHES "Ubuntu12.04
")
160 set(LSB_DISTRIB "Ubuntu12.xx
")
161 set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt4-
dev, libinsighttoolkit3.20, libxml2, libvtk5.8-qt4, libxerces-c3.1
")
163 if("${LSB_DISTRIB}
" MATCHES "Ubuntu12.04.1
")
164 set(LSB_DISTRIB "Ubuntu12.xx
")
165 set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt4-
dev, libinsighttoolkit3.20, libxml2, libvtk5.8-qt4, libxerces-c3.1
")
168 if("${LSB_DISTRIB}
" MATCHES "Ubuntu12.10
")
169 set(LSB_DISTRIB "Ubuntu12.xx
")
170 set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt4-
dev, libinsighttoolkit3.20, libxml2, libvtk5.8-qt4, libxerces-c3.1
")
173 # TODO Debian dependencies (see CamiTKPackaging.cmake)
175 if(NOT CPACK_DEBIAN_PACKAGE_DEPENDS)
176 message(STATUS "Packaging
for ${LSB_DISTRIB} not supported yet.\nPlease
set deps in cmake/darktable-packaging.cmake before packaging.
")
182 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)
188 if(WIN32 AND NOT UNIX)
189 # -----------------------
190 # NSIS Windows installer
191 # -----------------------
193 # Update package name for windows release
194 set(LSB_DISTRIB "win32
")
195 set(CPACK_PACKAGE_ARCHITECTURE i386)
196 string(TOLOWER "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}-${CAMITK_VER_NICKNAME}-${LSB_DISTRIB}
" CPACK_PACKAGE_FILE_NAME)
198 # Try to find Makensis on Linux distribution
199 find_program(MAKENSIS
205 set(ITK_ROOT_DIR "C:/dev/ITK/3.20.1
")
208 if ("${CMAKE_GENERATOR}
" MATCHES "MinGW Makefiles
")
209 # NSIS Windows installer
210 message(STATUS "Packaging nsis
using ${MAKENSIS} with MinGW compiler
")
212 set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS
213 ##TODO use GetPrerequisites.cmake (i.e. find a better way to list dependencies)
214 ##get_prerequisites() is not well enough documented to justify the time investement - EP May 2011
215 ${QT_BINARY_DIR}/QtCore4.dll
216 ${QT_BINARY_DIR}/QtGui4.dll
217 ${QT_BINARY_DIR}/QtSvg4.dll
218 ${QT_BINARY_DIR}/QtXml4.dll
219 ${QT_BINARY_DIR}/QtNetwork4.dll
220 ${QT_BINARY_DIR}/QtSql4.dll
221 ${QT_BINARY_DIR}/QtWebKit4.dll
223 ${VTK_LIBRARY_DIRS}/libQVTK.dll
224 ${VTK_LIBRARY_DIRS}/libvtkCommon.dll
225 ${VTK_LIBRARY_DIRS}/libvtksys.dll
226 ${VTK_LIBRARY_DIRS}/libvtkFiltering.dll
227 ${VTK_LIBRARY_DIRS}/libvtkGraphics.dll
228 ${VTK_LIBRARY_DIRS}/libvtkHybrid.dll
229 ${VTK_LIBRARY_DIRS}/libvtkIO.dll
230 ${VTK_LIBRARY_DIRS}/libvtkImaging.dll
231 ${VTK_LIBRARY_DIRS}/libvtkRendering.dll
232 ${VTK_LIBRARY_DIRS}/libvtkVolumeRendering.dll
233 ${VTK_LIBRARY_DIRS}/libvtkverdict.dll
234 ${VTK_LIBRARY_DIRS}/libvtkDICOMParser.dll
235 ${VTK_LIBRARY_DIRS}/libvtkNetCDF.dll
236 ${VTK_LIBRARY_DIRS}/libvtkNetCDF_cxx.dll
237 ${VTK_LIBRARY_DIRS}/libvtkexpat.dll
238 ${VTK_LIBRARY_DIRS}/libvtkjpeg.dll
239 ${VTK_LIBRARY_DIRS}/libvtkmetaio.dll
240 ${VTK_LIBRARY_DIRS}/libvtkpng.dll
241 ${VTK_LIBRARY_DIRS}/libvtktiff.dll
242 ${VTK_LIBRARY_DIRS}/libvtkzlib.dll
243 ${VTK_LIBRARY_DIRS}/libvtkInfovis.dll
244 ${VTK_LIBRARY_DIRS}/libvtkfreetype.dll
245 ${VTK_LIBRARY_DIRS}/libvtkftgl.dll
246 ${VTK_LIBRARY_DIRS}/libvtkalglib.dll
247 ${VTK_LIBRARY_DIRS}/libvtklibxml2.dll
248 ${VTK_LIBRARY_DIRS}/libvtkViews.dll
249 ${VTK_LIBRARY_DIRS}/libvtkexoIIc.dll
250 ${VTK_LIBRARY_DIRS}/libvtkWidgets.dll
251 ${VTK_LIBRARY_DIRS}/vtkhdf5.dll
252 ${VTK_LIBRARY_DIRS}/vtkhdf5_hl.dll
253 ${VTK_LIBRARY_DIRS}/libLSDyna.dll
254 # Xerces-c dependency
255 # ${XERCESC_ROOT_DIR}/bin/xerces-c_3_1.dll
256 # Libxml2 dependencies
257 # ${LIBXML2_INCLUDE_DIR}/../bin/iconv.dll
258 C:/dev/libxml2/2.8/bin/libxml2-2.dll
259 # ${LIBXML2_INCLUDE_DIR}/../bin/zlib1.dll
261 ${ITK_ROOT_DIR}/bin/libITKAlgorithms.dll
262 ${ITK_ROOT_DIR}/bin/libITKCommon.dll
263 ${ITK_ROOT_DIR}/bin/libITKBasicFilters.dll
264 ${ITK_ROOT_DIR}/lib/InsightToolkit/libitksys.dll
265 ${ITK_ROOT_DIR}/bin/libitkvnl.dll
266 ${ITK_ROOT_DIR}/bin/libitkvnl_algo.dll
267 ${ITK_ROOT_DIR}/bin/libITKIO.dll
268 ${ITK_ROOT_DIR}/bin/libitkv3p_lsqr.dll
269 ${ITK_ROOT_DIR}/bin/libitkv3p_netlib.dll
270 ${ITK_ROOT_DIR}/bin/libITKDICOMParser.dll
271 ${ITK_ROOT_DIR}/bin/libITKEXPAT.dll
272 ${ITK_ROOT_DIR}/bin/libitkgdcm.dll
273 ${ITK_ROOT_DIR}/bin/libitkjpeg8.dll
274 ${ITK_ROOT_DIR}/bin/libITKMetaIO.dll
275 ${ITK_ROOT_DIR}/bin/libITKniftiio.dll
276 ${ITK_ROOT_DIR}/bin/libITKNrrdIO.dll
277 ${ITK_ROOT_DIR}/bin/libitkpng.dll
278 ${ITK_ROOT_DIR}/bin/libitktiff.dll
279 ${ITK_ROOT_DIR}/bin/libitkzlib.dll
280 ${ITK_ROOT_DIR}/bin/libitkjpeg12.dll
281 ${ITK_ROOT_DIR}/bin/libitkjpeg16.dll
282 ${ITK_ROOT_DIR}/bin/libitkopenjpeg.dll
283 ${ITK_ROOT_DIR}/bin/libITKznz.dll
285 C:/dev/MinGW/bin/libgcc_s_dw2-1.dll
286 C:/dev/MinGW/bin/libstdc++-6.dll
287 C:/dev/MinGW/bin/mingwm10.dll
295 message(STATUS "Packaging nsis
using ${MAKENSIS} with MSVC compiler
")
297 set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS
298 ##TODO use GetPrerequisites.cmake (i.e. find a better way to list dependencies)
299 ##get_prerequisites() is not well enough documented to justify the time investement - EP May 2011
301 ${QT_BINARY_DIR}/QtCore4.dll
302 ${QT_BINARY_DIR}/QtGui4.dll
303 ${QT_BINARY_DIR}/QtSvg4.dll
304 ${QT_BINARY_DIR}/QtXml4.dll
305 ${QT_BINARY_DIR}/QtNetwork4.dll
306 ${QT_BINARY_DIR}/QtSql4.dll
307 ${QT_BINARY_DIR}/QtWebKit4.dll
309 ${VTK_DIR}/../../bin/QVTK.dll
310 ${VTK_DIR}/../../bin/vtkCommon.dll
311 ${VTK_DIR}/../../bin/vtksys.dll
312 ${VTK_DIR}/../../bin/vtkFiltering.dll
313 ${VTK_DIR}/../../bin/vtkGraphics.dll
314 ${VTK_DIR}/../../bin/vtkHybrid.dll
315 ${VTK_DIR}/../../bin/vtkIO.dll
316 ${VTK_DIR}/../../bin/vtkImaging.dll
317 ${VTK_DIR}/../../bin/vtkRendering.dll
318 ${VTK_DIR}/../../bin/vtkVolumeRendering.dll
319 ${VTK_DIR}/../../bin/vtkverdict.dll
320 ${VTK_DIR}/../../bin/vtkDICOMParser.dll
321 ${VTK_DIR}/../../bin/vtkNetCDF.dll
322 ${VTK_DIR}/../../bin/vtkNetCDF_cxx.dll
323 ${VTK_DIR}/../../bin/vtkexpat.dll
324 ${VTK_DIR}/../../bin/vtkjpeg.dll
325 ${VTK_DIR}/../../bin/vtkmetaio.dll
326 ${VTK_DIR}/../../bin/vtkpng.dll
327 ${VTK_DIR}/../../bin/vtktiff.dll
328 ${VTK_DIR}/../../bin/vtkzlib.dll
329 ${VTK_DIR}/../../bin/vtkInfovis.dll
330 ${VTK_DIR}/../../bin/vtkfreetype.dll
331 ${VTK_DIR}/../../bin/vtkftgl.dll
332 ${VTK_DIR}/../../bin/vtkalglib.dll
333 ${VTK_DIR}/../../bin/vtklibxml2.dll
334 ${VTK_DIR}/../../bin/vtkViews.dll
335 ${VTK_DIR}/../../bin/vtkexoIIc.dll
336 ${VTK_DIR}/../../bin/vtkWidgets.dll
337 ${VTK_DIR}/../../bin/vtkhdf5.dll
338 ${VTK_DIR}/../../bin/vtkhdf5_hl.dll
339 ${VTK_DIR}/../../bin/LSDyna.dll
340 # Xerces-c dependency
341 ${XERCESC_ROOT_DIR}/bin/xerces-c_3_1.dll
342 # Libxml2 dependencies
343 ${LIBXML2_INCLUDE_DIR}/../bin/iconv.dll
344 ${LIBXML2_INCLUDE_DIR}/../bin/libxml2.dll
345 ${LIBXML2_INCLUDE_DIR}/../bin/zlib1.dll
347 ${ITK_DIR}/../../bin/ITKCommon.dll
351 # Copy those dependencies DLLs if packaging on Windows.
353 include(InstallRequiredSystemLibraries)
357 set(CAMITK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\core\\\\resources\\\\appIcon.ico
") #set here the current icon for CamiTK apps
358 set(CPACK_PACKAGE_ICON ${CAMITK_PACKAGE_ICON}) #icon for the top bar NSIS installer
359 set(CPACK_NSIS_MUI_ICON ${CAMITK_PACKAGE_ICON}) #icon for the generated install program (the .exe to run to install CamiTK).
360 set(CPACK_NSIS_MUI_UNIICON ${CAMITK_PACKAGE_ICON}) #icon for the generated uninstall program (the .exe to run to uninstall CamiTK).
364 set(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_NAME} ${CAMITK_VERSION_MAJOR}.${CAMITK_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}
")
365 set(CPACK_NSIS_INSTALLED_ICON_NAME ${CPACK_PACKAGE_NAME})
367 set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME})
368 set(CPACK_NSIS_HELP_LINK "http:\\\\\\\\camitk.imag.fr
")
369 set(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\camitk.imag.fr
")
370 set(CPACK_NSIS_CONTACT ${CPACK_PACKAGE_CONTACT})
371 include(InstallRequiredSystemLibraries)
373 message(STATUS "Can not find makensis: nsis packaging is not possible
")
383 set(CPACK_GENERATOR "PackageMaker
")
384 # Libraries are bundled directly
385 set(CPACK_COMPONENT_LIBRARIES_HIDDEN TRUE)
387 set(MACOSX_BUNDLE_BUNDLE_NAME ${CPACK_PACKAGE_NAME})
388 set(MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION})
389 set(MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION})
390 set(MACOSX_BUNDLE_LONG_VERSION_STRING "Version ${PROJECT_VERSION}
")
396 # ----------------------------
397 # CamiTK's own package (.cep)
398 # ----------------------------
399 # TODO install a CEP in CamiTK
400 # TODO CamiTK Market Place
401 set(CEP_PACKAGING_DIR "${CMAKE_BINARY_DIR}/CamiTKExtensionPackage
")
402 set(CEP_PACKAGE_NAME "${CPACK_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.cep
")
404 add_custom_target(camitk_extension_${PROJECT_NAME}_package
405 # configure for packaging
406 COMMAND ${CMAKE_COMMAND} -DPACKAGING_NSIS:BOOL=ON ${CMAKE_BINARY_DIR}
408 COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR}
409 # clean CEP package structure
410 COMMAND ${CMAKE_COMMAND} -E remove_directory "${CEP_PACKAGING_DIR}
"
411 COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_BINARY_DIR}/${CEP_PACKAGE_NAME}
412 COMMAND ${CMAKE_COMMAND} -E make_directory "${CEP_PACKAGING_DIR}
"
413 COMMAND ${CMAKE_COMMAND} -E make_directory "${CEP_PACKAGING_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/cep
"
415 COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_BINARY_DIR}/lib
" "${CEP_PACKAGING_DIR}/lib
"
416 COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_BINARY_DIR}/bin
" "${CEP_PACKAGING_DIR}/bin
"
417 COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_BINARY_DIR}/
include" "${CEP_PACKAGING_DIR}/
include"
418 COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_BINARY_DIR}/share
" "${CEP_PACKAGING_DIR}/share
"
420 COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/CEPPackageManifest.xml ${CEP_PACKAGING_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/cep/${CPACK_PACKAGE_NAME}.xml
422 COMMAND ${CMAKE_COMMAND} -E tar cvz "${CMAKE_BINARY_DIR}/${CEP_PACKAGE_NAME}
" "${CEP_PACKAGING_DIR}/
"
423 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
424 # configure back for normal build
425 COMMAND ${CMAKE_COMMAND} -DPACKAGING_NSIS:BOOL=OFF ${CMAKE_BINARY_DIR}
426 COMMENT "Building ${CEP_PACKAGE_NAME}
"
431 execute_process(COMMAND "${CAMITK_DIR}/bin/camitk-config
" "--timeStamp
"
432 RESULT_VARIABLE CAMITK_CONFIG_TIMESTAMP_RETURN_CODE
433 OUTPUT_VARIABLE CAMITK_CONFIG_TIMESTAMP_OUTPUT
434 ERROR_VARIABLE CAMITK_CONFIG_TIMESTAMP_OUTPUT_ERROR
435 OUTPUT_STRIP_TRAILING_WHITESPACE
436 ERROR_STRIP_TRAILING_WHITESPACE
440 set(CEP_PACKAGE_MANIFEST_XML "<?xml
version=\
"1.0\"?>\n<cep>")
441 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <!-- CamiTK Extension Project Manifest File -->")
442 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <name>${CPACK_PACKAGE_NAME}</name>")
443 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <contact>${CAMITK_CEP_PACKAGING_CONTACT}</contact>")
444 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <description>${CAMITK_CEP_PACKAGING_DESCRIPTION}</description>")
445 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <license>${CAMITK_CEP_PACKAGING_LICENSE}</license>")
446 if (NOT CAMITK_CONFIG_TIMESTAMP_RETURN_CODE)
447 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <timeStamp>${CAMITK_CONFIG_TIMESTAMP_OUTPUT}</timeStamp>")
449 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <actions>")
450 foreach(TARGET_NAME_ITERATOR ${CAMITK_ACTION_TARGETS})
451 string(REPLACE
"action-" "" TARGET_NAME ${TARGET_NAME_ITERATOR})
452 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <action>${TARGET_NAME}</action>")
454 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" </actions>")
455 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <components>")
456 foreach(TARGET_NAME_ITERATOR ${CAMITK_COMPONENT_TARGETS})
457 string(REPLACE
"component-" "" TARGET_NAME ${TARGET_NAME_ITERATOR})
458 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <component>${TARGET_NAME}</component>")
460 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" </components>")
461 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <libraries>")
462 foreach(TARGET_NAME_ITERATOR ${CAMITK_CEP_LIBRARY_TARGETS})
463 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <library>${TARGET_NAME_ITERATOR}</library>")
465 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" </libraries>")
466 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <applications>")
467 foreach(TARGET_NAME_ITERATOR ${CAMITK_APPLICATION_TARGETS})
468 string(REPLACE
"application-" "" TARGET_NAME ${TARGET_NAME_ITERATOR})
469 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <application>${TARGET_NAME}</application>")
471 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" </applications>")
472 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
"</cep>")
473 # replace all
"" by \n
474 string (REGEX REPLACE
"([^\\]|^)" "\\1\n" CEP_PACKAGE_MANIFEST_XML_TMP
"${CEP_PACKAGE_MANIFEST_XML}")
475 string (REGEX REPLACE
"[\\](.)" "\\1" CEP_PACKAGE_MANIFEST_XML_TEXT
"${CEP_PACKAGE_MANIFEST_XML_TMP}")
#fixes escaping
477 file(WRITE ${CMAKE_BINARY_DIR}/CEPPackageManifest.xml ${CEP_PACKAGE_MANIFEST_XML_TEXT})
478 message(STATUS
"Generated CEP manifest in CEPPackageManifest.xml")
481 endif()
# Standalone CEP
bin camitk config camitkDir n mismatch required version
Definition: FindCamiTK.cmake:187
CNRS
Definition: CamiTKOpenSourcePackaging.cmake:72
OpenCVConfig cmake include("${OpenCV_DIR}/OpenCVConfig.cmake") set(CVLIB_SUFFIX"$
Definition: FindOpenCV.cmake:71
camitk_cep_packaging()
CamiTK cep packaging allows you to build a package from a CEP If README and COPYRIGHT files exists at...
Definition: CamiTKCEPPackaging.h:28
config endif() if(EXISTS"$
Definition: FindCamiTK.cmake:76
set(CAMITK_TEST_PLATEFORM ${Plateform}) set(CAMITK_SVN_SUBDIR $
Definition: CamiTKTestBuildMacros.cmake:15
CamiTK CamiTKDir txt file(STRINGS"${FIND_CAMITK_USER_BASE_DIR}/CamiTK/CamiTKDir.txt"FIND_CAMITK_USER_DIR_LAST_INSTALL) endif() find_program(CAMITK_CONFIG_EXECUTABLE NAMES camitk-config-debug camitk-config PATH_SUFFIXES"bin"PATHS"$
Definition: FindCamiTK.cmake:80
if(NOT DEFINED CTEST_SOURCE_DIRECTORY) message(FATAL_ERROR"Please provide the source directory of the continuous test with the CTEST_SOURCE_DIRECTORY argument") endif() if(NOT DEFINED CTEST_BINARY_DIRECTORY) message(FATAL_ERROR"Please provide the build directory of the continuous test with the CTEST_BINARY_DIRECTORY argument") endif() if(CAMITK_CONTINUOUS_INTEGRATION) string(REGEX REPLACE"^(.*)-.*-.*""\\1"COMPILER"$
Definition: continuous.cmake:21
message(STATUS"Looking for CamiTK ${CamiTK_FIND_VERSION}") set(CAMITK_FOUND FALSE) set(CAMITK_USE_FILE"CamiTKConfig.cmake") set(CAMITK_DIR_DESCRIPTION"directory containing a build tree or install tree of CamiTK.\n It must have the camitk-config binary in its 'bin' subdirectory.") if(WIN32) set(FIND_CAMITK_USER_BASE_DIR $ENV
Definition: FindCamiTK.cmake:54
EXTENSION_NAME parse_arguments(${EXTENSION_NAME_CMAKE}#prefix"NEEDS_TOOL;NEEDS_CEP_LIBRARIES;NEEDS_COMPONENT_EXTENSION;NEEDS_ACTION_EXTENSION;INCLUDE_DIRECTORIES;EXTERNAL_LIBRARIES;HEADERS_TO_INSTALL;DEFINES;CXX_FLAGS;EXTERNAL_SOURCES;TARGET_NAME;CEP_NAME;DESCRIPTION;TEST_APPLICATION"#possible lists"NEEDS_QT_MODULES;ACTION_EXTENSION;COMPONENT_EXTENSION;DISABLED;NEEDS_XERCESC;NEEDS_ITK;NEEDS_LIBXML2;NEEDS_XSD;NEEDS_QTXML;NEEDS_OPENCV;NEEDS_IGSTK;INSTALL_ALL_HEADERS;NEEDS_GDCM;"#possible options ${ARGN}) if($
Definition: CamiTKExtension.cmake:82
string(REGEX REPLACE"^.*-(.*)-.*""\\1"ARCH"${CAMITK_CONTINUOUS_INTEGRATION}") string(REGEX REPLACE"^.*-.*-(.*)""\\1"BUILDTYPE"$
Definition: continuous.cmake:34
libvtk5 libqt4 dev
Definition: CamiTKOpenSourcePackaging.cmake:198