set(DP_WARN_FLAGS -Wall -Wextra -Wpedantic) # Source: log.c by rxi (https://github.com/rxi/log.c) add_library(logc log.c) target_compile_features(logc PRIVATE c_std_11) target_compile_definitions(logc PRIVATE -DLOG_USE_COLOR) target_compile_options(logc INTERFACE -ffile-prefix-map=${CMAKE_SOURCE_DIR}=. PRIVATE ${DP_WARN_FLAGS}) find_package(Threads) add_library(dp_common dp_common.c) target_compile_features(dp_common PRIVATE c_std_11) target_compile_options(dp_common PUBLIC ${DP_WARN_FLAGS}) # spread warning flags target_link_libraries(dp_common PUBLIC logc PUBLIC nng PUBLIC Threads::Threads ) add_executable(doompanning doompanning.cc) target_compile_features(doompanning PRIVATE cxx_std_17) target_link_libraries(doompanning PRIVATE dp_common PRIVATE imgui ) add_executable(dp_imgui_demo dp_imgui_demo.cc) target_compile_features(dp_imgui_demo PRIVATE cxx_std_17) target_link_libraries(dp_imgui_demo PRIVATE dp_common PRIVATE imgui ) add_executable(dp_common_c_test dp_common_c_test.c) target_compile_features(dp_common_c_test PRIVATE c_std_11) target_link_libraries(dp_common_c_test PRIVATE dp_common ) add_executable(doomsim doomsim.cc) target_compile_features(doomsim PRIVATE cxx_std_17) target_link_libraries(doomsim PRIVATE dp_common )