-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
26 lines (20 loc) · 981 Bytes
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
project(seedExtensionProgram)
# sources as library to make them testable
add_library(seedExtensionLib STATIC AllTips.cpp AllTips.hpp
VisualizeGraph.hpp VisualizeGraph.cpp
Configuration.h
ExtendSeed.cpp ExtendSeed.hpp
PathBundleTip.cpp PathBundleTip.hpp)
target_include_directories(seedExtensionLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
# set C++ standard
target_compile_features(seedExtensionLib PUBLIC cxx_std_17)
# link metagraph (important that this comes first)
target_link_libraries(seedExtensionLib PUBLIC metagraphInterface)
# link third party libraries
target_include_directories(seedExtensionLib SYSTEM INTERFACE ${Boost_INCLUDE_DIRS})
target_link_libraries(seedExtensionLib PUBLIC cxx-prettyprint)
target_link_libraries(seedExtensionLib PRIVATE Boost::program_options)
# the main program
add_executable(seedExtension main.cpp)
# link sources
target_link_libraries(seedExtension PRIVATE seedExtensionLib)