vcpkg/ports/boost-build/portfile.cmake

64 lines
2.4 KiB
CMake

# Automatically generated by scripts/boost/generate-ports.ps1
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
if(CMAKE_HOST_WIN32 AND VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "MinGW")
return()
endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/build
REF boost-${VERSION}
SHA512 e2d6bc4e1c45a420e343981d05139d3fce89d9facefa9affef0f1450e2e668517bb122552548e5c5fe046a35eb571fecf345ffdef5f24de1c20d1959aeb49280
HEAD_REF master
PATCHES
0001-fix-get-version.patch
0002-fix-emscripten.patch
0003-workaround-MSVC-codegen-bug-in-17.5-on-ARM64.patch
)
# This fixes the lib path to use desktop libs instead of uwp -- TODO: improve this with better "host" compilation
string(REPLACE "\\store\\;" "\\;" LIB "$ENV{LIB}")
set(ENV{LIB} "${LIB}")
file(COPY
${SOURCE_PATH}/
DESTINATION ${CURRENT_PACKAGES_DIR}/tools/boost-build
)
file(READ "${CURRENT_PACKAGES_DIR}/tools/boost-build/src/tools/msvc.jam" _contents)
string(REPLACE " /ZW /EHsc " "" _contents "${_contents}")
string(REPLACE "-nologo" "" _contents "${_contents}")
string(REPLACE "/nologo" "" _contents "${_contents}")
string(REPLACE "/Zm800" "" _contents "${_contents}")
string(REPLACE "<define>_WIN32_WINNT=0x0602" "" _contents "${_contents}")
file(WRITE "${CURRENT_PACKAGES_DIR}/tools/boost-build/src/tools/msvc.jam" "${_contents}")
message(STATUS "Bootstrapping...")
if(CMAKE_HOST_WIN32)
if(VCPKG_TARGET_IS_MINGW)
set(TOOLSET mingw)
else()
set(TOOLSET msvc)
endif()
vcpkg_execute_required_process(
COMMAND "${CURRENT_PACKAGES_DIR}/tools/boost-build/bootstrap.bat" ${TOOLSET}
WORKING_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/boost-build
LOGNAME bootstrap-${TARGET_TRIPLET}
)
else()
vcpkg_execute_required_process(
COMMAND "${CURRENT_PACKAGES_DIR}/tools/boost-build/bootstrap.sh"
WORKING_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/boost-build
LOGNAME bootstrap-${TARGET_TRIPLET}
)
endif()
vcpkg_download_distfile(BOOST_LICENSE
URLS "https://raw.githubusercontent.com/boostorg/boost/refs/tags/boost-${VERSION}/LICENSE_1_0.txt"
FILENAME "boost-${VERSION}-LICENSE_1_0.txt"
SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8
)
vcpkg_install_copyright(FILE_LIST "${BOOST_LICENSE}")