shmcpp/CMakeLists.txt
2026-01-10 13:34:24 +08:00

31 lines
839 B
CMake

cmake_minimum_required(VERSION 4.0)
project(shmcpp)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if (WIN32)
set(PLATFORM_SOURCES src/win32/handle.cpp)
set(PLATFORM_HEADERS include/shmcpp/detail/win32/handle.hpp
include/shmcpp/detail/win32/native_api.hpp
include/shmcpp/detail/win32/utils.hpp
)
else ()
set(PLATFORM_SOURCES src/posix/handle.cpp)
set(PLATFORM_HEADERS include/shmcpp/detail/posix/handle.hpp)
endif ()
add_library(shmcpp STATIC
src/shared_memory.cpp
src/mapped_view.cpp
${PLATFORM_SOURCES}
include/shmcpp/shared_memory.hpp
include/shmcpp/mapped_view.hpp
include/shmcpp/detail/handle_concept.hpp
${PLATFORM_HEADERS}
)
target_include_directories(shmcpp PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/include
)