From 9433136b22b5e443d550ca7665a562637c8a86b9 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Fri, 27 Sep 2019 10:41:02 -0700 Subject: [boost] Update to 1.71.0 (#7959) * [boost] Update to 1.71.0 * [openmvs] Fixes for boost 1.71 * [telnetpp] DISABLE_PARALLEL_CONFIGURE * [execute_process] Fix output variables (like error_code) not getting populated * [telnetpp] Add missing boost-exception dependency * [boost] Refactor generate-ports.ps1 into scripts dir. Enable boost-thread on uwp. * [boost-iostreams] Revert removal of zstd dependency * [openmvs] Fix tools deployment --- scripts/boost/.gitignore | 3 + scripts/boost/generate-ports.ps1 | 421 ++++++++++++++++++++++++ scripts/boost/post-build-stubs/config.cmake | 7 + scripts/boost/post-build-stubs/context.cmake | 6 + scripts/boost/post-build-stubs/exception.cmake | 3 + scripts/boost/post-build-stubs/predef.cmake | 2 + scripts/boost/post-build-stubs/test.cmake | 14 + scripts/boost/post-source-stubs/context.cmake | 5 + scripts/boost/post-source-stubs/fiber.cmake | 5 + scripts/boost/post-source-stubs/iostreams.cmake | 18 + scripts/boost/post-source-stubs/log.cmake | 13 + scripts/boost/post-source-stubs/python.cmake | 5 + scripts/boost/post-source-stubs/test.cmake | 5 + 13 files changed, 507 insertions(+) create mode 100644 scripts/boost/.gitignore create mode 100644 scripts/boost/generate-ports.ps1 create mode 100644 scripts/boost/post-build-stubs/config.cmake create mode 100644 scripts/boost/post-build-stubs/context.cmake create mode 100644 scripts/boost/post-build-stubs/exception.cmake create mode 100644 scripts/boost/post-build-stubs/predef.cmake create mode 100644 scripts/boost/post-build-stubs/test.cmake create mode 100644 scripts/boost/post-source-stubs/context.cmake create mode 100644 scripts/boost/post-source-stubs/fiber.cmake create mode 100644 scripts/boost/post-source-stubs/iostreams.cmake create mode 100644 scripts/boost/post-source-stubs/log.cmake create mode 100644 scripts/boost/post-source-stubs/python.cmake create mode 100644 scripts/boost/post-source-stubs/test.cmake (limited to 'scripts') diff --git a/scripts/boost/.gitignore b/scripts/boost/.gitignore new file mode 100644 index 000000000..f8e31288e --- /dev/null +++ b/scripts/boost/.gitignore @@ -0,0 +1,3 @@ +/boost +/downloads +/libs \ No newline at end of file diff --git a/scripts/boost/generate-ports.ps1 b/scripts/boost/generate-ports.ps1 new file mode 100644 index 000000000..d51b37f7e --- /dev/null +++ b/scripts/boost/generate-ports.ps1 @@ -0,0 +1,421 @@ +[CmdletBinding()] +param ( + $libraries = @(), + $version = "1.71.0" +) + +$scriptsDir = split-path -parent $MyInvocation.MyCommand.Definition +$portsDir = "$scriptsDir/../../ports" + +function TransformReference() +{ + param ( + [string]$library + ) + + if ($library -match "python|fiber") + { + # These two only work on windows desktop + "$library (windows)" + } + elseif ($library -match "type[_-]erasure|contract") + { + # These only work on x86-derived processors + "$library (!arm)" + } + elseif ($library -match "iostreams|filesystem|context|stacktrace|coroutine`$|locale|test|wave|log`$") + { + "$library (!uwp)" + } + else + { + "$library" + } +} + +function Generate() +{ + param ( + [string]$Name, + [string]$Hash, + [bool]$NeedsBuild, + $Depends = @() + ) + + $controlDeps = ($Depends | sort) -join ", " + + $sanitizedName = $name -replace "_","-" + + $versionsuffix = "" + if ($Name -eq "python" -or $Name -eq "asio" -or $Name -eq "mpi") + { + $versionsuffix = "-1" + } + + if ($Name -eq "test") + { + $versionsuffix = "-2" + } + + mkdir "$portsDir/boost-$sanitizedName" -erroraction SilentlyContinue | out-null + $controlLines = @( + "# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1" + "Source: boost-$sanitizedName" + "Version: $version$versionsuffix" + "Build-Depends: $controlDeps" + "Homepage: https://github.com/boostorg/$name" + "Description: Boost $Name module" + ) + if ($Name -eq "locale") + { + $controlLines += @( + "" + "Feature: icu" + "Description: ICU backend for Boost.Locale" + "Build-Depends: icu" + ) + } + if ($Name -eq "regex") + { + $controlLines += @( + "" + "Feature: icu" + "Description: ICU backend for Boost.Regex" + "Build-Depends: icu" + ) + } + $controlLines | out-file -enc ascii "$portsDir/boost-$sanitizedName/CONTROL" + + $portfileLines = @( + "# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1" + "" + "include(vcpkg_common_functions)" + "" + "vcpkg_from_github(" + " OUT_SOURCE_PATH SOURCE_PATH" + " REPO boostorg/$Name" + " REF boost-$version" + " SHA512 $Hash" + " HEAD_REF master" + ) + if ($Name -eq "asio") + { + $portfileLines += @(" PATCHES windows_alloca_header.patch") + } + if ($Name -eq "iostreams") + { + $portfileLines += @(" PATCHES Removeseekpos.patch") + } + $portfileLines += @( + ")" + "" + ) + + if (Test-Path "$scriptsDir/post-source-stubs/$Name.cmake") + { + $portfileLines += @(get-content "$scriptsDir/post-source-stubs/$Name.cmake") + } + + if ($NeedsBuild) + { + if ($Name -eq "locale") + { + $portfileLines += @( + "if(`"icu`" IN_LIST FEATURES)" + " set(BOOST_LOCALE_ICU on)" + "else()" + " set(BOOST_LOCALE_ICU off)" + "endif()" + "" + "include(`${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)" + "boost_modular_build(" + " SOURCE_PATH `${SOURCE_PATH}" + " BOOST_CMAKE_FRAGMENT `"`${CMAKE_CURRENT_LIST_DIR}/cmake-fragment.cmake`"" + " OPTIONS" + " boost.locale.iconv=off" + " boost.locale.posix=off" + " /boost/locale//boost_locale" + " boost.locale.icu=`${BOOST_LOCALE_ICU}" + ")" + ) + } + elseif ($Name -eq "regex") + { + $portfileLines += @( + "if(`"icu`" IN_LIST FEATURES)" + " set(REQUIREMENTS `"/user-config//icuuc /user-config//icudt /user-config//icuin BOOST_HAS_ICU=1`")" + "else()" + " set(REQUIREMENTS)" + "endif()" + "" + "include(`${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)" + "boost_modular_build(SOURCE_PATH `${SOURCE_PATH} REQUIREMENTS `"`${REQUIREMENTS}`")" + ) + } + elseif ($Name -eq "thread") + { + $portfileLines += @( + "include(`${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)" + "boost_modular_build(" + " SOURCE_PATH `${SOURCE_PATH}" + " REQUIREMENTS `"/boost/date_time//boost_date_time`"" + " OPTIONS /boost/thread//boost_thread" + " BOOST_CMAKE_FRAGMENT `${CMAKE_CURRENT_LIST_DIR}/b2-options.cmake" + ")" + ) + } + elseif ($Name -eq "iostreams") + { + } + else + { + $portfileLines += @( + "include(`${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)" + "boost_modular_build(SOURCE_PATH `${SOURCE_PATH})" + ) + } + } + if ($Name -ne "iostreams") + { + $portfileLines += @( + "include(`${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake)" + "boost_modular_headers(SOURCE_PATH `${SOURCE_PATH})" + ) + } + + if (Test-Path "$scriptsDir/post-build-stubs/$Name.cmake") + { + $portfileLines += @(get-content "$scriptsDir/post-build-stubs/$Name.cmake") + } + + $portfileLines | out-file -enc ascii "$portsDir/boost-$sanitizedName/portfile.cmake" +} + +if (!(Test-Path "$scriptsDir/boost")) +{ + "Cloning boost..." + pushd $scriptsDir + try + { + git clone https://github.com/boostorg/boost --branch boost-$version + } + finally + { + popd + } +} +else +{ + pushd $scriptsDir/boost + try + { + git fetch + git checkout -f boost-$version + } + finally + { + popd + } +} + +$libraries_found = ls $scriptsDir/boost/libs -directory | % name | % { + if ($_ -match "numeric") + { + "numeric_conversion" + "interval" + "odeint" + "ublas" + "safe_numerics" + } + elseif ($_ -eq "headers") + { + } + else + { + $_ + } +} + +mkdir $scriptsDir/downloads -erroraction SilentlyContinue | out-null + +if ($libraries.Length -eq 0) +{ + $libraries = $libraries_found +} + +$libraries_in_boost_port = @() + +foreach ($library in $libraries) +{ + "Handling boost/$library..." + $archive = "$scriptsDir/downloads/$library-boost-$version.tar.gz" + if (!(Test-Path $archive)) + { + "Downloading boost/$library..." + & @(vcpkg fetch aria2)[-1] "https://github.com/boostorg/$library/archive/boost-$version.tar.gz" -d "$scriptsDir/downloads" -o "$library-boost-$version.tar.gz" + } + $hash = vcpkg hash $archive + $unpacked = "$scriptsDir/libs/$library-boost-$version" + if (!(Test-Path $unpacked)) + { + "Unpacking boost/$library..." + mkdir $scriptsDir/libs -erroraction SilentlyContinue | out-null + pushd $scriptsDir/libs + try + { + cmake -E tar xf $archive + } + finally + { + popd + } + } + pushd $unpacked + try + { + $groups = $( + findstr /si /C:"include ).*", "`$1" ` + -replace "/|\.hp?p?| ","" } | group | % name | % { + # mappings + Write-Verbose "${library}: $_" + if ($_ -match "aligned_storage") { "type_traits" } + elseif ($_ -match "noncopyable|ref|swap|get_pointer|checked_delete|visit_each") { "core" } + elseif ($_ -eq "type") { "core" } + elseif ($_ -match "unordered_") { "unordered" } + elseif ($_ -match "cstdint") { "integer" } + elseif ($_ -match "call_traits|operators|current_function|cstdlib|next_prior|compressed_pair") { "utility" } + elseif ($_ -match "^version|^workaround") { "config" } + elseif ($_ -match "enable_shared_from_this|shared_ptr|make_shared|make_unique|intrusive_ptr|scoped_ptr|pointer_to_other|weak_ptr|shared_array|scoped_array") { "smart_ptr" } + elseif ($_ -match "iterator_adaptors|generator_iterator|pointee") { "iterator" } + elseif ($_ -eq "regex_fwd") { "regex" } + elseif ($_ -eq "make_default") { "convert" } + elseif ($_ -eq "foreach_fwd") { "foreach" } + elseif ($_ -eq "cerrno") { "system" } + elseif ($_ -eq "archive") { "serialization" } + elseif ($_ -eq "none") { "optional" } + elseif ($_ -eq "integer_traits") { "integer" } + elseif ($_ -eq "limits") { "compatibility" } + elseif ($_ -eq "math_fwd") { "math" } + elseif ($_ -match "polymorphic_cast|implicit_cast") { "conversion" } + elseif ($_ -eq "nondet_random") { "random" } + elseif ($_ -eq "memory_order") { "atomic" } + elseif ($_ -eq "blank") { "detail" } + elseif ($_ -match "is_placeholder|mem_fn") { "bind" } + elseif ($_ -eq "exception_ptr") { "exception" } + elseif ($_ -eq "multi_index_container") { "multi_index" } + elseif ($_ -eq "lexical_cast") { "lexical_cast"; "math" } + elseif ($_ -match "token_iterator|token_functions") { "tokenizer" } + elseif ($_ -eq "numeric" -and $library -notmatch "numeric_conversion|interval|odeint|ublas") { "numeric_conversion"; "interval"; "odeint"; "ublas" } + else { $_ } + } | group | % name | ? { $_ -ne $library } + + #"`nFor ${library}:" + " [known] " + $($groups | ? { $libraries_found -contains $_ }) + " [unknown] " + $($groups | ? { $libraries_found -notcontains $_ }) + + $deps = @($groups | ? { $libraries_found -contains $_ }) + + $deps = @($deps | ? { + # Boost contains cycles, so remove a few dependencies to break the loop. + (($library -notmatch "core|assert|mpl|detail|throw_exception|type_traits|^exception") -or ($_ -notmatch "utility")) ` + -and ` + (($library -notmatch "range") -or ($_ -notmatch "algorithm"))` + -and ` + (($library -ne "config") -or ($_ -notmatch "integer"))` + -and ` + (($library -notmatch "multiprecision") -or ($_ -notmatch "random|math"))` + -and ` + (($library -notmatch "lexical_cast") -or ($_ -notmatch "math"))` + -and ` + (($library -notmatch "functional") -or ($_ -notmatch "function"))` + -and ` + (($library -notmatch "detail") -or ($_ -notmatch "static_assert|integer|mpl|type_traits"))` + -and ` + ($_ -notmatch "mpi")` + -and ` + (($library -notmatch "spirit") -or ($_ -notmatch "serialization"))` + -and ` + (($library -notmatch "throw_exception") -or ($_ -notmatch "^exception"))` + -and ` + (($library -notmatch "iostreams") -or ($_ -notmatch "random"))` + -and ` + (($library -notmatch "utility|concept_check") -or ($_ -notmatch "iterator")) + } | % { "boost-$_" -replace "_","-" } | % { + TransformReference $_ + }) + + $deps += @("boost-vcpkg-helpers") + + $needsBuild = $false + if ((Test-Path $unpacked/build/Jamfile.v2) -and $library -ne "metaparse" -and $library -ne "graph_parallel") + { + $deps += @("boost-build", "boost-modular-build-helper") + $needsBuild = $true + } + + if ($library -eq "python") + { + $deps += @("python3") + $needsBuild = $true + } + elseif ($library -eq "iostreams") + { + $deps += @("zlib", "bzip2", "liblzma", "zstd") + } + elseif ($library -eq "locale") + { + $deps += @("libiconv (!uwp&!windows)", "boost-system") + } + elseif ($library -eq "asio") + { + $deps += @("openssl") + } + elseif ($library -eq "mpi") + { + $deps += @("mpi") + } + + Generate ` + -Name $library ` + -Hash $hash ` + -Depends $deps ` + -NeedsBuild $needsBuild + + $libraries_in_boost_port += @(TransformReference $library) + } + finally + { + popd + } +} + +if ($libraries_in_boost_port.length -gt 1) { + # Generate master boost control file which depends on each individual library + # mpi is excluded due to it having a dependency on msmpi + $boostDependsList = @($libraries_in_boost_port | % { "boost-$_" -replace "_","-" } | ? { $_ -notmatch "boost-mpi" }) -join ", " + + @( + "# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1" + "Source: boost" + "Version: $version" + "Homepage: https://boost.org" + "Description: Peer-reviewed portable C++ source libraries" + "Build-Depends: $boostDependsList" + "" + "Feature: mpi" + "Description: Build with MPI support" + "Build-Depends: boost-mpi" + ) | out-file -enc ascii $portsDir/boost/CONTROL + + "set(VCPKG_POLICY_EMPTY_PACKAGE enabled)`n" | out-file -enc ascii $portsDir/boost/portfile.cmake +} + +return diff --git a/scripts/boost/post-build-stubs/config.cmake b/scripts/boost/post-build-stubs/config.cmake new file mode 100644 index 000000000..b09ea209b --- /dev/null +++ b/scripts/boost/post-build-stubs/config.cmake @@ -0,0 +1,7 @@ +file(APPEND ${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp "\n#ifndef BOOST_ALL_NO_LIB\n#define BOOST_ALL_NO_LIB\n#endif\n") +file(APPEND ${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp "\n#undef BOOST_ALL_DYN_LINK\n") + +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + file(APPEND ${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp "\n#define BOOST_ALL_DYN_LINK\n") +endif() +file(COPY ${SOURCE_PATH}/checks DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-config) diff --git a/scripts/boost/post-build-stubs/context.cmake b/scripts/boost/post-build-stubs/context.cmake new file mode 100644 index 000000000..a88f8441d --- /dev/null +++ b/scripts/boost/post-build-stubs/context.cmake @@ -0,0 +1,6 @@ + +# boost-context removed all.hpp, which is used by FindBoost to determine that context is installed +if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include/boost/context/all.hpp) + file(WRITE ${CURRENT_PACKAGES_DIR}/include/boost/context/all.hpp + "#error \"#include is no longer supported by boost_context.\"") +endif() diff --git a/scripts/boost/post-build-stubs/exception.cmake b/scripts/boost/post-build-stubs/exception.cmake new file mode 100644 index 000000000..43594a044 --- /dev/null +++ b/scripts/boost/post-build-stubs/exception.cmake @@ -0,0 +1,3 @@ + +set(VCPKG_LIBRARY_LINKAGE static) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) diff --git a/scripts/boost/post-build-stubs/predef.cmake b/scripts/boost/post-build-stubs/predef.cmake new file mode 100644 index 000000000..b960fcd6e --- /dev/null +++ b/scripts/boost/post-build-stubs/predef.cmake @@ -0,0 +1,2 @@ + +file(COPY ${SOURCE_PATH}/tools/check DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-predef) diff --git a/scripts/boost/post-build-stubs/test.cmake b/scripts/boost/post-build-stubs/test.cmake new file mode 100644 index 000000000..c6d07dbc4 --- /dev/null +++ b/scripts/boost/post-build-stubs/test.cmake @@ -0,0 +1,14 @@ +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link) + file(GLOB MONITOR_LIBS ${CURRENT_PACKAGES_DIR}/lib/*_exec_monitor*) + file(COPY ${MONITOR_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link) + file(REMOVE ${MONITOR_LIBS}) +endif() + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) + file(GLOB DEBUG_MONITOR_LIBS ${CURRENT_PACKAGES_DIR}/debug/lib/*_exec_monitor*) + file(COPY ${DEBUG_MONITOR_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) + file(REMOVE ${DEBUG_MONITOR_LIBS}) +endif() + diff --git a/scripts/boost/post-source-stubs/context.cmake b/scripts/boost/post-source-stubs/context.cmake new file mode 100644 index 000000000..9ccf34233 --- /dev/null +++ b/scripts/boost/post-source-stubs/context.cmake @@ -0,0 +1,5 @@ +file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents) +string(REPLACE "import ../../config/checks/config" "import config/checks/config" _contents "${_contents}") +file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}") +file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/build/config") + diff --git a/scripts/boost/post-source-stubs/fiber.cmake b/scripts/boost/post-source-stubs/fiber.cmake new file mode 100644 index 000000000..9ccf34233 --- /dev/null +++ b/scripts/boost/post-source-stubs/fiber.cmake @@ -0,0 +1,5 @@ +file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents) +string(REPLACE "import ../../config/checks/config" "import config/checks/config" _contents "${_contents}") +file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}") +file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/build/config") + diff --git a/scripts/boost/post-source-stubs/iostreams.cmake b/scripts/boost/post-source-stubs/iostreams.cmake new file mode 100644 index 000000000..55841bb3f --- /dev/null +++ b/scripts/boost/post-source-stubs/iostreams.cmake @@ -0,0 +1,18 @@ +vcpkg_download_distfile(LICENSE + URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.70.0/LICENSE_1_0.txt" + FILENAME "boost_LICENSE_1_0.txt" + SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8 +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(COPY ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR}) +file(INSTALL ${LICENSE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-iostreams RENAME copyright) diff --git a/scripts/boost/post-source-stubs/log.cmake b/scripts/boost/post-source-stubs/log.cmake new file mode 100644 index 000000000..78500ddc3 --- /dev/null +++ b/scripts/boost/post-source-stubs/log.cmake @@ -0,0 +1,13 @@ +file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents) +string(REPLACE "import ../../config/checks/config" "import config/checks/config" _contents "${_contents}") +string(REPLACE " @select-arch-specific-sources" "#@select-arch-specific-sources" _contents "${_contents}") +file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}") +file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/build/config") + +file(READ ${SOURCE_PATH}/build/log-architecture.jam _contents) +string(REPLACE + "\nproject.load [ path.join [ path.make $(here:D) ] ../../config/checks/architecture ] ;" + "\nproject.load [ path.join [ path.make $(here:D) ] config/checks/architecture ] ;" + _contents "${_contents}") +file(WRITE ${SOURCE_PATH}/build/log-architecture.jam "${_contents}") + diff --git a/scripts/boost/post-source-stubs/python.cmake b/scripts/boost/post-source-stubs/python.cmake new file mode 100644 index 000000000..40b8e0a0b --- /dev/null +++ b/scripts/boost/post-source-stubs/python.cmake @@ -0,0 +1,5 @@ +# Find Python. Can't use find_package here, but we already know where everything is +file(GLOB PYTHON_INCLUDE_PATH "${CURRENT_INSTALLED_DIR}/include/python[0-9.]*") +set(PYTHONLIBS_RELEASE "${CURRENT_INSTALLED_DIR}/lib") +set(PYTHONLIBS_DEBUG "${CURRENT_INSTALLED_DIR}/debug/lib") +string(REGEX REPLACE ".*python([0-9\.]+)$" "\\1" PYTHON_VERSION "${PYTHON_INCLUDE_PATH}") diff --git a/scripts/boost/post-source-stubs/test.cmake b/scripts/boost/post-source-stubs/test.cmake new file mode 100644 index 000000000..b2872338d --- /dev/null +++ b/scripts/boost/post-source-stubs/test.cmake @@ -0,0 +1,5 @@ +file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents) +string(REPLACE "import ../../predef/check/predef" "import predef/check/predef" _contents "${_contents}") +file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}") +file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-predef/check" DESTINATION "${SOURCE_PATH}/build/predef") + -- cgit v1.2.3