add_library (CORSIKAprocesssequence INTERFACE) #namespace of library->location of header files set ( CORSIKAprocesssequence_NAMESPACE corsika/process ) #header files of this library set ( CORSIKAprocesssequence_HEADERS ProcessSequence.h ProcessReturn.h ) CORSIKA_COPY_HEADERS_TO_NAMESPACE (CORSIKAprocesssequence ${CORSIKAprocesssequence_NAMESPACE} ${CORSIKAprocesssequence_HEADERS}) #include directive for upstream code target_include_directories ( CORSIKAprocesssequence INTERFACE $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include> $<INSTALL_INTERFACE:include/> ) #install library install ( FILES ${CORSIKAprocesssequence_HEADERS} DESTINATION include/${CORSIKAprocesssequence_NAMESPACE} ) #-- -- -- -- -- -- -- -- #code unit testing add_executable ( testProcessSequence testProcessSequence.cc ) target_link_libraries ( testProcessSequence CORSIKAprocesssequence CORSIKAthirdparty # for catch2 ) add_test ( NAME testProcessSequence COMMAND testProcessSequence )