diff options
| author | Silvio Traversaro <silvio.traversaro@iit.it> | 2020-08-01 01:49:53 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-31 16:49:53 -0700 |
| commit | 00e44369cb23f911821ee96888cbb4785810ba07 (patch) | |
| tree | dfcbb3c5c8aa79cf7772875f652a181b50d3c7d7 | |
| parent | 5c66f720c0bc28071955e0c224075cae556bf286 (diff) | |
| download | vcpkg-00e44369cb23f911821ee96888cbb4785810ba07.tar.gz vcpkg-00e44369cb23f911821ee96888cbb4785810ba07.zip | |
[tomlplusplus] Add new port (#10786)
* vcpkg_fixup_cmake_targets: Add support for processing cmake config files generated by meson
In particular this adds a workaround for the differences between CMake and meson
described in https://github.com/mesonbuild/meson/issues/6955
* Add tomlplusplus
* Resolve conflicts
* Update scripts/ci.baseline.txt
* [tomplusplus] Update ci.basline.txt
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: wangli28 <wangli28@beyondsoft.com>
Co-authored-by: Cheney Wang <38240633+Cheney-W@users.noreply.github.com>
| -rw-r--r-- | ports/tomlplusplus/CONTROL | 5 | ||||
| -rw-r--r-- | ports/tomlplusplus/portfile.cmake | 24 | ||||
| -rw-r--r-- | scripts/cmake/vcpkg_fixup_cmake_targets.cmake | 4 |
3 files changed, 33 insertions, 0 deletions
diff --git a/ports/tomlplusplus/CONTROL b/ports/tomlplusplus/CONTROL new file mode 100644 index 000000000..7ac41ccf3 --- /dev/null +++ b/ports/tomlplusplus/CONTROL @@ -0,0 +1,5 @@ +Source: tomlplusplus +Version: 1.3.0-3 +Homepage: https://marzer.github.io/tomlplusplus/ +Description: Header-only TOML config file parser and serializer for modern C++. +Supports: !(arm|uwp|linux|osx) diff --git a/ports/tomlplusplus/portfile.cmake b/ports/tomlplusplus/portfile.cmake new file mode 100644 index 000000000..604d44d43 --- /dev/null +++ b/ports/tomlplusplus/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "linux" "osx" "uwp") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO marzer/tomlplusplus + REF v1.3.0 + SHA512 3c758c59f4bddfc646b596c358909f37c35d3e7200bd04663bf8c6493c2f64797352dd8a788e68bcc1a785fa41ac2dfc5621bf5328018748bdc3c5cea621b3bc + HEAD_REF master +) + +vcpkg_configure_meson( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS -DGENERATE_CMAKE_CONFIG=enabled + -DBUILD_TESTS=disabled + -DBUILD_EXAMPLES=disabled +) + +vcpkg_install_meson() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake index ad2077b4d..0be2dfc54 100644 --- a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake +++ b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake @@ -169,6 +169,10 @@ function(vcpkg_fixup_cmake_targets) "get_filename_component\\(PACKAGE_PREFIX_DIR \"\\\${CMAKE_CURRENT_LIST_DIR}/\\.\\./(\\.\\./)*\" ABSOLUTE\\)" "get_filename_component(PACKAGE_PREFIX_DIR \"\${CMAKE_CURRENT_LIST_DIR}/../../\" ABSOLUTE)" _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}") # This is a meson-related workaround, see https://github.com/mesonbuild/meson/issues/6955 #Fix wrongly absolute paths to install dir with the correct dir using ${_IMPORT_PREFIX} string(REPLACE "${CURRENT_INSTALLED_DIR}" [[${_IMPORT_PREFIX}]] _contents "${_contents}") file(WRITE ${MAIN_CMAKE} "${_contents}") |
