Computer Assited Medical Intervention Tool Kit  version 4.0
CamiTKSubProjectValidate.h
Go to the documentation of this file.
16  parse_arguments(ADD_SUB_PROJECT_VALIDATE
17  "" # possible lists
18  "CEP_SET" # possible options
19  ${ARGN}
20  )
21 
22  # if this a standalone CEP, then write the cdash xml report
23  if(NOT CAMITK_EXTENSION_PROJECT_SET OR ADD_SUB_PROJECT_VALIDATE_CEP_SET)
24 
25  # Add the CDash dependencies in the correct order
26  set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} ${xml_subproject_corelibraries})
27  set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} ${xml_subproject_libraries})
28  set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} ${xml_subproject_action_application})
29 
30  # Add camitk opensource CEP specific subprojects
31  if(${CAMITK_EXTENSION_PROJECT_SET_NAME} MATCHES "camitk-opensource")
32  # Add application-testcomponents
33  set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} "\n <SubProject name=\"application-testcomponents\"> ")
34  set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} "\n <Dependency name=\"library-camitkcore \"/>")
35  set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} "\n <Dependency name=\"action-application \"/>")
36  set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} " </SubProject>")
37  set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} ${xml_subproject_components})
38  # Add application-testactions
39  set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} "\n <SubProject name=\"application-testactions\"> ")
40  list(REMOVE_DUPLICATES CAMITK_COMPONENT_TARGETS) # avoid duplicates
41  foreach(DEPENDENCY ${CAMITK_COMPONENT_TARGETS})
42  set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} "\n <Dependency name=\"${DEPENDENCY}\"/>")
43  endforeach()
44  set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} " </SubProject>")
45  set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} ${xml_subproject_actions})
46  set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} ${xml_subproject_applications})
47 
48  # Add packaging source, packaging and api_doc target (COMMENTED > let's be frank, those are not compiled anymore on VMs)
49 # set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} "\n <SubProject name=\"package-source\">\n </SubProject>")
50 # set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} "\n <SubProject name=\"package\">\n </SubProject>")
51 # set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} "\n <SubProject name=\"apidoc\">\n </SubProject>")
52  else() # Other external CEP
53  set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} ${xml_subproject_components})
54  set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} ${xml_subproject_actions})
55  set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} ${xml_subproject_applications})
56  endif()
57 
58 
59 
60  # Write down the Project.xml file
61  set(CAMITK_XML_PROJECT_DESCRIPTION ${CAMITK_XML_PROJECT_DESCRIPTION} "\n</Project>")
62  set(filename "${CMAKE_BINARY_DIR}/Project.xml")
63  file(WRITE ${filename} ${CAMITK_XML_PROJECT_DESCRIPTION})
64  message(STATUS "Generated ${filename} for project description")
65 
66  # Write down subprojects.cmake filename
67  list(REMOVE_DUPLICATES CAMITK_SUBPROJECTS)
68  set(filename "${CMAKE_BINARY_DIR}/Subprojects.cmake")
69  file(WRITE ${filename} "set(CAMITK_SUBPROJECTS ${CAMITK_SUBPROJECTS})")
70  message(STATUS "Generated ${filename} for subprojects listing")
71  endif()
72 end(){)
camitk_sub_project_validate()
macro camitk_sub_project_validate validates the xml_subprojects variable by ending its xml tag i...
Definition: CamiTKSubProjectValidate.h:15
Definition: Action.cpp:40
parse_arguments()
macro parse_arguments is a fork from CMakeMacroParseArguments see http://www.cmake.org/Wiki/CMakeMacroParseArguments for more information
Definition: ParseArguments.h:13