From be5d541c0158cb837aaf1fce878e3a8a84a448b0 Mon Sep 17 00:00:00 2001 From: Stefan Reinhold Date: Wed, 25 Jul 2018 18:05:11 +0200 Subject: [PATCH] Add basic CMakeLists.txt The CMakeLists.txt can be used to include the project using cmake. Either use add_subdirectory or find_package(ConcurrentQueue). The target ConcurrentQueue::ConcurrentQueue is exported. Tests and benchmarks are currently not build. --- CMakeLists.txt | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..e75457b7 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,33 @@ +cmake_minimum_required(VERSION 3.2 FATAL_ERROR) + +project(ConcurrentQueue VERSION 1.1.0 LANGUAGES C CXX) + +add_library(ConcurrentQueue INTERFACE) +target_include_directories(ConcurrentQueue INTERFACE + $ + $ +) +target_compile_features(ConcurrentQueue INTERFACE + cxx_constexpr + cxx_defaulted_move_initializers + cxx_auto_type +) + +add_library(ConcurrentQueue::ConcurrentQueue ALIAS ConcurrentQueue) + +# Install and exports +include(GNUInstallDirs) + +install(TARGETS ConcurrentQueue EXPORT ConcurrentQueueConfig) +install( + FILES + concurrentqueue.h + blockingconcurrentqueue.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ConcurrentQueue +) + +install(EXPORT ConcurrentQueueConfig NAMESPACE ConcurrentQueue:: DESTINATION share/ConcurrentQueue/cmake) +export(TARGETS ConcurrentQueue NAMESPACE ConcurrentQueue:: FILE ConcurrentQueueConfig.cmake) + +export(PACKAGE ConcurrentQueue) +