mirror of
https://github.com/cosmo-sims/monofonIC.git
synced 2024-09-19 17:03:45 +02:00
Macro to simplify including and linking a target to CLASS submodule.
This commit is contained in:
parent
3449e7839f
commit
80867c6fd6
1 changed files with 13 additions and 5 deletions
18
external/class.cmake
vendored
18
external/class.cmake
vendored
|
@ -7,6 +7,8 @@ else()
|
|||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
endif()
|
||||
|
||||
set(CLASS_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/class/include)
|
||||
|
||||
# list of object files generated by class
|
||||
set(CLASS_OBJECT_FILES
|
||||
${CMAKE_CURRENT_LIST_DIR}/class/build/arrays.o
|
||||
|
@ -54,11 +56,17 @@ add_library(class_cpp
|
|||
target_include_directories(class_cpp
|
||||
PRIVATE ${CMAKE_CURRENT_LIST_DIR}/class/include)
|
||||
|
||||
# macro to setup include dir and link libraries for target using class
|
||||
macro(target_setup_class target_name)
|
||||
target_include_directories(${target_name}
|
||||
PRIVATE ${CLASS_INCLUDE_DIR})
|
||||
target_link_libraries(${target_name} ${CLASS_OBJECT_FILES})
|
||||
target_link_libraries(${target_name} class_cpp)
|
||||
add_dependencies(${target_name} class_objects)
|
||||
endmacro(target_setup_class)
|
||||
|
||||
|
||||
# test executable
|
||||
add_executable(testTk
|
||||
${CMAKE_CURRENT_LIST_DIR}/class/cpp/testTk.cc)
|
||||
target_include_directories(testTk
|
||||
PRIVATE ${CMAKE_CURRENT_LIST_DIR}/class/include)
|
||||
target_link_libraries(testTk ${CLASS_OBJECT_FILES})
|
||||
target_link_libraries(testTk class_cpp)
|
||||
add_dependencies(testTk class_objects)
|
||||
target_setup_class(testTk)
|
Loading…
Reference in a new issue