initial code repo
[stor4nfv.git] / src / ceph / src / dmclock / sim / src / CMakeLists.txt
1 include_directories(ssched) # ssched code
2 include_directories(../../src) # dmclock code
3 include_directories(../../support/src)
4 include_directories(${BOOST_INCLUDE_DIR})
5
6 set(local_flags "-Wall -pthread ${CMAKE_CXX_SIM_FLAGS}")
7
8 set(ssched_sim_srcs test_ssched.cc test_ssched_main.cc)
9 set(dmc_sim_srcs test_dmclock.cc test_dmclock_main.cc)
10 set(config_srcs config.cc str_list.cc ConfUtils.cc)
11
12 set_source_files_properties(${ssched_sim_srcs} ${dmc_sim_srcs} ${dmc_srcs} ${config_srcs}
13   PROPERTIES
14   COMPILE_FLAGS "${local_flags}"
15   )
16
17 if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
18   set(warnings_off " -Wno-unused-variable -Wno-unused-function")
19 elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
20   set(warnings_off " -Wno-unused-but-set-variable -Wno-unused-function")
21 endif()
22
23 # append warning flags to certain source files
24 set_property(
25   SOURCE ${ssched_sim_srcs} ${dmc_sim_srcs} ${config_srcs}
26   APPEND_STRING
27   PROPERTY COMPILE_FLAGS "${warnings_off}"
28   )
29
30 add_executable(ssched_sim EXCLUDE_FROM_ALL ${ssched_sim_srcs})
31 add_executable(dmc_sim EXCLUDE_FROM_ALL ${dmc_sim_srcs} ${config_srcs})
32
33 set_target_properties(ssched_sim dmc_sim
34   PROPERTIES
35   RUNTIME_OUTPUT_DIRECTORY ..)
36
37 add_dependencies(dmc_sim dmclock)
38
39 target_link_libraries(ssched_sim LINK_PRIVATE pthread)
40 target_link_libraries(dmc_sim LINK_PRIVATE pthread $<TARGET_FILE:dmclock>)
41
42 add_custom_target(dmclock-sims DEPENDS ssched_sim dmc_sim)