aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/concurrentqueue
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/concurrentqueue')
-rw-r--r--vcpkg/ports/concurrentqueue/portfile.cmake24
-rw-r--r--vcpkg/ports/concurrentqueue/unofficial-concurrentqueue-config.cmake16
-rw-r--r--vcpkg/ports/concurrentqueue/vcpkg.json18
3 files changed, 58 insertions, 0 deletions
diff --git a/vcpkg/ports/concurrentqueue/portfile.cmake b/vcpkg/ports/concurrentqueue/portfile.cmake
new file mode 100644
index 0000000..34bfc1a
--- /dev/null
+++ b/vcpkg/ports/concurrentqueue/portfile.cmake
@@ -0,0 +1,24 @@
+set(VCPKG_BUILD_TYPE release) # header-only library
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO cameron314/concurrentqueue
+ REF v${VERSION}
+ SHA512 a27306d1a7ad725daf5155a8e33a93efd29839708b2147ba703d036c4a92e04cbd8a505d804d2596ccb4dd797e88aca030b1cb34a4eaf09c45abb0ab55e604ea
+ HEAD_REF master
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+)
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/concurrentqueue")
+
+# transitional polyfill
+file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/include/concurrentqueue/unofficial/concurrentqueue")
+file(WRITE "${CURRENT_PACKAGES_DIR}/include/concurrentqueue/unofficial/concurrentqueue/concurrentqueue.h" [[#include "../../moodycamel/concurrentqueue.h"]])
+file(COPY "${CURRENT_PORT_DIR}/unofficial-concurrentqueue-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-concurrentqueue")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib")
+
+file(RENAME "${CURRENT_PACKAGES_DIR}/include/concurrentqueue/moodycamel/LICENSE.md" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright")
diff --git a/vcpkg/ports/concurrentqueue/unofficial-concurrentqueue-config.cmake b/vcpkg/ports/concurrentqueue/unofficial-concurrentqueue-config.cmake
new file mode 100644
index 0000000..b789798
--- /dev/null
+++ b/vcpkg/ports/concurrentqueue/unofficial-concurrentqueue-config.cmake
@@ -0,0 +1,16 @@
+message(WARNING [[
+'find_package(unofficial-concurrentqueue)' is deprecated. Please use
+
+ find_package(concurrentqueue CONFIG)
+ target_link_libraries(main PRIVATE concurrentqueue::concurrentqueue)
+ #include <moodycamel/concurrentqueue.h>
+]])
+include(CMakeFindDependencyMacro)
+find_dependency(concurrentqueue)
+if(NOT TARGET unofficial::concurrentqueue::concurrentqueue)
+ add_library(#[[skip-usage-heuristics]] unofficial::concurrentqueue::concurrentqueue IMPORTED INTERFACE)
+ set_target_properties(unofficial::concurrentqueue::concurrentqueue PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_LIST_DIR}/../../include/concurrentqueue/unofficial"
+ INTERFACE_LINK_LIBRARIES concurrentqueue::concurrentqueue
+ )
+endif()
diff --git a/vcpkg/ports/concurrentqueue/vcpkg.json b/vcpkg/ports/concurrentqueue/vcpkg.json
new file mode 100644
index 0000000..e657949
--- /dev/null
+++ b/vcpkg/ports/concurrentqueue/vcpkg.json
@@ -0,0 +1,18 @@
+{
+ "name": "concurrentqueue",
+ "version": "1.0.4",
+ "port-version": 1,
+ "description": "A fast multi-producer, multi-consumer lock-free concurrent queue for C++11",
+ "homepage": "https://github.com/cameron314/concurrentqueue",
+ "license": "BSD-2-Clause OR BSL-1.0",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}