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
39 # Clean list of targets by removing duplicates
40 # Those may appear
if configuring more than once (i.e. by manually clicking more than once on the
CMake configure
41 # button before generating
42 list(REMOVE_DUPLICATES CAMITK_ACTION_TARGETS)
43 list(REMOVE_DUPLICATES CAMITK_COMPONENT_TARGETS)
44 list(REMOVE_DUPLICATES CAMITK_CEP_LIBRARY_TARGETS)
45 list(REMOVE_DUPLICATES CAMITK_APPLICATION_TARGETS)
48 if (CAMITK_CEP_PACKAGING_NAME)
49 set(PACKAGING_NAME ${CAMITK_CEP_PACKAGING_NAME})
51 # package name is project name
52 set(PACKAGING_NAME ${CMAKE_PROJECT_NAME})
54 string(TOLOWER ${PACKAGING_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
"0")
58 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)
61 if (CAMITK_CEP_PACKAGING_VENDOR)
62 set(CPACK_PACKAGE_VENDOR ${CAMITK_CEP_PACKAGING_VENDOR})
64 set(CPACK_PACKAGE_VENDOR
"Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525")
66 if (CAMITK_CEP_PACKAGING_CONTACT)
67 set(CPACK_PACKAGE_CONTACT ${CAMITK_CEP_PACKAGING_CONTACT})
69 set(CPACK_PACKAGE_CONTACT
"http://camitk.imag.fr")
73 if(EXISTS
"${CMAKE_CURRENT_SOURCE_DIR}/README")
74 set(CPACK_RESOURCE_FILE_README
"${CMAKE_CURRENT_SOURCE_DIR}/README")
76 if(EXISTS
"${CMAKE_CURRENT_SOURCE_DIR}/COPYRIGHT")
77 set(CPACK_RESOURCE_FILE_LICENSE
"${CMAKE_CURRENT_SOURCE_DIR}/COPYRIGHT")
80 # applications / executable
81 set(EXECUTABLES_TO_PACKAGE)
82 foreach(APPLICATION_TARGET_NAME ${CAMITK_APPLICATION_TARGETS})
83 # name and label are the same
84 set(EXECUTABLES_TO_PACKAGE ${EXECUTABLES_TO_PACKAGE} ${APPLICATION_TARGET_NAME} ${APPLICATION_TARGET_NAME})
86 set(CPACK_PACKAGE_EXECUTABLES ${EXECUTABLES_TO_PACKAGE})
89 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${CAMITK_CEP_PACKAGING_DESCRIPTION})
91 # Files to ignore during generation of the package
92 set(CPACK_SOURCE_IGNORE_FILES
102 "\\\\.kdevelop\\\\.pcs$" 104 ${CPACK_SOURCE_IGNORE_FILES}
107 set(CPACK_SOURCE_GENERATOR
"TGZ" "ZIP" )
109 # ----------------------------------
110 # Unix packages (Ubuntu and Debian)
111 # ----------------------------------
112 if (UNIX AND NOT WIN32)
114 message(STATUS
"Packaging ${CPACK_PACKAGE_NAME} for UNIX systems")
115 # Try to find architecture
116 execute_process(COMMAND uname -m OUTPUT_VARIABLE CPACK_PACKAGE_ARCHITECTURE)
117 string(STRIP
"${CPACK_PACKAGE_ARCHITECTURE}" CPACK_PACKAGE_ARCHITECTURE)
118 # Try to find distro name and distro-specific arch
121 string(STRIP
"${LSB_ID}" LSB_ID)
122 string(STRIP
"${LSB_RELEASE}" LSB_RELEASE)
123 set(LSB_DISTRIB
"${LSB_ID}${LSB_RELEASE}")
125 set(LSB_DISTRIB
"unix")
126 endif(NOT LSB_DISTRIB)
127 message(STATUS
"Packager architecture : ${LSB_DISTRIB}")
132 PATHS
"/usr/bin" #Add paths here
136 message(STATUS
"Packaging deb using ${DPKG_PATH}: OK")
137 set(DPKG_FOUND
"YES")
142 # For Debian-based distribs we want to create DEB packages.
143 if(
"${LSB_DISTRIB}" MATCHES
"Ubuntu|Debian")
145 # We need to alter the architecture names as per distro rules
146 if(
"${CPACK_PACKAGE_ARCHITECTURE}" MATCHES
"i[3-6]86")
147 set(CPACK_PACKAGE_ARCHITECTURE i386)
149 if(
"${CPACK_PACKAGE_ARCHITECTURE}" MATCHES
"x86_64")
150 set(CPACK_PACKAGE_ARCHITECTURE amd64)
152 # Set the dependencies based on the distrib version
155 # Set the install location to
"/usr" 156 #
set(CAMITK_INSTALL_ROOT
"/usr") # Set the CamiTK install root path in your
CMake command line / GUI.
157 set(CPACK_PACKAGING_INSTALL_PREFIX
"/usr")
158 set(CPACK_PACKAGE_DEFAULT_LOCATION
"/usr")
159 set(CPACK_SET_DESTDIR TRUE)
161 # Dependencies depending on the Operating System.
163 if(
"${LSB_DISTRIB}" MATCHES
"Ubuntu11.10")
164 set(CPACK_DEBIAN_PACKAGE_DEPENDS
"libqt4-dev, libinsighttoolkit3.20, libxml2, libvtk5.6-qt4, libxerces-c3.1 ")
167 if(
"${LSB_DISTRIB}" MATCHES
"Ubuntu12.04")
168 set(LSB_DISTRIB
"Ubuntu12.xx")
169 set(CPACK_DEBIAN_PACKAGE_DEPENDS
"libqt4-dev, libinsighttoolkit3.20, libxml2, libvtk5.8-qt4, libxerces-c3.1 ")
171 if(
"${LSB_DISTRIB}" MATCHES
"Ubuntu12.04.1")
172 set(LSB_DISTRIB
"Ubuntu12.xx")
173 set(CPACK_DEBIAN_PACKAGE_DEPENDS
"libqt4-dev, libinsighttoolkit3.20, libxml2, libvtk5.8-qt4, libxerces-c3.1 ")
176 if(
"${LSB_DISTRIB}" MATCHES
"Ubuntu12.10")
177 set(LSB_DISTRIB
"Ubuntu12.xx")
178 set(CPACK_DEBIAN_PACKAGE_DEPENDS
"libqt4-dev, libinsighttoolkit3.20, libxml2, libvtk5.8-qt4, libxerces-c3.1 ")
181 # TODO Debian dependencies (see CamiTKPackaging.cmake)
183 if(NOT CPACK_DEBIAN_PACKAGE_DEPENDS)
184 message(STATUS
"Packaging for ${LSB_DISTRIB} not supported yet.\nPlease set deps in cmake/darktable-packaging.cmake before packaging.")
190 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)
196 if(WIN32 AND NOT UNIX)
197 # -----------------------
198 # NSIS Windows installer
199 # -----------------------
201 # Update package name
for windows release
202 set(LSB_DISTRIB
"win32")
203 set(CPACK_PACKAGE_ARCHITECTURE i386)
204 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)
206 # Try to find Makensis on Linux distribution
207 find_program(MAKENSIS
213 set(ITK_ROOT_DIR
"C:/dev/ITK/3.20.1")
216 if (
"${CMAKE_GENERATOR}" MATCHES
"MinGW Makefiles")
217 # NSIS Windows installer
218 message(STATUS
"Packaging nsis using ${MAKENSIS} with MinGW compiler")
220 set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS
221 ##TODO use GetPrerequisites.cmake (i.e. find a better way to list dependencies)
222 ##get_prerequisites() is not well enough documented to justify the time investement - EP May 2011 223 ${QT_BINARY_DIR}/QtCore4.dll
224 ${QT_BINARY_DIR}/QtGui4.dll
225 ${QT_BINARY_DIR}/QtSvg4.dll
226 ${QT_BINARY_DIR}/QtXml4.dll
227 ${QT_BINARY_DIR}/QtNetwork4.dll
228 ${QT_BINARY_DIR}/QtSql4.dll
229 ${QT_BINARY_DIR}/QtWebKit4.dll
231 ${VTK_LIBRARY_DIRS}/libQVTK.dll
232 ${VTK_LIBRARY_DIRS}/libvtkCommon.dll
233 ${VTK_LIBRARY_DIRS}/libvtksys.dll
234 ${VTK_LIBRARY_DIRS}/libvtkFiltering.dll
235 ${VTK_LIBRARY_DIRS}/libvtkGraphics.dll
236 ${VTK_LIBRARY_DIRS}/libvtkHybrid.dll
237 ${VTK_LIBRARY_DIRS}/libvtkIO.dll
238 ${VTK_LIBRARY_DIRS}/libvtkImaging.dll
239 ${VTK_LIBRARY_DIRS}/libvtkRendering.dll
240 ${VTK_LIBRARY_DIRS}/libvtkVolumeRendering.dll
241 ${VTK_LIBRARY_DIRS}/libvtkverdict.dll
242 ${VTK_LIBRARY_DIRS}/libvtkDICOMParser.dll
243 ${VTK_LIBRARY_DIRS}/libvtkNetCDF.dll
244 ${VTK_LIBRARY_DIRS}/libvtkNetCDF_cxx.dll
245 ${VTK_LIBRARY_DIRS}/libvtkexpat.dll
246 ${VTK_LIBRARY_DIRS}/libvtkjpeg.dll
247 ${VTK_LIBRARY_DIRS}/libvtkmetaio.dll
248 ${VTK_LIBRARY_DIRS}/libvtkpng.dll
249 ${VTK_LIBRARY_DIRS}/libvtktiff.dll
250 ${VTK_LIBRARY_DIRS}/libvtkzlib.dll
251 ${VTK_LIBRARY_DIRS}/libvtkInfovis.dll
252 ${VTK_LIBRARY_DIRS}/libvtkfreetype.dll
253 ${VTK_LIBRARY_DIRS}/libvtkftgl.dll
254 ${VTK_LIBRARY_DIRS}/libvtkalglib.dll
255 ${VTK_LIBRARY_DIRS}/libvtklibxml2.dll
256 ${VTK_LIBRARY_DIRS}/libvtkViews.dll
257 ${VTK_LIBRARY_DIRS}/libvtkexoIIc.dll
258 ${VTK_LIBRARY_DIRS}/libvtkWidgets.dll
259 ${VTK_LIBRARY_DIRS}/vtkhdf5.dll
260 ${VTK_LIBRARY_DIRS}/vtkhdf5_hl.dll
261 ${VTK_LIBRARY_DIRS}/libLSDyna.dll
262 # Xerces-c dependency 263 # ${XERCESC_ROOT_DIR}/bin/xerces-c_3_1.dll 264 # Libxml2 dependencies 265 # ${LIBXML2_INCLUDE_DIR}/../bin/iconv.dll 266 C:/dev/libxml2/2.8/bin/libxml2-2.dll
267 # ${LIBXML2_INCLUDE_DIR}/../bin/zlib1.dll 269 ${ITK_ROOT_DIR}/bin/libITKAlgorithms.dll
270 ${ITK_ROOT_DIR}/bin/libITKCommon.dll
271 ${ITK_ROOT_DIR}/bin/libITKBasicFilters.dll
272 ${ITK_ROOT_DIR}/lib/InsightToolkit/libitksys.dll
273 ${ITK_ROOT_DIR}/bin/libitkvnl.dll
274 ${ITK_ROOT_DIR}/bin/libitkvnl_algo.dll
275 ${ITK_ROOT_DIR}/bin/libITKIO.dll
276 ${ITK_ROOT_DIR}/bin/libitkv3p_lsqr.dll
277 ${ITK_ROOT_DIR}/bin/libitkv3p_netlib.dll
278 ${ITK_ROOT_DIR}/bin/libITKDICOMParser.dll
279 ${ITK_ROOT_DIR}/bin/libITKEXPAT.dll
280 ${ITK_ROOT_DIR}/bin/libitkgdcm.dll
281 ${ITK_ROOT_DIR}/bin/libitkjpeg8.dll
282 ${ITK_ROOT_DIR}/bin/libITKMetaIO.dll
283 ${ITK_ROOT_DIR}/bin/libITKniftiio.dll
284 ${ITK_ROOT_DIR}/bin/libITKNrrdIO.dll
285 ${ITK_ROOT_DIR}/bin/libitkpng.dll
286 ${ITK_ROOT_DIR}/bin/libitktiff.dll
287 ${ITK_ROOT_DIR}/bin/libitkzlib.dll
288 ${ITK_ROOT_DIR}/bin/libitkjpeg12.dll
289 ${ITK_ROOT_DIR}/bin/libitkjpeg16.dll
290 ${ITK_ROOT_DIR}/bin/libitkopenjpeg.dll
291 ${ITK_ROOT_DIR}/bin/libITKznz.dll
293 C:/dev/MinGW/bin/libgcc_s_dw2-1.dll
294 C:/dev/MinGW/bin/libstdc++-6.dll
295 C:/dev/MinGW/bin/mingwm10.dll
303 message(STATUS
"Packaging nsis using ${MAKENSIS} with MSVC compiler")
305 set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS
306 ##TODO use GetPrerequisites.cmake (i.e. find a better way to list dependencies) 307 ##get_prerequisites() is not well enough documented to justify the time investement - EP May 2011 309 ${QT_BINARY_DIR}/QtCore4.dll
310 ${QT_BINARY_DIR}/QtGui4.dll
311 ${QT_BINARY_DIR}/QtSvg4.dll
312 ${QT_BINARY_DIR}/QtXml4.dll
313 ${QT_BINARY_DIR}/QtNetwork4.dll
314 ${QT_BINARY_DIR}/QtSql4.dll
315 ${QT_BINARY_DIR}/QtWebKit4.dll
317 ${VTK_DIR}/../../bin/QVTK.dll
318 ${VTK_DIR}/../../bin/vtkCommon.dll
319 ${VTK_DIR}/../../bin/vtksys.dll
320 ${VTK_DIR}/../../bin/vtkFiltering.dll
321 ${VTK_DIR}/../../bin/vtkGraphics.dll
322 ${VTK_DIR}/../../bin/vtkHybrid.dll
323 ${VTK_DIR}/../../bin/vtkIO.dll
324 ${VTK_DIR}/../../bin/vtkImaging.dll
325 ${VTK_DIR}/../../bin/vtkRendering.dll
326 ${VTK_DIR}/../../bin/vtkVolumeRendering.dll
327 ${VTK_DIR}/../../bin/vtkverdict.dll
328 ${VTK_DIR}/../../bin/vtkDICOMParser.dll
329 ${VTK_DIR}/../../bin/vtkNetCDF.dll
330 ${VTK_DIR}/../../bin/vtkNetCDF_cxx.dll
331 ${VTK_DIR}/../../bin/vtkexpat.dll
332 ${VTK_DIR}/../../bin/vtkjpeg.dll
333 ${VTK_DIR}/../../bin/vtkmetaio.dll
334 ${VTK_DIR}/../../bin/vtkpng.dll
335 ${VTK_DIR}/../../bin/vtktiff.dll
336 ${VTK_DIR}/../../bin/vtkzlib.dll
337 ${VTK_DIR}/../../bin/vtkInfovis.dll
338 ${VTK_DIR}/../../bin/vtkfreetype.dll
339 ${VTK_DIR}/../../bin/vtkftgl.dll
340 ${VTK_DIR}/../../bin/vtkalglib.dll
341 ${VTK_DIR}/../../bin/vtklibxml2.dll
342 ${VTK_DIR}/../../bin/vtkViews.dll
343 ${VTK_DIR}/../../bin/vtkexoIIc.dll
344 ${VTK_DIR}/../../bin/vtkWidgets.dll
345 ${VTK_DIR}/../../bin/vtkhdf5.dll
346 ${VTK_DIR}/../../bin/vtkhdf5_hl.dll
347 ${VTK_DIR}/../../bin/LSDyna.dll
348 # Xerces-c dependency 349 ${XERCESC_ROOT_DIR}/bin/xerces-c_3_1.dll
350 # Libxml2 dependencies 351 ${LIBXML2_INCLUDE_DIR}/../bin/iconv.dll
352 ${LIBXML2_INCLUDE_DIR}/../bin/libxml2.dll
353 ${LIBXML2_INCLUDE_DIR}/../bin/zlib1.dll
355 ${ITK_DIR}/../../bin/ITKCommon.dll
359 # Copy those dependencies DLLs if packaging on Windows. 361 include(InstallRequiredSystemLibraries)
365 set(CAMITK_PACKAGE_ICON
"${CMAKE_CURRENT_SOURCE_DIR}\\\\core\\\\resources\\\\appIcon.ico") #
set here the current icon
for CamiTK apps
366 set(CPACK_PACKAGE_ICON ${CAMITK_PACKAGE_ICON}) #icon
for the top bar NSIS installer
367 set(CPACK_NSIS_MUI_ICON ${CAMITK_PACKAGE_ICON}) #icon
for the generated install program (the .exe to run to install CamiTK).
368 set(CPACK_NSIS_MUI_UNIICON ${CAMITK_PACKAGE_ICON}) #icon
for the generated uninstall program (the .exe to run to uninstall CamiTK).
372 set(CPACK_NSIS_DISPLAY_NAME
"${CPACK_PACKAGE_NAME} ${CAMITK_VERSION_MAJOR}.${CAMITK_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
373 set(CPACK_NSIS_INSTALLED_ICON_NAME ${CPACK_PACKAGE_NAME})
375 set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME})
376 set(CPACK_NSIS_HELP_LINK
"http:\\\\\\\\camitk.imag.fr")
377 set(CPACK_NSIS_URL_INFO_ABOUT
"http:\\\\\\\\camitk.imag.fr")
378 set(CPACK_NSIS_CONTACT ${CPACK_PACKAGE_CONTACT})
379 include(InstallRequiredSystemLibraries)
381 message(STATUS
"Can not find makensis: nsis packaging is not possible")
391 set(CPACK_GENERATOR
"PackageMaker")
392 # Libraries are bundled directly
393 set(CPACK_COMPONENT_LIBRARIES_HIDDEN TRUE)
395 set(MACOSX_BUNDLE_BUNDLE_NAME ${CPACK_PACKAGE_NAME})
396 set(MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION})
397 set(MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION})
398 set(MACOSX_BUNDLE_LONG_VERSION_STRING
"Version ${PROJECT_VERSION}")
404 # ---------------------------- 405 # CamiTK's own package (.cep) 406 # ---------------------------- 407 # TODO install a CEP in CamiTK 408 # TODO CamiTK Market Place 409 set(CEP_PACKAGING_DIR
"${CMAKE_BINARY_DIR}/CamiTKExtensionPackage")
410 set(CEP_PACKAGE_NAME
"${CPACK_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.cep")
412 # simply target name so that the custom target name does not contains any space 413 string(REGEX REPLACE
" " "" SIMPLIFIED_PROJECT_NAME ${PROJECT_NAME})
415 add_custom_target(camitk_extension_${SIMPLIFIED_PROJECT_NAME}_package
416 # configure for packaging 417 COMMAND ${CMAKE_COMMAND} -DPACKAGING_NSIS:BOOL=ON ${CMAKE_BINARY_DIR}
419 COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR}
420 # clean CEP package structure 421 COMMAND ${CMAKE_COMMAND} -E remove_directory
"${CEP_PACKAGING_DIR}" 422 COMMAND ${CMAKE_COMMAND} -E
remove -f ${CMAKE_BINARY_DIR}/${CEP_PACKAGE_NAME}
423 COMMAND ${CMAKE_COMMAND} -E make_directory
"${CEP_PACKAGING_DIR}" 424 COMMAND ${CMAKE_COMMAND} -E make_directory
"${CEP_PACKAGING_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/cep" 426 COMMAND ${CMAKE_COMMAND} -E copy_directory
"${CMAKE_BINARY_DIR}/lib" "${CEP_PACKAGING_DIR}/lib" 427 COMMAND ${CMAKE_COMMAND} -E copy_directory
"${CMAKE_BINARY_DIR}/bin" "${CEP_PACKAGING_DIR}/bin" 428 COMMAND ${CMAKE_COMMAND} -E copy_directory
"${CMAKE_BINARY_DIR}/include" "${CEP_PACKAGING_DIR}/include" 429 COMMAND ${CMAKE_COMMAND} -E copy_directory
"${CMAKE_BINARY_DIR}/share" "${CEP_PACKAGING_DIR}/share" 431 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
433 COMMAND ${CMAKE_COMMAND} -E tar cvz
"${CMAKE_BINARY_DIR}/${CEP_PACKAGE_NAME}" "${CEP_PACKAGING_DIR}/" 434 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
435 # configure back for normal build 436 COMMAND ${CMAKE_COMMAND} -DPACKAGING_NSIS:BOOL=OFF ${CMAKE_BINARY_DIR}
437 COMMENT
"Building ${CEP_PACKAGE_NAME}" 442 execute_process(COMMAND
"${CAMITK_DIR}/bin/camitk-config" "--timeStamp" 443 RESULT_VARIABLE CAMITK_CONFIG_TIMESTAMP_RETURN_CODE
444 OUTPUT_VARIABLE CAMITK_CONFIG_TIMESTAMP_OUTPUT
445 ERROR_VARIABLE CAMITK_CONFIG_TIMESTAMP_OUTPUT_ERROR
446 OUTPUT_STRIP_TRAILING_WHITESPACE
447 ERROR_STRIP_TRAILING_WHITESPACE
451 set(CEP_PACKAGE_MANIFEST_XML
"<?xml version=\"1.0\"?>\n<cep>")
452 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <!-- CamiTK Extension Project Manifest File -->")
453 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <name>${CPACK_PACKAGE_NAME}</name>")
454 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <contact>${CAMITK_CEP_PACKAGING_CONTACT}</contact>")
455 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <description>${CAMITK_CEP_PACKAGING_DESCRIPTION}</description>")
456 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <license>${CAMITK_CEP_PACKAGING_LICENSE}</license>")
457 if (NOT CAMITK_CONFIG_TIMESTAMP_RETURN_CODE)
458 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <timeStamp>${CAMITK_CONFIG_TIMESTAMP_OUTPUT}</timeStamp>")
460 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <actions>")
461 foreach(TARGET_NAME_ITERATOR ${CAMITK_ACTION_TARGETS})
462 string(REPLACE
"action-" "" TARGET_NAME ${TARGET_NAME_ITERATOR})
463 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <action>${TARGET_NAME}</action>")
465 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" </actions>")
466 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <components>")
467 foreach(TARGET_NAME_ITERATOR ${CAMITK_COMPONENT_TARGETS})
468 string(REPLACE
"component-" "" TARGET_NAME ${TARGET_NAME_ITERATOR})
469 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <component>${TARGET_NAME}</component>")
471 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" </components>")
472 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <libraries>")
473 foreach(TARGET_NAME_ITERATOR ${CAMITK_CEP_LIBRARY_TARGETS})
474 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <library>${TARGET_NAME_ITERATOR}</library>")
476 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" </libraries>")
477 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <applications>")
478 foreach(TARGET_NAME_ITERATOR ${CAMITK_APPLICATION_TARGETS})
479 string(REPLACE
"application-" "" TARGET_NAME ${TARGET_NAME_ITERATOR})
480 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" <application>${TARGET_NAME}</application>")
482 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
" </applications>")
483 set(CEP_PACKAGE_MANIFEST_XML ${CEP_PACKAGE_MANIFEST_XML}
"</cep>")
484 # replace all
"" by \n
485 string (REGEX REPLACE
"([^\\]|^)" "\\1\n" CEP_PACKAGE_MANIFEST_XML_TMP
"${CEP_PACKAGE_MANIFEST_XML}")
486 string (REGEX REPLACE
"[\\](.)" "\\1" CEP_PACKAGE_MANIFEST_XML_TEXT
"${CEP_PACKAGE_MANIFEST_XML_TMP}")
#fixes escaping 488 file(WRITE ${CMAKE_BINARY_DIR}/CEPPackageManifest.xml ${CEP_PACKAGE_MANIFEST_XML_TEXT})
489 message(STATUS
"Generated CEP manifest in CEPPackageManifest.xml")
492 endif()
# Standalone CEP A pseudo-namespace used to group CMake macros and functions.
const char * description
Definition: applications/cepgenerator/main.cpp:37
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
parse_arguments()
macro parse_arguments is a fork from CMakeMacroParseArguments see http://www.cmake.org/Wiki/CMakeMacroParseArguments for more information
Definition: ParseArguments.h:13
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
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