zecsy/CMakeLists.txt
2025-02-21 19:05:59 +03:00

33 lines
838 B
CMake

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()