Files
cpputils/CMakeLists.txt
2026-01-27 14:33:19 +01:00

40 lines
917 B
CMake

cmake_minimum_required(VERSION 3.30)
project(cpputils LANGUAGES CXX)
option(BUILD_SHARED_LIBS "Build cpputils as a shared library" OFF)
option(BUILD_TESTS "Build cpputils tests" OFF)
if(BUILD_SHARED_LIBS)
add_library(cpputils SHARED)
else()
add_library(cpputils STATIC)
endif()
set_target_properties(cpputils PROPERTIES
POSITION_INDEPENDENT_CODE ON)
target_sources(cpputils
PRIVATE
src/uuid.cpp
)
target_include_directories(cpputils
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
target_compile_features(cpputils PUBLIC cxx_std_17)
if(BUILD_TESTS)
add_executable(cpputils_tests
tests/test_main.cpp
tests/test_uuid.cpp)
target_include_directories(cpputils_tests PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/tests)
target_link_libraries(cpputils_tests PRIVATE cpputils)
target_compile_features(cpputils_tests PRIVATE cxx_std_17)
endif()