Files
meta.hpp/develop/vendors/CMakeLists.txt
2023-02-09 23:29:24 +07:00

69 lines
1.7 KiB
CMake

project(meta.hpp.vendors)
#
# doctest
#
add_library(${PROJECT_NAME}.doctest STATIC doctest/doctest/parts/doctest.cpp)
add_library(${PROJECT_NAME}::doctest ALIAS ${PROJECT_NAME}.doctest)
target_compile_features(${PROJECT_NAME}.doctest
PUBLIC cxx_std_20)
target_include_directories(${PROJECT_NAME}.doctest SYSTEM
PUBLIC doctest)
target_compile_definitions(${PROJECT_NAME}.doctest
PRIVATE
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
PUBLIC
DOCTEST_CONFIG_USE_STD_HEADERS
$<$<BOOL:${BUILD_WITH_NO_EXCEPTIONS}>:
DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS>)
#
# fmt
#
add_library(${PROJECT_NAME}.fmt INTERFACE)
add_library(${PROJECT_NAME}::fmt ALIAS ${PROJECT_NAME}.fmt)
target_compile_features(${PROJECT_NAME}.fmt
INTERFACE cxx_std_20)
target_include_directories(${PROJECT_NAME}.fmt SYSTEM
INTERFACE fmt/include)
target_compile_definitions(${PROJECT_NAME}.fmt
INTERFACE FMT_HEADER_ONLY)
#
# gbench
#
file(GLOB_RECURSE GBENCH_SOURCES CONFIGURE_DEPENDS "gbench/src/*.cc")
add_library(${PROJECT_NAME}.gbench STATIC ${GBENCH_SOURCES})
add_library(${PROJECT_NAME}::gbench ALIAS ${PROJECT_NAME}.gbench)
target_compile_features(${PROJECT_NAME}.gbench
PUBLIC cxx_std_20)
target_include_directories(${PROJECT_NAME}.gbench SYSTEM
PUBLIC gbench/include)
target_compile_definitions(${PROJECT_NAME}.gbench
PUBLIC BENCHMARK_STATIC_DEFINE)
#
# vmath
#
add_library(${PROJECT_NAME}.vmath.hpp INTERFACE)
add_library(${PROJECT_NAME}::vmath.hpp ALIAS ${PROJECT_NAME}.vmath.hpp)
target_compile_features(${PROJECT_NAME}.vmath.hpp
INTERFACE cxx_std_20)
target_include_directories(${PROJECT_NAME}.vmath.hpp SYSTEM
INTERFACE vmath.hpp/headers)