33 lines
838 B
CMake
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()
|