aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libuuid/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/libuuid/CMakeLists.txt')
-rw-r--r--vcpkg/ports/libuuid/CMakeLists.txt64
1 files changed, 64 insertions, 0 deletions
diff --git a/vcpkg/ports/libuuid/CMakeLists.txt b/vcpkg/ports/libuuid/CMakeLists.txt
new file mode 100644
index 0000000..b20504e
--- /dev/null
+++ b/vcpkg/ports/libuuid/CMakeLists.txt
@@ -0,0 +1,64 @@
+cmake_minimum_required(VERSION 3.21)
+project(libuuid C)
+
+configure_file(config.linux.h config.h COPYONLY)
+
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+add_library(uuid STATIC
+ clear.c
+ compare.c
+ copy.c
+ gen_uuid.c
+ isnull.c
+ pack.c
+ parse.c
+ randutils.c
+ unpack.c
+ unparse.c
+ uuid_time.c
+)
+target_compile_options(uuid PRIVATE -include "${CMAKE_CURRENT_BINARY_DIR}/config.h")
+target_include_directories(uuid PUBLIC "$<INSTALL_INTERFACE:include>")
+
+add_executable(test_uuid test_uuid.c)
+target_link_libraries(test_uuid uuid)
+
+if(CMAKE_BUILD_TYPE STREQUAL "Release")
+ install(FILES uuid.h DESTINATION include/uuid)
+endif()
+
+install(
+ TARGETS uuid
+ EXPORT uuid_targets
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+include(CMakePackageConfigHelpers)
+set(PACKAGE_CONFIG_FILE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-libuuid-config.cmake")
+set(INSTALL_CONFIG_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/unofficial-libuuid")
+
+configure_package_config_file(unofficial-libuuid-config.cmake.in
+ "${PACKAGE_CONFIG_FILE}"
+ INSTALL_DESTINATION "${INSTALL_CONFIG_DIR}"
+)
+
+export(EXPORT uuid_targets
+ NAMESPACE unofficial::UUID::
+ FILE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-libuuid-targets.cmake"
+)
+
+install(EXPORT uuid_targets
+ NAMESPACE unofficial::UUID::
+ FILE unofficial-libuuid-targets.cmake
+ DESTINATION "${INSTALL_CONFIG_DIR}"
+)
+
+install(
+ FILES
+ "${PACKAGE_CONFIG_FILE}"
+ DESTINATION
+ "${INSTALL_CONFIG_DIR}"
+)