diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2017-05-10 02:03:20 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-05-10 02:03:20 -0700 |
| commit | c25faaa7e91bd5dd75b5d326aaf0fd5ca745d50c (patch) | |
| tree | 42e321954e0b8544ebaa958c5bf2bfe26a7111f9 | |
| parent | 181099fecc71a301953560dcfbcd9a1e45cc4422 (diff) | |
| parent | 5fb2f600850e3072823312b273f99d72295e9f65 (diff) | |
| download | vcpkg-c25faaa7e91bd5dd75b5d326aaf0fd5ca745d50c.tar.gz vcpkg-c25faaa7e91bd5dd75b5d326aaf0fd5ca745d50c.zip | |
Merge pull request #1061 from KindDragon/gbenchmark
[benchmark] Initial commit for Google Benchmark library
| -rw-r--r-- | ports/benchmark/CONTROL | 3 | ||||
| -rw-r--r-- | ports/benchmark/fix-cmakelists.patch | 27 | ||||
| -rw-r--r-- | ports/benchmark/portfile.cmake | 42 |
3 files changed, 72 insertions, 0 deletions
diff --git a/ports/benchmark/CONTROL b/ports/benchmark/CONTROL new file mode 100644 index 000000000..21f36fe43 --- /dev/null +++ b/ports/benchmark/CONTROL @@ -0,0 +1,3 @@ +Source: benchmark +Version: 1.1.0 +Description: A library to support the benchmarking of functions, similar to unit-tests.
\ No newline at end of file diff --git a/ports/benchmark/fix-cmakelists.patch b/ports/benchmark/fix-cmakelists.patch new file mode 100644 index 000000000..f1d72fdc3 --- /dev/null +++ b/ports/benchmark/fix-cmakelists.patch @@ -0,0 +1,27 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 4038875..94d2aea 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -28,17 +28,20 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") + endif() + + # Expose public API +-target_include_directories(benchmark PUBLIC ${PROJECT_SOURCE_DIR}/include) ++target_include_directories(benchmark PRIVATE ${PROJECT_SOURCE_DIR}/include) + + # Install target (will install the library to specified CMAKE_INSTALL_PREFIX variable) + install( + TARGETS benchmark ++ EXPORT benchmarkTargets + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin +- COMPONENT library) ++ INCLUDES DESTINATION include) + + install( + DIRECTORY "${PROJECT_SOURCE_DIR}/include/benchmark" + DESTINATION include + FILES_MATCHING PATTERN "*.*h") ++ ++install(EXPORT benchmarkTargets NAMESPACE benchmark:: DESTINATION share/benchmark) diff --git a/ports/benchmark/portfile.cmake b/ports/benchmark/portfile.cmake new file mode 100644 index 000000000..d8fc98a7e --- /dev/null +++ b/ports/benchmark/portfile.cmake @@ -0,0 +1,42 @@ +if(VCPKG_CRT_LINKAGE STREQUAL static) + message(FATAL_ERROR "Google benchmark only supports dynamic crt linkage.") +endif() + +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + message(STATUS "Warning: Dynamic building not supported yet. Building static.") + set(VCPKG_LIBRARY_LINKAGE static) +endif() + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/benchmark + REF v1.1.0 + SHA512 533061531e6a37723a626addc9e779018c4c2cfc8634ae45860eec0d3800103b5b562f865ac1dc0c8dbe045579b81e59de887e1c48318cebf160f03c18321831 + HEAD_REF master +) + +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-cmakelists.patch" +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBENCHMARK_ENABLE_TESTING=OFF +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/benchmark) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/benchmark/LICENSE ${CURRENT_PACKAGES_DIR}/share/benchmark/copyright) |
