79 lines
2.5 KiB
CMake
79 lines
2.5 KiB
CMake
# -TLemRunHeader library ------------------------------------------------------
|
|
|
|
#--- generate necessary dictionaries ------------------------------------------
|
|
# ROOT requires that the dictonary header files are found at configuration time.
|
|
# Hence, target_include_directories cannot be used here because, targets are
|
|
# setup only afterwards.
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
root_generate_dictionary(
|
|
TLemRunHeaderDict
|
|
TLemRunHeader.h
|
|
OPTIONS
|
|
-I${CMAKE_CURRENT_SOURCE_DIR}
|
|
-inlineInputHeader
|
|
LINKDEF TLemRunHeaderLinkDef.h
|
|
MODULE TLemRunHeader
|
|
)
|
|
root_generate_dictionary(
|
|
TLemStatsDict
|
|
TLemStats.h
|
|
OPTIONS
|
|
-I${CMAKE_CURRENT_SOURCE_DIR}
|
|
-inlineInputHeader
|
|
LINKDEF TLemStatsLinkDef.h
|
|
MODULE TLemStats
|
|
)
|
|
|
|
#--- create pkg-config info ---------------------------------------------------
|
|
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
|
set(exec_prefix "\$\{prefix\}")
|
|
set(libdir "\$\{exec_prefix\}/lib")
|
|
set(includedir "\$\{prefix\}/include")
|
|
set(LEM_VERSION "1.5.0")
|
|
set(LEM_LIBRARY_NAME "TLemRunHeader")
|
|
configure_file("TLemRunHeader.pc.in" "TLemRunHeader.pc" @ONLY)
|
|
|
|
#--- lib creation -------------------------------------------------------------
|
|
add_library(TLemRunHeader SHARED
|
|
TLemRunHeader.cxx
|
|
TLemRunHeaderDict.cxx
|
|
TLemStats.cxx
|
|
TLemStatsDict.cxx
|
|
)
|
|
|
|
#--- set target properties, e.g. version --------------------------------------
|
|
set_target_properties(TLemRunHeader
|
|
PROPERTIES
|
|
VERSION ${LEM_VERSION}
|
|
)
|
|
|
|
#--- make sure that the include directory is found ----------------------------
|
|
target_include_directories(
|
|
TLemRunHeader BEFORE PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
|
)
|
|
|
|
#--- add library dependencies -------------------------------------------------
|
|
target_link_libraries(TLemRunHeader ${ROOT_LIBRARIES})
|
|
|
|
#--- install TLemRunHeader solib ----------------------------------------------
|
|
install(TARGETS TLemRunHeader DESTINATION lib)
|
|
|
|
#--- install root pcm's and rootmaps ------------------------------------------
|
|
install(
|
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/libTLemRunHeader_rdict.pcm
|
|
${CMAKE_CURRENT_BINARY_DIR}/libTLemRunHeader.rootmap
|
|
${CMAKE_CURRENT_BINARY_DIR}/libTLemStats_rdict.pcm
|
|
${CMAKE_CURRENT_BINARY_DIR}/libTLemStats.rootmap
|
|
DESTINATION lib
|
|
)
|
|
|
|
#--- install headers ----------------------------------------------------------
|
|
install(FILES TLemRunHeader.h TLemStats.h DESTINATION include)
|
|
|
|
#--- install pkg-config info --------------------------------------------------
|
|
install(
|
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/TLemRunHeader.pc
|
|
DESTINATION lib/pkgconfig
|
|
)
|