vcpkg/ports/boost-cmake/portfile.cmake
Alexander Neumann bcf3d00d21
[Boost] use cmake build (#32309)
~~arm64-windows: boost-context builds are blocked by a cmake bug (see
https://gitlab.kitware.com/cmake/cmake/-/issues/24317)~~

closes #32274
closes https://github.com/Neumann-A/my-vcpkg-triplets/issues/5

Questions:
- [x] ~~Move cmake files to `share/cmake/<name>` ?~~ Not doing it
because it is just using `vcpkg_cmake_config_fixup()`
- [x] Fix weak dependencies (uwp|emscripten|android|arm)?
- [x] Fix library names on !x64 (currently hardcoded to x64 or x86;
failure in aricpp since it forces FindBoost module mode.)
- [x] ~~Fix arm64-windows boost-context builds -> requires CMake
(3.19.2?) update due to bug how the assembler is invoked.~~ (-> CI
baseline for now)

TODO:
- [x] adjust generate ports script
- [x] #37457

---------

Co-authored-by: Cheney-Wang <850426846@qq.com>
2024-04-29 15:27:41 -04:00

43 lines
1.2 KiB
CMake

set(VCPKG_POLICY_CMAKE_HELPER_PORT enabled)
include("${CMAKE_CURRENT_LIST_DIR}/ref_sha.cmake")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH_SUPER
REPO boostorg/boost
REF ${boost_boost_ref}
SHA512 ${boost_boost_sha512}
HEAD_REF master
)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH_CMAKE
REPO boostorg/cmake
REF ${boost_cmake_ref}
SHA512 ${boost_cmake_sha512}
HEAD_REF master
PATCHES
"vcpkg-build.diff"
"fix-mpi.diff"
"no-prefix.diff"
"zstd.diff"
"add-optional-deps.diff"
"fix-missing-archs.diff"
)
configure_file("${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt.in" "${SOURCE_PATH_CMAKE}/CMakeLists.txt" @ONLY)
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH_CMAKE}")
vcpkg_cmake_install()
file(INSTALL "${SOURCE_PATH_CMAKE}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/boost/cmake-build")
file(INSTALL
"${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake"
DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH_SUPER}/LICENSE_1_0.txt")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug")