# library.
#
# Usage: in the CMakeLists.txt, for a given library, add the following:
-# add_target_parfile(${MODULE} "${SRCS}" "${HDRS}" "${MODULE}LinkDef.h" "${LIBDEPS}")
+# add_target_parfile(${MODULE} "${SRCS}" "${HDRS}" "${MODULE}LinkDef.h" "${LIBDEPS}" ["extrainclude1 extrainclude2..."])
#
# Arguments are, in order:
# - library's name: for libBLAHBLAH it will generate a target BLAHBLAH.par
# - headers
# - the LinkDef used by ROOT
# - dependent libraries: used to generate the rootmap
+# - extra include paths (optional): passed during compilation
#
# To generate a parfile, if enabled in its CMakeLists.txt, go to the build directory and run:
# make BLAHBLAH.par
# Export variables: used in configure_file()
set(PARMODULE "${PARMODULE}")
string(REPLACE ";" " " PARSOURCES_FLAT "${PARSOURCES}")
+ string(REPLACE ";" " " PARHEADERS_FLAT "${PARHEADERS}")
#message(STATUS "[add_target_parfile] Library (space-separated): ${PARMODULE}")
#message(STATUS "[add_target_parfile] Sources (list): ${PARSOURCES}")
+ #message(STATUS "[add_target_parfile] Headers (list): ${PARHEADERS}")
#message(STATUS "[add_target_parfile] Dependencies (space-separated): ${PARLIBDEPS}")
+ if(NOT "${ARGV5}" STREQUAL "")
+ # Optional: extra includes, space-separated
+ set(PAREXTRAINCLUDES "${ARGV5}")
+ #message(STATUS "[add_target_parfile] Extra Includes (space-separated): ${PAREXTRAINCLUDES}")
+ endif()
# PARfile output directory (the one we will tar)
set(PARDIR ${CMAKE_CURRENT_BINARY_DIR}/PARfiles/${PARMODULE})
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
+ # Install target
+ install(FILES ${PARDIR}/../${PARMODULE}.par DESTINATION PARfiles OPTIONAL)
+
+ # Add this module to the list of generated PARfiles
+ list(APPEND ALIPARFILES ${PARMODULE})
+ set(ALIPARFILES ${ALIPARFILES} CACHE INTERNAL "ALIPARFILES")
+
endfunction()