# Create a library called "libTKRATEvent" which includes the source files given in # the array . # The extension is already found. Any number of sources could be listed here. set(INCLUDE_DIRECTORIES ${ROOT_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/KRATTA/KrattaUnpack/TKRATEvent ) include_directories( ${INCLUDE_DIRECTORIES}) set(LINK_DIRECTORIES ${ROOT_LIBRARY_DIR} ) link_directories( ${LINK_DIRECTORIES}) # Really lazy version to get the list of source files # Take all source file in the given source dir #FILE(GLOB TKRATEvent_SRCS ${CMAKE_CURRENT_SOURCE_DIR} *.cxx) # List of source files set(TKRATTAEvent_SRCS TKRATEvent.cxx TKRATPhotodiode.cxx TKRATMapping.cxx TKRATRawEvent.cxx TKRATAnalyser.cxx ) # list of header files set(TKRATTAEvent_HEADERS TKRATEvent.h TKRATPhotodiode.h TKRATMapping.h TKRATRawEvent.h TKRATAnalyser.h ) if(RULE_CHECKER_FOUND) CHECK_RULES("${TKRATTAEvent_SRCS}" "${INCLUDE_DIRECTORIES}" TKRATEvent_RULES) endif(RULE_CHECKER_FOUND) # fill list of header files from list of source files # by exchanging the file extension #####################CHANGE_FILE_EXTENSION(*.cxx *.h TKRATEvent_HEADERS "${TKRATEvent_SRCS}") # set everything needed for the root dictonary and create the # dictionary set(TKRATTAEvent_LINKDEF TKRATEventLinkDef.h ) set(TKRATTAEvent_DICTIONARY ${CMAKE_CURRENT_BINARY_DIR}/TKRATEventDict.cxx) ROOT_GENERATE_DICTIONARY("${TKRATTAEvent_HEADERS}" "${TKRATTAEvent_LINKDEF}" "${TKRATTAEvent_DICTIONARY}" "${INCLUDE_DIRECTORIES}") # add the dictionary to the list of source files SET(TKRATTAEvent_SRCS ${TKRATTAEvent_SRCS} ${TKRATTAEvent_DICTIONARY}) ############### build the library ##################### add_library(TKRATEvent SHARED ${TKRATTAEvent_SRCS}) target_link_libraries(TKRATEvent ${ROOT_LIBRARIES}) set_target_properties(TKRATEvent PROPERTIES ${FAIRROOT_LIBRARY_PROPERTIES}) ############### install the library ################### install(TARGETS TKRATEvent DESTINATION ${CMAKE_BINARY_DIR}/lib)