From c943692ac6140de9c1c9e44e67980e3384e2c6a6 Mon Sep 17 00:00:00 2001 From: kgamora Date: Sat, 31 May 2025 23:33:49 +0300 Subject: [PATCH] Add CMake support --- CMakeLists.txt | 5 +++++ libstud/CMakeLists.txt | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 libstud/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..c389de2 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,5 @@ +cmake_minimum_required(VERSION 3.10) + +project(libstud-uuid) + +add_subdirectory(libstud) diff --git a/libstud/CMakeLists.txt b/libstud/CMakeLists.txt new file mode 100644 index 0000000..55827c1 --- /dev/null +++ b/libstud/CMakeLists.txt @@ -0,0 +1,32 @@ +cmake_minimum_required(VERSION 3.10) + +file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libstud/uuid) + +configure_file( + uuid/version.hxx.in + ${CMAKE_CURRENT_BINARY_DIR}/libstud/uuid/version.hxx +) + +add_library(libstud-uuid + uuid/uuid.cxx + uuid/uuid-io.cxx +) + +target_include_directories(libstud-uuid PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR}/.. + ${CMAKE_CURRENT_BINARY_DIR} +) + +if(APPLE) + target_sources(libstud-uuid PRIVATE uuid/uuid-macos.cxx) +elseif(WIN32) + target_sources(libstud-uuid PRIVATE uuid/uuid-windows.cxx) +elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") + target_sources(libstud-uuid PRIVATE uuid/uuid-linux.cxx) +elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + target_sources(libstud-uuid PRIVATE uuid/uuid-freebsd.cxx) +elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") + target_sources(libstud-uuid PRIVATE uuid/uuid-openbsd.cxx) +elseif(CMAKE_SYSTEM_NAME STREQUAL "Emscripten") + target_sources(libstud-uuid PRIVATE uuid/uuid-emscripten.cxx) +endif()