34 lines
888 B
CMake
34 lines
888 B
CMake
cmake_minimum_required(VERSION 3.22.0)
|
|
|
|
set(PROJECT_NAME s2ga)
|
|
|
|
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(magic_enum)
|
|
|
|
add_library(s2ga STATIC s2ga.hpp)
|
|
target_link_libraries(s2ga PUBLIC magic_enum::magic_enum)
|
|
set_target_properties(s2ga 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 s2ga)
|
|
|
|
include(CTest)
|
|
include(Catch)
|
|
catch_discover_tests(tests)
|
|
endif()
|