aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/nanobench
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/nanobench')
-rw-r--r--vcpkg/ports/nanobench/CMakeLists.txt23
-rw-r--r--vcpkg/ports/nanobench/portfile.cmake23
-rw-r--r--vcpkg/ports/nanobench/usage4
-rw-r--r--vcpkg/ports/nanobench/vcpkg.json18
4 files changed, 68 insertions, 0 deletions
diff --git a/vcpkg/ports/nanobench/CMakeLists.txt b/vcpkg/ports/nanobench/CMakeLists.txt
new file mode 100644
index 0000000..b486bec
--- /dev/null
+++ b/vcpkg/ports/nanobench/CMakeLists.txt
@@ -0,0 +1,23 @@
+cmake_minimum_required(VERSION 3.12 FATAL_ERROR)
+
+project(nanobench LANGUAGES CXX)
+
+include(GNUInstallDirs)
+
+add_library(nanobench STATIC "${CMAKE_SOURCE_DIR}/src/test/app/nanobench.cpp")
+add_library(nanobench::nanobench ALIAS nanobench)
+set_property(TARGET nanobench PROPERTY CXX_STANDARD 17)
+target_include_directories(nanobench PUBLIC
+ "$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>"
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
+
+install(TARGETS nanobench EXPORT nanobench)
+
+install(
+ EXPORT nanobench
+ FILE nanobench-config.cmake
+ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/nanobench"
+ NAMESPACE nanobench::
+)
+
+install(FILES "${CMAKE_SOURCE_DIR}/src/include/nanobench.h" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
diff --git a/vcpkg/ports/nanobench/portfile.cmake b/vcpkg/ports/nanobench/portfile.cmake
new file mode 100644
index 0000000..1d25b7a
--- /dev/null
+++ b/vcpkg/ports/nanobench/portfile.cmake
@@ -0,0 +1,23 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO martinus/nanobench
+ REF "v${VERSION}"
+ SHA512 88697cc87e99b8c17f004dbd39efee664145b86d9feec02f5dba0d84be88e9bd272e537f392e670445d849f0d3c852b9870aea650d84968ee6fbc23a56bcff64
+ HEAD_REF master
+)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
diff --git a/vcpkg/ports/nanobench/usage b/vcpkg/ports/nanobench/usage
new file mode 100644
index 0000000..1389621
--- /dev/null
+++ b/vcpkg/ports/nanobench/usage
@@ -0,0 +1,4 @@
+nanobench provides CMake targets:
+
+ find_package(nanobench CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE nanobench::nanobench)
diff --git a/vcpkg/ports/nanobench/vcpkg.json b/vcpkg/ports/nanobench/vcpkg.json
new file mode 100644
index 0000000..8e32bb2
--- /dev/null
+++ b/vcpkg/ports/nanobench/vcpkg.json
@@ -0,0 +1,18 @@
+{
+ "name": "nanobench",
+ "version": "4.3.11",
+ "description": "Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20",
+ "homepage": "https://nanobench.ankerl.com",
+ "license": "MIT",
+ "supports": "!uwp",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}