aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArkady Shapkin <arkady.shapkin@gmail.com>2017-06-30 20:49:54 +0300
committerArkady Shapkin <arkady.shapkin@gmail.com>2017-07-08 02:45:36 +0300
commitd222302b2f4bd2d857949fde71b927385d703acd (patch)
treeaedd9fd9ca8954378620420a51d1508c6c6d6cb7
parente626129d53587647ea7d7a73217117dde588c9d3 (diff)
downloadvcpkg-d222302b2f4bd2d857949fde71b927385d703acd.tar.gz
vcpkg-d222302b2f4bd2d857949fde71b927385d703acd.zip
[cereal] Portfile fix
-rw-r--r--ports/cereal/CONTROL2
-rw-r--r--ports/cereal/portfile.cmake31
-rw-r--r--scripts/cmake/vcpkg_fixup_cmake_targets.cmake4
3 files changed, 27 insertions, 10 deletions
diff --git a/ports/cereal/CONTROL b/ports/cereal/CONTROL
index 3c598a735..77ca17835 100644
--- a/ports/cereal/CONTROL
+++ b/ports/cereal/CONTROL
@@ -1,3 +1,3 @@
Source: cereal
-Version: 1.2.1
+Version: 1.2.2
Description: a header-only C++11 serialization library (built in support for binary, XML and JSon)
diff --git a/ports/cereal/portfile.cmake b/ports/cereal/portfile.cmake
index f6555416c..d70c9a6e9 100644
--- a/ports/cereal/portfile.cmake
+++ b/ports/cereal/portfile.cmake
@@ -1,16 +1,29 @@
#header-only library
+
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/cereal-1.2.1)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/USCiLab/cereal/archive/v1.2.1.tar.gz"
- FILENAME "cereal-1.2.1.tar.gz"
- SHA512 f0050f27433a4b544e7785aa94fc7b14a57eed6d542e25d3d0fda4d27cf55ea55e796be2138bf80809c96c392436513fe42764b3a456938395bf7f7177dd1c73
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO USCiLab/cereal
+ REF v1.2.2
+ SHA512 9567b2e19add9446b24f8afd122eea09ba6ecd1a090335cf0ab31fdc8f64c6c97daa3d9eaf0801c36a770737488e0eebf81d96d7b7a65deed30da6130f2d47eb
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DJUST_INSTALL_CEREAL=ON
)
-vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH "share/cmake/cereal")
+
+# Clean
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cereal)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/cereal/LICENSE ${CURRENT_PACKAGES_DIR}/share/cereal/copyright)
-
-# Copy the cereal header files
-file(COPY ${SOURCE_PATH}/include/cereal DESTINATION ${CURRENT_PACKAGES_DIR}/include) \ No newline at end of file
diff --git a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
index 6fa096cbd..eaf3bb966 100644
--- a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
+++ b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
@@ -117,6 +117,10 @@ function(vcpkg_fixup_cmake_targets)
foreach(MAIN_CONFIG ${MAIN_CONFIGS})
file(READ ${MAIN_CONFIG} _contents)
string(REGEX REPLACE
+ "get_filename_component\\(_IMPORT_PREFIX \"\\\${CMAKE_CURRENT_LIST_FILE}\" PATH\\)(\nget_filename_component\\(_IMPORT_PREFIX \"\\\${_IMPORT_PREFIX}\" PATH\\))*"
+ "get_filename_component(_IMPORT_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)"
+ _contents "${_contents}")
+ string(REGEX REPLACE
"get_filename_component\\(PACKAGE_PREFIX_DIR \"\\\${CMAKE_CURRENT_LIST_DIR}/\\.\\./(\\.\\./)*\" ABSOLUTE\\)"
"get_filename_component(PACKAGE_PREFIX_DIR \"\${CMAKE_CURRENT_LIST_DIR}/../../\" ABSOLUTE)"
_contents "${_contents}")