1 macro(add_parfile PARMODULE PARSOURCES PARHEADERS PARLINKDEF)
3 message(STATUS "PARfile generation: ${PARMODULE}")
4 message(STATUS "--> Module: ${PARMODULE}")
5 message(STATUS "--> Sources: ${PARSOURCES}")
8 set(PARMODULE "${PARMODULE}")
10 foreach(LOOPVAR ${PARSOURCES})
11 message(STATUS "----> ${LOOPVAR}")
14 # PARfile output directory (the one we will tar)
15 set(PARDIR ${CMAKE_CURRENT_BINARY_DIR}/PARfiles/${PARMODULE})
17 # Create base directory for this module's PARfile: this is the directory we will tar
18 # This works as "mkdir -p" (i.e. it's recursive and creates parents)
19 file(MAKE_DIRECTORY ${PARDIR}/PROOF-INF)
23 ${PROJECT_SOURCE_DIR}/cmake/PARfiles/Makefile.in
30 ${PROJECT_SOURCE_DIR}/cmake/PARfiles/BUILD.sh.in
31 ${PARDIR}/PROOF-INF/BUILD.sh
34 execute_process(COMMAND chmod a+x ${PARDIR}/PROOF-INF/BUILD.sh)
38 ${PROJECT_SOURCE_DIR}/cmake/PARfiles/SETUP.C.in
39 ${PARDIR}/PROOF-INF/SETUP.C
43 # Target for creating PARfile (would stop after the first failed COMMAND)
44 add_custom_target("${PARMODULE}.par"
45 COMMAND cd ${CMAKE_CURRENT_SOURCE_DIR} && cp ${PARSOURCES} ${PARHEADERS} ${PARLINKDEF} ${PARDIR}/
46 COMMAND cmake -E copy ${ROOT_ETCDIR}/Makefile.arch ${PARDIR}/
47 COMMAND tar -C ${PARDIR}/.. -czf ${PARDIR}/../${PARMODULE}.par ${PARMODULE}/