cmake_minimum_required(VERSION 3.22.0) set(PROJECT_NAME zecsy) if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif() set(CMAKE_CXX_FLAGS "-Wall -Wextra") set(CMAKE_CXX_FLAGS_DEBUG "-g") set(CMAKE_CXX_FLAGS_RELEASE "-O3") project(${PROJECT_NAME}) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) option(BUILD_ZECSY_TESTS "Build tests?" ON) find_package(nlohmann_json) add_library(zecsy STATIC zecsy.hpp) set_target_properties(zecsy PROPERTIES LINKER_LANGUAGE CXX) ####################################################### if(${BUILD_ZECSY_TESTS}) find_package(Catch2 REQUIRED) file(GLOB TEST_SRC ./tests/*.cpp ./tests/*.hpp ./tests/*.h) add_executable(tests ${TEST_SRC}) target_link_libraries(tests PRIVATE Catch2::Catch2WithMain zecsy) include(CTest) include(Catch) catch_discover_tests(tests) endif()