diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2018-03-11 23:01:33 -0700 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2018-03-11 23:42:53 -0700 |
| commit | a773c59f05ddfbe3fd68517ed4c91aa179e57f89 (patch) | |
| tree | d0b99a52a6b351a648a0415cbb2397f92683b211 /ports/boost-build | |
| parent | 81b58d1868a0f7edf324b2f366426e2973ac80b7 (diff) | |
| download | vcpkg-a773c59f05ddfbe3fd68517ed4c91aa179e57f89.tar.gz vcpkg-a773c59f05ddfbe3fd68517ed4c91aa179e57f89.zip | |
[boost-build] Split out into boost-modular-build-helper and support non-Windows targets
Diffstat (limited to 'ports/boost-build')
| -rw-r--r-- | ports/boost-build/CONTROL | 2 | ||||
| -rw-r--r-- | ports/boost-build/Jamroot.jam | 150 | ||||
| -rw-r--r-- | ports/boost-build/boost-modular-build.cmake | 275 | ||||
| -rw-r--r-- | ports/boost-build/nothing.bat | 0 | ||||
| -rw-r--r-- | ports/boost-build/portfile.cmake | 45 | ||||
| -rw-r--r-- | ports/boost-build/user-config.jam | 33 |
6 files changed, 23 insertions, 482 deletions
diff --git a/ports/boost-build/CONTROL b/ports/boost-build/CONTROL index cf93bfa1e..ef59d386c 100644 --- a/ports/boost-build/CONTROL +++ b/ports/boost-build/CONTROL @@ -1,3 +1,3 @@ Source: boost-build
-Version: 1.66.0-5
+Version: 1.66.0-8
Description: Boost.Build
diff --git a/ports/boost-build/Jamroot.jam b/ports/boost-build/Jamroot.jam deleted file mode 100644 index 6669b446e..000000000 --- a/ports/boost-build/Jamroot.jam +++ /dev/null @@ -1,150 +0,0 @@ -constant BOOST_VERSION : 1.66.0 ;
-constant BOOST_VERSION_ABI_TAG : 1_66 ;
-constant BOOST_JAMROOT_MODULE : $(__name__) ;
-
-import boostcpp ;
-import feature ;
-
-boostcpp.set-version $(BOOST_VERSION) ;
-
-project boost : requirements
- <include>include&&"@CURRENT_INSTALLED_DIR@/include"
- <define>BOOST_ALL_NO_LIB=1
- <tag>@$(__name__).tag
- @REQUIREMENTS@
- ;
-
-rule boost-install ( libraries * )
-{
- stagedir = [ option.get stagedir ] ;
- install stage
- : $(libraries)
- : <location>$(stagedir)/lib ;
-}
-
-rule tag ( name : type ? : property-set )
-{
- return [ boostcpp.tag $(name) : $(type) : $(property-set) ] ;
-}
-
-rule python-tag ( name : type ? : property-set )
-{
- return [ tag $(name) : $(type) : $(property-set) ] ;
-}
-
-if "@PORT@" != "boost-system"
-{
- use-project /boost/system : . ;
-
- lib boost_system : : <file>"@CURRENT_INSTALLED_DIR@/lib/boost_system-vc140-mt.lib" <variant>release ;
- lib boost_system : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/boost_system-vc140-mt-gd.lib" <variant>debug ;
- explicit boost_system ;
-}
-
-if "@PORT@" != "boost-chrono"
-{
- use-project /boost/chrono : . ;
-
- lib boost_chrono : : <file>"@CURRENT_INSTALLED_DIR@/lib/boost_chrono-vc140-mt.lib" <variant>release ;
- lib boost_chrono : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/boost_chrono-vc140-mt-gd.lib" <variant>debug ;
- explicit boost_chrono ;
-}
-
-if "@PORT@" != "boost-regex"
-{
- use-project /boost/regex : . ;
-
- lib boost_regex : : <file>"@CURRENT_INSTALLED_DIR@/lib/boost_regex-vc140-mt.lib" <variant>release ;
- lib boost_regex : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/boost_regex-vc140-mt-gd.lib" <variant>debug ;
- explicit boost_regex ;
-}
-
-if "@PORT@" != "boost-date-time"
-{
- use-project /boost/date_time : . ;
-
- lib boost_date_time : : <file>"@CURRENT_INSTALLED_DIR@/lib/boost_date_time-vc140-mt.lib" <variant>release -<library>/boost/date_time//boost_date_time ;
- lib boost_date_time : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/boost_date_time-vc140-mt-gd.lib" <variant>debug -<library>/boost/date_time//boost_date_time ;
- explicit boost_date_time ;
-}
-
-if "@PORT@" != "boost-thread"
-{
- use-project /boost/thread : . ;
-
- lib boost_thread : : <file>"@CURRENT_INSTALLED_DIR@/lib/boost_thread-vc140-mt.lib" <variant>release : : <library>/boost/date_time//boost_date_time ;
- lib boost_thread : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/boost_thread-vc140-mt-gd.lib" <variant>debug : : <library>/boost/date_time//boost_date_time ;
- explicit boost_thread ;
-}
-
-if "@PORT@" != "boost-timer"
-{
- use-project /boost/timer : . ;
-
- lib boost_timer : : <file>"@CURRENT_INSTALLED_DIR@/lib/boost_timer-vc140-mt.lib" <variant>release ;
- lib boost_timer : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/boost_timer-vc140-mt-gd.lib" <variant>debug ;
- explicit boost_timer ;
-}
-
-if "@PORT@" != "boost-filesystem"
-{
- use-project /boost/filesystem : . ;
-
- lib boost_filesystem : : <file>"@CURRENT_INSTALLED_DIR@/lib/boost_filesystem-vc140-mt.lib" <variant>release : : <library>/boost/system//boost_system ;
- lib boost_filesystem : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/boost_filesystem-vc140-mt-gd.lib" <variant>debug : : <library>/boost/system//boost_system ;
- explicit boost_filesystem ;
-}
-
-if "@PORT@" != "boost-atomic"
-{
- use-project /boost/atomic : . ;
-
- lib boost_atomic : : <file>"@CURRENT_INSTALLED_DIR@/lib/boost_atomic-vc140-mt.lib" <variant>release ;
- lib boost_atomic : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/boost_atomic-vc140-mt-gd.lib" <variant>debug ;
- explicit boost_atomic ;
-}
-
-if "@PORT@" != "boost-context"
-{
- feature.feature segmented-stacks : on : optional propagated composite ;
- feature.compose <segmented-stacks>on : <define>BOOST_USE_SEGMENTED_STACKS ;
-
- use-project /boost/context : . ;
-
- lib boost_context : : <file>"@CURRENT_INSTALLED_DIR@/lib/boost_context-vc140-mt.lib" <variant>release ;
- lib boost_context : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/boost_context-vc140-mt-gd.lib" <variant>debug ;
- explicit boost_context ;
-}
-
-if "@PORT@" != "boost-test"
-{
- use-project /boost/test : . ;
-
- lib boost_unit_test_framework : : <file>"@CURRENT_INSTALLED_DIR@/lib/boost_unit_test_framework-vc140-mt.lib" <variant>release ;
- lib boost_unit_test_framework : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/boost_unit_test_framework-vc140-mt-gd.lib" <variant>debug ;
- explicit boost_unit_test_framework ;
-}
-
-if "@PORT@" != "boost-serialization"
-{
- use-project /boost/serialization : . ;
-
- lib boost_serialization : : <file>@CURRENT_INSTALLED_DIR@/lib/boost_serialization-vc140-mt.lib <variant>release ;
- lib boost_serialization : : <file>@CURRENT_INSTALLED_DIR@/debug/lib/boost_serialization-vc140-mt-gd.lib <variant>debug ;
- explicit boost_serialization ;
-}
-
-rule requires ( foo * )
-{
-}
-
-rule boost-lib ( name : sources * : requirements * : default-build * : usage-requirements * )
-{
- name = boost_$(name) ;
- lib $(name) : $(sources) : $(requirements) : $(default-build) : $(usage-requirements) ;
- boost-install $(name) ;
-}
-
-use-project /boost/@PORT@ : build ;
-
-build-project build ;
diff --git a/ports/boost-build/boost-modular-build.cmake b/ports/boost-build/boost-modular-build.cmake deleted file mode 100644 index 57505dbea..000000000 --- a/ports/boost-build/boost-modular-build.cmake +++ /dev/null @@ -1,275 +0,0 @@ -function(boost_modular_build)
- cmake_parse_arguments(_bm "" "SOURCE_PATH;REQUIREMENTS" "OPTIONS" ${ARGN})
-
- if(NOT DEFINED _bm_SOURCE_PATH)
- message(FATAL_ERROR "SOURCE_PATH is a required argument to boost_modular_build.")
- endif()
-
- # Todo: this serves too similar a purpose as vcpkg_find_acquire_program()
- if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
- set(BOOST_BUILD_PATH "${CURRENT_INSTALLED_DIR}/tools/boost-build")
- else()
- get_filename_component(BOOST_BUILD_PATH "${CURRENT_INSTALLED_DIR}/../x86-windows/tools/boost-build" ABSOLUTE)
- endif()
-
- if(NOT EXISTS "${BOOST_BUILD_PATH}")
- message(FATAL_ERROR "The x86 boost-build tools must be installed to build for non-x86/x64 platforms. Please run `vcpkg install boost-build:x86-windows`.")
- endif()
-
- if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- list(APPEND _bm_OPTIONS windows-api=store)
- endif()
-
- set(_bm_DIR ${CURRENT_INSTALLED_DIR}/share/boost-build)
-
- if(EXISTS "${_bm_SOURCE_PATH}/Jamfile.v2")
- file(REMOVE_RECURSE "${_bm_SOURCE_PATH}/Jamfile.v2")
- endif()
-
- set(REQUIREMENTS ${_bm_REQUIREMENTS})
-
- configure_file(${_bm_DIR}/Jamroot.jam ${_bm_SOURCE_PATH}/Jamroot.jam @ONLY)
-
- # boost thread superfluously builds has_atomic_flag_lockfree on windows.
- if(EXISTS "${_bm_SOURCE_PATH}/build/Jamfile.v2")
- file(READ ${_bm_SOURCE_PATH}/build/Jamfile.v2 _contents)
- string(REPLACE
- "\n\nexe has_atomic_flag_lockfree"
- "\n\nexplicit has_atomic_flag_lockfree ;\nexe has_atomic_flag_lockfree"
- _contents
- "${_contents}"
- )
- string(REPLACE "\nimport ../../config/checks/config : requires ;" "\n# import ../../config/checks/config : requires ;" _contents "${_contents}")
- string(REGEX REPLACE
- "\.\./\.\./([^/ ]+)/build//(boost_[^/ ]+)"
- "/boost/\\1//\\2"
- _contents
- "${_contents}"
- )
- string(REGEX REPLACE " /boost//([^/ ]+)" " /boost/\\1//boost_\\1" _contents "${_contents}")
- file(WRITE ${_bm_SOURCE_PATH}/build/Jamfile.v2 "${_contents}")
- endif()
-
- if(EXISTS "${_bm_SOURCE_PATH}/build/log-architecture.jam")
- file(READ ${_bm_SOURCE_PATH}/build/log-architecture.jam _contents)
- string(REPLACE
- "\nproject.load [ path.join [ path.make $(here:D) ] ../../config/checks/architecture ] ;"
- "\n# project.load [ path.join [ path.make $(here:D) ] ../../config/checks/architecture ] ;"
- _contents "${_contents}")
- file(WRITE ${_bm_SOURCE_PATH}/build/log-architecture.jam "${_contents}")
- endif()
-
- #####################
- # Cleanup previous builds
- ######################
- file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
- if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
- # It is possible for a file in this folder to be locked due to antivirus or vctip
- execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1)
- file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
- if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
- message(FATAL_ERROR "Unable to remove directory: ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel\n Files are likely in use.")
- endif()
- endif()
-
- file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
- if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
- # It is possible for a file in this folder to be locked due to antivirus or vctip
- execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1)
- file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
- if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
- message(FATAL_ERROR "Unable to remove directory: ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg\n Files are likely in use.")
- endif()
- endif()
-
- if(EXISTS ${CURRENT_PACKAGES_DIR}/debug)
- message(FATAL_ERROR "Error: directory exists: ${CURRENT_PACKAGES_DIR}/debug\n The previous package was not fully cleared. This is an internal error.")
- endif()
- file(MAKE_DIRECTORY
- ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
- ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
- )
-
- ######################
- # Generate configuration
- ######################
- list(APPEND _bm_OPTIONS
- -j$ENV{NUMBER_OF_PROCESSORS}
- --debug-configuration
- --debug-building
- --debug-generators
- --disable-icu
- --ignore-site-config
- --hash
- -q
- -sZLIB_INCLUDE="${CURRENT_INSTALLED_DIR}\\include"
- -sBZIP2_INCLUDE="${CURRENT_INSTALLED_DIR}\\include"
- threadapi=win32
- threading=multi
- )
- set(_bm_OPTIONS_DBG
- -sZLIB_BINARY=zlibd
- -sZLIB_LIBPATH="${CURRENT_INSTALLED_DIR}\\debug\\lib"
- -sBZIP2_BINARY=bz2d
- -sBZIP2_LIBPATH="${CURRENT_INSTALLED_DIR}\\debug\\lib"
- )
-
- set(_bm_OPTIONS_REL
- -sZLIB_BINARY=zlib
- -sZLIB_LIBPATH="${CURRENT_INSTALLED_DIR}\\lib"
- -sBZIP2_BINARY=bz2
- -sBZIP2_LIBPATH="${CURRENT_INSTALLED_DIR}\\lib"
- )
-
-
- # Add build type specific options
- if(VCPKG_CRT_LINKAGE STREQUAL "dynamic")
- list(APPEND _bm_OPTIONS runtime-link=shared)
- else()
- list(APPEND _bm_OPTIONS runtime-link=static)
- endif()
-
- if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
- list(APPEND _bm_OPTIONS link=shared)
- else()
- list(APPEND _bm_OPTIONS link=static)
- endif()
-
- if(VCPKG_TARGET_ARCHITECTURE MATCHES "x64")
- list(APPEND _bm_OPTIONS address-model=64 architecture=x86)
- elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
- list(APPEND _bm_OPTIONS address-model=32 architecture=arm)
- else()
- list(APPEND _bm_OPTIONS address-model=32 architecture=x86)
- endif()
-
- file(TO_CMAKE_PATH "${_bm_DIR}/nothing.bat" NOTHING_BAT)
- set(TOOLSET_OPTIONS " <cxxflags>/EHsc <compileflags>-Zm800 <compileflags>-nologo")
- if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- if(VCPKG_PLATFORM_TOOLSET MATCHES "v141")
- find_path(PATH_TO_CL cl.exe)
- find_path(PLATFORM_WINMD_DIR platform.winmd PATHS "${PATH_TO_CL}/../../../lib/x86/store/references" NO_DEFAULT_PATH)
- if(PLATFORM_WINMD_DIR MATCHES "NOTFOUND")
- message(FATAL_ERROR "Could not find `platform.winmd` in VS2017. Do you have the Universal Windows Platform development workload installed?")
- endif()
- else()
- find_path(PLATFORM_WINMD_DIR platform.winmd PATHS "$ENV{VS140COMNTOOLS}/../../VC/LIB/store/references")
- if(PLATFORM_WINMD_DIR MATCHES "NOTFOUND")
- message(FATAL_ERROR "Could not find `platform.winmd` in VS2015.")
- endif()
- endif()
- file(TO_NATIVE_PATH "${PLATFORM_WINMD_DIR}" PLATFORM_WINMD_DIR)
- string(REPLACE "\\" "\\\\" PLATFORM_WINMD_DIR ${PLATFORM_WINMD_DIR}) # escape backslashes
-
- set(TOOLSET_OPTIONS "${TOOLSET_OPTIONS} <cflags>-Zl <compileflags>\"/AI\"${PLATFORM_WINMD_DIR}\"\" <linkflags>WindowsApp.lib <cxxflags>/ZW <compileflags>-DVirtualAlloc=VirtualAllocFromApp <compileflags>-D_WIN32_WINNT=0x0A00")
- else()
- set(TOOLSET_OPTIONS "${TOOLSET_OPTIONS} <compileflags>-D_WIN32_WINNT=0x0602")
- endif()
-
- configure_file(${_bm_DIR}/user-config.jam ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/user-config.jam @ONLY)
- configure_file(${_bm_DIR}/user-config.jam ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/user-config.jam @ONLY)
-
- if(VCPKG_PLATFORM_TOOLSET MATCHES "v141")
- list(APPEND _bm_OPTIONS toolset=msvc-14.1)
- elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v140")
- list(APPEND _bm_OPTIONS toolset=msvc-14.0)
- else()
- message(FATAL_ERROR "Unsupported value for VCPKG_PLATFORM_TOOLSET: '${VCPKG_PLATFORM_TOOLSET}'")
- endif()
-
- ######################
- # Perform build + Package
- ######################
- set(B2_EXE "${BOOST_BUILD_PATH}/b2.exe")
-
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- message(STATUS "Building ${TARGET_TRIPLET}-rel")
- set(ENV{BOOST_BUILD_PATH} "${BOOST_BUILD_PATH}")
- vcpkg_execute_required_process(
- COMMAND "${B2_EXE}"
- --stagedir=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/stage
- --build-dir=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
- --user-config=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/user-config.jam
- ${_bm_OPTIONS}
- ${_bm_OPTIONS_REL}
- variant=release
- debug-symbols=on
- WORKING_DIRECTORY ${_bm_SOURCE_PATH}
- LOGNAME build-${TARGET_TRIPLET}-rel
- )
- message(STATUS "Building ${TARGET_TRIPLET}-rel done")
- endif()
-
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- message(STATUS "Building ${TARGET_TRIPLET}-dbg")
- set(ENV{BOOST_BUILD_PATH} "${BOOST_BUILD_PATH}")
- vcpkg_execute_required_process(
- COMMAND "${B2_EXE}"
- --stagedir=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/stage
- --build-dir=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
- --user-config=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/user-config.jam
- ${_bm_OPTIONS}
- ${_bm_OPTIONS_DBG}
- variant=debug
- WORKING_DIRECTORY ${_bm_SOURCE_PATH}
- LOGNAME build-${TARGET_TRIPLET}-dbg
- )
- message(STATUS "Building ${TARGET_TRIPLET}-dbg done")
- endif()
-
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- message(STATUS "Packaging ${TARGET_TRIPLET}-rel")
- file(GLOB REL_LIBS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/boost/build/*/*.lib)
- file(COPY ${REL_LIBS}
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib
- FILES_MATCHING PATTERN "*.lib")
- if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- file(GLOB REL_DLLS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/boost/build/*/*.dll)
- file(COPY ${REL_DLLS}
- DESTINATION ${CURRENT_PACKAGES_DIR}/bin
- FILES_MATCHING PATTERN "*.dll")
- endif()
- message(STATUS "Packaging ${TARGET_TRIPLET}-rel done")
- endif()
-
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- message(STATUS "Packaging ${TARGET_TRIPLET}-dbg")
- file(GLOB DBG_LIBS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/boost/build/*/*.lib)
- file(COPY ${DBG_LIBS}
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
- FILES_MATCHING PATTERN "*.lib")
- if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- file(GLOB DBG_DLLS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/boost/build/*/*.dll)
- file(COPY ${DBG_DLLS}
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
- FILES_MATCHING PATTERN "*.dll")
- endif()
- message(STATUS "Packaging ${TARGET_TRIPLET}-dbg done")
- endif()
-
- file(GLOB INSTALLED_LIBS ${CURRENT_PACKAGES_DIR}/debug/lib/*.lib ${CURRENT_PACKAGES_DIR}/lib/*.lib)
- foreach(LIB ${INSTALLED_LIBS})
- get_filename_component(OLD_FILENAME ${LIB} NAME)
- get_filename_component(DIRECTORY_OF_LIB_FILE ${LIB} DIRECTORY)
- string(REPLACE "libboost_" "boost_" NEW_FILENAME ${OLD_FILENAME})
- string(REPLACE "-s-" "-" NEW_FILENAME ${NEW_FILENAME}) # For Release libs
- string(REPLACE "-vc141-" "-vc140-" NEW_FILENAME ${NEW_FILENAME}) # To merge VS2017 and VS2015 binaries
- string(REPLACE "-sgd-" "-gd-" NEW_FILENAME ${NEW_FILENAME}) # For Debug libs
- string(REPLACE "-sgyd-" "-gyd-" NEW_FILENAME ${NEW_FILENAME}) # For Debug libs
- string(REPLACE "-x32-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries
- string(REPLACE "-x64-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries
- string(REPLACE "-a32-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries
- string(REPLACE "-a64-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries
- string(REPLACE "-1_66" "" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake > 3.10 to locate the binaries
- string(REPLACE "_python3-" "_python-" NEW_FILENAME ${NEW_FILENAME})
- if("${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME}" STREQUAL "${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME}")
- # nothing to do
- elseif(EXISTS ${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME})
- file(REMOVE ${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME})
- else()
- file(RENAME ${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME} ${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME})
- endif()
- endforeach()
-
- vcpkg_copy_pdbs()
-endfunction()
diff --git a/ports/boost-build/nothing.bat b/ports/boost-build/nothing.bat deleted file mode 100644 index e69de29bb..000000000 --- a/ports/boost-build/nothing.bat +++ /dev/null diff --git a/ports/boost-build/portfile.cmake b/ports/boost-build/portfile.cmake index ea2b57261..fdd559ebe 100644 --- a/ports/boost-build/portfile.cmake +++ b/ports/boost-build/portfile.cmake @@ -4,12 +4,10 @@ set(VCPKG_POLICY_EMPTY_PACKAGE enabled) if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" AND NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
return()
+elseif(CMAKE_HOST_WIN32 AND VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ return()
endif()
-# 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}")
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/build
@@ -30,6 +28,13 @@ vcpkg_download_distfile(BOOSTCPP_ARCHIVE SHA512 ef2ae1d6a53a7f93654950e2e8e679da6b0359f02baafc03db970801634c1f5d4229633b5b6d74ad96a306e6efe3429d436669dc165b1fa655917e0ec74714e4
)
+file(INSTALL ${ARCHIVE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-build RENAME copyright)
+file(INSTALL ${BOOSTCPP_ARCHIVE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/boost-build RENAME boostcpp.jam)
+
+# 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
@@ -44,22 +49,16 @@ string(REPLACE "<define>_WIN32_WINNT=0x0602" "" _contents "${_contents}") file(WRITE "${CURRENT_PACKAGES_DIR}/tools/boost-build/src/tools/msvc.jam" "${_contents}")
message(STATUS "Bootstrapping...")
-vcpkg_execute_required_process(
- COMMAND "${CURRENT_PACKAGES_DIR}/tools/boost-build/bootstrap.bat" msvc
- WORKING_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/boost-build
- LOGNAME bootstrap-${TARGET_TRIPLET}
-)
-
-file(INSTALL ${ARCHIVE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-build RENAME copyright)
-file(INSTALL ${BOOSTCPP_ARCHIVE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/boost-build RENAME boostcpp.jam)
-
-
-
-file(
- COPY
- ${CMAKE_CURRENT_LIST_DIR}/boost-modular-build.cmake
- ${CMAKE_CURRENT_LIST_DIR}/Jamroot.jam
- ${CMAKE_CURRENT_LIST_DIR}/nothing.bat
- ${CMAKE_CURRENT_LIST_DIR}/user-config.jam
- DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-build
-)
+if(CMAKE_HOST_WIN32)
+ vcpkg_execute_required_process(
+ COMMAND "${CURRENT_PACKAGES_DIR}/tools/boost-build/bootstrap.bat" msvc
+ 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()
diff --git a/ports/boost-build/user-config.jam b/ports/boost-build/user-config.jam deleted file mode 100644 index 59cc160cc..000000000 --- a/ports/boost-build/user-config.jam +++ /dev/null @@ -1,33 +0,0 @@ -import toolset ;
-
-using msvc : : cl.exe :
-<setup>"@NOTHING_BAT@"
-@TOOLSET_OPTIONS@
-;
-
-if "@PORT@" = "boost-python"
-{
- using python : @PYTHON_VERSION@ : : "@PYTHON_INCLUDE_PATH@" : "@PYTHONLIBS_RELEASE@" ;
- using python : @PYTHON_VERSION@ : : "@PYTHON_INCLUDE_PATH@" : "@PYTHONLIBS_DEBUG@" : <python-debugging>on ;
-}
-
-if "@PORT@" = "boost-mpi"
-{
- using mpi : :
- <library-path>@CURRENT_INSTALLED_DIR@/lib
- <include>@CURRENT_INSTALLED_DIR@/include
- <find-shared-library>msmpi ;
-}
-
-project user-config : ;
-
-lib advapi32 ;
-
-lib icuuc : : <file>"@CURRENT_INSTALLED_DIR@/lib/icuuc.lib" <variant>release : : <library>advapi32 ;
-lib icuuc : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/icuucd.lib" <variant>debug : : <library>advapi32 ;
-
-lib icuin : : <file>"@CURRENT_INSTALLED_DIR@/lib/icuin.lib" <variant>release : : ;
-lib icuin : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/icuind.lib" <variant>debug : : ;
-
-lib icudt : : <file>"@CURRENT_INSTALLED_DIR@/lib/icudt.lib" <variant>release : : ;
-lib icudt : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/icudtd.lib" <variant>debug : : ;
|
