mirror of
https://github.com/cemu-project/vcpkg.git
synced 2024-11-23 11:19:43 +00:00
[boost-build] Split out into boost-modular-build-helper and support non-Windows targets
This commit is contained in:
parent
81b58d1868
commit
a773c59f05
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-atomic
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-assert, boost-build, boost-config, boost-integer, boost-type-traits, boost-vcpkg-helpers
|
||||
Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-integer, boost-type-traits, boost-vcpkg-helpers
|
||||
Description: Boost atomic module
|
||||
|
@ -1,3 +1,3 @@
|
||||
Source: boost-build
|
||||
Version: 1.66.0-5
|
||||
Version: 1.66.0-8
|
||||
Description: Boost.Build
|
||||
|
@ -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()
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-chrono
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-integer, boost-move, boost-mpl, boost-predef, boost-ratio, boost-static-assert, boost-system, boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
|
||||
Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-detail, boost-integer, boost-move, boost-mpl, boost-predef, boost-ratio, boost-static-assert, boost-system, boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
|
||||
Description: Boost chrono module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-container
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-assert, boost-build, boost-config, boost-core, boost-functional, boost-integer, boost-intrusive, boost-move, boost-static-assert, boost-type-traits, boost-vcpkg-helpers
|
||||
Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-core, boost-functional, boost-integer, boost-intrusive, boost-move, boost-static-assert, boost-type-traits, boost-vcpkg-helpers
|
||||
Description: Boost container module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-context
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-integer, boost-pool, boost-predef, boost-smart-ptr, boost-vcpkg-helpers
|
||||
Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-detail, boost-integer, boost-pool, boost-predef, boost-smart-ptr, boost-vcpkg-helpers
|
||||
Description: Boost context module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-coroutine
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-assert, boost-build, boost-config, boost-context (windows), boost-detail, boost-exception, boost-integer, boost-move, boost-range, boost-system, boost-thread (windows), boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
|
||||
Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-context (windows), boost-detail, boost-exception, boost-integer, boost-move, boost-range, boost-system, boost-thread (windows), boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
|
||||
Description: Boost coroutine module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-date-time
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-algorithm, boost-assert, boost-build, boost-compatibility, boost-config, boost-detail, boost-integer, boost-io, boost-lexical-cast, boost-math, boost-mpl, boost-range, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
|
||||
Build-Depends: boost-algorithm, boost-assert, boost-build, boost-modular-build-helper, boost-compatibility, boost-config, boost-detail, boost-integer, boost-io, boost-lexical-cast, boost-math, boost-mpl, boost-range, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
|
||||
Description: Boost date_time module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-exception
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-assert, boost-build, boost-config, boost-core, boost-smart-ptr, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
|
||||
Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-core, boost-smart-ptr, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
|
||||
Description: Boost exception module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-fiber
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-algorithm, boost-assert, boost-build, boost-config, boost-context (windows), boost-core, boost-detail, boost-filesystem (windows), boost-format, boost-intrusive, boost-predef, boost-smart-ptr, boost-vcpkg-helpers
|
||||
Build-Depends: boost-algorithm, boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-context (windows), boost-core, boost-detail, boost-filesystem (windows), boost-format, boost-intrusive, boost-predef, boost-smart-ptr, boost-vcpkg-helpers
|
||||
Description: Boost fiber module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-filesystem
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-functional, boost-integer, boost-io, boost-iterator, boost-range, boost-smart-ptr, boost-static-assert, boost-system, boost-type-traits, boost-utility, boost-vcpkg-helpers
|
||||
Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-detail, boost-functional, boost-integer, boost-io, boost-iterator, boost-range, boost-smart-ptr, boost-static-assert, boost-system, boost-type-traits, boost-utility, boost-vcpkg-helpers
|
||||
Description: Boost filesystem module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-graph-parallel
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-assert, boost-build, boost-compatibility, boost-config, boost-detail, boost-dynamic-bitset, boost-function, boost-functional, boost-graph, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-property-map, boost-random, boost-serialization, boost-smart-ptr, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers
|
||||
Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-compatibility, boost-config, boost-detail, boost-dynamic-bitset, boost-function, boost-functional, boost-graph, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-property-map, boost-random, boost-serialization, boost-smart-ptr, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers
|
||||
Description: Boost graph_parallel module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-graph
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-algorithm, boost-any, boost-array, boost-assert, boost-bimap, boost-bind, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-conversion, boost-core, boost-detail, boost-foreach, boost-function, boost-functional, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-move, boost-mpl, boost-multi-index, boost-optional, boost-parameter, boost-preprocessor, boost-property-map, boost-property-tree, boost-random, boost-range, boost-regex, boost-serialization, boost-smart-ptr, boost-spirit, boost-static-assert, boost-test (windows), boost-throw-exception, boost-tti, boost-tuple, boost-typeof, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers, boost-xpressive
|
||||
Build-Depends: boost-algorithm, boost-any, boost-array, boost-assert, boost-bimap, boost-bind, boost-build, boost-modular-build-helper, boost-compatibility, boost-concept-check, boost-config, boost-conversion, boost-core, boost-detail, boost-foreach, boost-function, boost-functional, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-move, boost-mpl, boost-multi-index, boost-optional, boost-parameter, boost-preprocessor, boost-property-map, boost-property-tree, boost-random, boost-range, boost-regex, boost-serialization, boost-smart-ptr, boost-spirit, boost-static-assert, boost-test (windows), boost-throw-exception, boost-tti, boost-tuple, boost-typeof, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers, boost-xpressive
|
||||
Description: Boost graph module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-iostreams
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-assert, boost-bind, boost-build, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-iterator, boost-mpl, boost-preprocessor, boost-range, boost-regex, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, bzip2, zlib
|
||||
Build-Depends: boost-assert, boost-bind, boost-build, boost-modular-build-helper, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-iterator, boost-mpl, boost-preprocessor, boost-range, boost-regex, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, bzip2, zlib
|
||||
Description: Boost iostreams module
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-locale
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-assert, boost-build, boost-config, boost-function, boost-integer, boost-iterator, boost-smart-ptr, boost-static-assert, boost-thread (windows), boost-type-traits, boost-unordered, boost-vcpkg-helpers
|
||||
Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-function, boost-integer, boost-iterator, boost-smart-ptr, boost-static-assert, boost-thread (windows), boost-type-traits, boost-unordered, boost-vcpkg-helpers
|
||||
Description: Boost locale module
|
||||
|
||||
Feature: icu
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-log
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-align, boost-array, boost-asio, boost-assert, boost-atomic, boost-bind, boost-build, boost-compatibility, boost-config, boost-core, boost-date-time, boost-detail, boost-exception, boost-filesystem (windows), boost-function-types, boost-fusion, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iterator, boost-lexical-cast, boost-locale (windows), boost-math, boost-move, boost-mpl, boost-optional, boost-parameter, boost-phoenix, boost-predef, boost-preprocessor, boost-property-tree, boost-proto, boost-random, boost-range, boost-regex, boost-smart-ptr, boost-spirit, boost-static-assert, boost-system, boost-thread (windows), boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi, boost-xpressive
|
||||
Build-Depends: boost-align, boost-array, boost-asio, boost-assert, boost-atomic, boost-bind, boost-build, boost-modular-build-helper, boost-compatibility, boost-config, boost-core, boost-date-time, boost-detail, boost-exception, boost-filesystem (windows), boost-function-types, boost-fusion, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iterator, boost-lexical-cast, boost-locale (windows), boost-math, boost-move, boost-mpl, boost-optional, boost-parameter, boost-phoenix, boost-predef, boost-preprocessor, boost-property-tree, boost-proto, boost-random, boost-range, boost-regex, boost-smart-ptr, boost-spirit, boost-static-assert, boost-system, boost-thread (windows), boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi, boost-xpressive
|
||||
Description: Boost log module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-math
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-array, boost-assert, boost-atomic, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-fusion, boost-integer, boost-lambda, boost-lexical-cast, boost-mpl, boost-predef, boost-range, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
|
||||
Build-Depends: boost-array, boost-assert, boost-atomic, boost-build, boost-modular-build-helper, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-fusion, boost-integer, boost-lambda, boost-lexical-cast, boost-mpl, boost-predef, boost-range, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
|
||||
Description: Boost math module
|
||||
|
120
ports/boost-modular-build-helper/CMakeLists.txt
Normal file
120
ports/boost-modular-build-helper/CMakeLists.txt
Normal file
@ -0,0 +1,120 @@
|
||||
cmake_minimum_required(VERSION 3.9)
|
||||
project(boost CXX)
|
||||
|
||||
find_path(ZLIB_INCLUDE zlib.h)
|
||||
find_path(BZIP2_INCLUDE bzlib.h)
|
||||
find_path(ICU_PATH include/unicode/utf.h)
|
||||
|
||||
set(VCPKG_PLATFORM_TOOLSET external)
|
||||
|
||||
set(B2_OPTIONS)
|
||||
|
||||
# Add build type specific options
|
||||
if(BUILD_SHARED_LIBS)
|
||||
list(APPEND B2_OPTIONS runtime-link=shared)
|
||||
set(LIB_RUNTIME_LINK "shared")
|
||||
else()
|
||||
list(APPEND B2_OPTIONS runtime-link=static)
|
||||
set(LIB_RUNTIME_LINK "static")
|
||||
endif()
|
||||
|
||||
if(BUILD_SHARED_LIBS)
|
||||
list(APPEND B2_OPTIONS link=shared)
|
||||
else()
|
||||
list(APPEND B2_OPTIONS link=static)
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64")
|
||||
list(APPEND B2_OPTIONS address-model=64)
|
||||
endif()
|
||||
|
||||
list(APPEND B2_OPTIONS target-os=linux toolset=gcc)
|
||||
|
||||
string(REPLACE " " " <compileflags>" CXXFLAGS "${CMAKE_CXX_FLAGS}")
|
||||
#set(CXXFLAGS "${CXXFLAGS} <compileflags>-Wno-error=unused-command-line-argument")
|
||||
if(CMAKE_CXX_COMPILER_TARGET)
|
||||
set(CXXFLAGS "${CXXFLAGS} <compileflags>${CMAKE_CXX_COMPILE_OPTIONS_TARGET} <compileflags>${CMAKE_CXX_COMPILER_TARGET}")
|
||||
endif()
|
||||
if(CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN)
|
||||
set(CXXFLAGS "${CXXFLAGS} <compileflags>${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN} <compileflags>${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}")
|
||||
endif()
|
||||
if(CMAKE_SYSROOT AND CMAKE_CXX_COMPILE_OPTIONS_SYSROOT)
|
||||
set(CXXFLAGS "${CXXFLAGS} <compileflags>${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}")
|
||||
endif()
|
||||
foreach(INCDIR ${CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES})
|
||||
set(CXXFLAGS "${CXXFLAGS} <compileflags>${CMAKE_INCLUDE_FLAG_C}${CMAKE_INCLUDE_FLAG_C_SEP}${INCDIR}")
|
||||
endforeach()
|
||||
|
||||
find_library(ZLIB_LIBPATH z)
|
||||
list(APPEND B2_OPTIONS
|
||||
-sZLIB_BINARY=z
|
||||
-sZLIB_LIBPATH="${ZLIB_LIBPATH}"
|
||||
)
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
find_library(BZIP2_LIBPATH bz2)
|
||||
list(APPEND B2_OPTIONS
|
||||
-sBZIP2_BINARY=bz2
|
||||
-sBZIP2_LIBPATH="${BZIP2_LIBPATH}"
|
||||
variant=release
|
||||
)
|
||||
elseif(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
find_library(BZIP2_LIBPATH bz2d)
|
||||
list(APPEND B2_OPTIONS
|
||||
-sBZIP2_BINARY=bz2d
|
||||
-sBZIP2_LIBPATH="${BZIP2_LIBPATH}"
|
||||
variant=debug
|
||||
)
|
||||
endif()
|
||||
|
||||
configure_file(${CMAKE_CURRENT_LIST_DIR}/user-config.jam ${CMAKE_CURRENT_BINARY_DIR}/user-config.jam @ONLY)
|
||||
|
||||
set(NUMBER_OF_PROCESSORS 1)
|
||||
if(DEFINED ENV{NUMBER_OF_PROCESSORS})
|
||||
set(NUMBER_OF_PROCESSORS $ENV{NUMBER_OF_PROCESSORS})
|
||||
elseif(CMAKE_HOST_LINUX)
|
||||
execute_process(
|
||||
COMMAND nproc
|
||||
OUTPUT_VARIABLE NUMBER_OF_PROCESSORS
|
||||
)
|
||||
string(REPLACE "\n" "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}")
|
||||
string(REPLACE " " "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}")
|
||||
endif()
|
||||
if(NOT NUMBER_OF_PROCESSORS)
|
||||
set(NUMBER_OF_PROCESSORS 1)
|
||||
endif()
|
||||
|
||||
add_custom_target(boost ALL
|
||||
COMMAND "${B2_EXE}"
|
||||
--user-config=${CMAKE_CURRENT_BINARY_DIR}/user-config.jam
|
||||
--stagedir=${CMAKE_CURRENT_BINARY_DIR}/stage
|
||||
--build-dir=${CMAKE_CURRENT_BINARY_DIR}
|
||||
${B2_OPTIONS}
|
||||
--layout=system
|
||||
--with-atomic
|
||||
--with-random
|
||||
--with-date_time
|
||||
--with-filesystem
|
||||
--with-system
|
||||
--with-thread
|
||||
--with-chrono
|
||||
-sZLIB_INCLUDE="${ZLIB_INCLUDE}"
|
||||
-sBZIP2_INCLUDE="${BZIP2_INCLUDE}"
|
||||
-sICU_PATH="${ICU_PATH}"
|
||||
-j${NUMBER_OF_PROCESSORS}
|
||||
-sBOOST_ROOT=${BOOST_BUILD_PATH}
|
||||
-sBOOST_BUILD_PATH=${BOOST_BUILD_PATH}
|
||||
--debug-configuration
|
||||
--ignore-site-config
|
||||
--hash
|
||||
-q
|
||||
|
||||
architecture=x86
|
||||
threading=multi
|
||||
threadapi=pthread
|
||||
debug-symbols=on
|
||||
WORKING_DIRECTORY ${SOURCE_PATH}
|
||||
)
|
||||
|
||||
install(
|
||||
CODE "file(GLOB LIBS ${CMAKE_CURRENT_BINARY_DIR}/boost/build/*/*.a)\nif(LIBS)\nfile(INSTALL \${LIBS} DESTINATION \"\${CMAKE_INSTALL_PREFIX}/lib\")\nendif()"
|
||||
)
|
2
ports/boost-modular-build-helper/CONTROL
Normal file
2
ports/boost-modular-build-helper/CONTROL
Normal file
@ -0,0 +1,2 @@
|
||||
Source: boost-modular-build-helper
|
||||
Version: 1
|
@ -36,8 +36,8 @@ 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 ;
|
||||
lib boost_system : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_system@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ;
|
||||
lib boost_system : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_system@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ;
|
||||
explicit boost_system ;
|
||||
}
|
||||
|
||||
@ -45,8 +45,8 @@ 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 ;
|
||||
lib boost_chrono : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_chrono@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ;
|
||||
lib boost_chrono : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_chrono@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ;
|
||||
explicit boost_chrono ;
|
||||
}
|
||||
|
||||
@ -54,8 +54,8 @@ 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 ;
|
||||
lib boost_regex : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_regex@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ;
|
||||
lib boost_regex : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_regex@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ;
|
||||
explicit boost_regex ;
|
||||
}
|
||||
|
||||
@ -63,8 +63,8 @@ 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 ;
|
||||
lib boost_date_time : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_date_time@BOOST_LIB_RELEASE_SUFFIX@" <variant>release -<library>/boost/date_time//boost_date_time ;
|
||||
lib boost_date_time : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_date_time@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug -<library>/boost/date_time//boost_date_time ;
|
||||
explicit boost_date_time ;
|
||||
}
|
||||
|
||||
@ -72,8 +72,8 @@ 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 ;
|
||||
lib boost_thread : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_thread@BOOST_LIB_RELEASE_SUFFIX@" <variant>release : : <library>/boost/date_time//boost_date_time ;
|
||||
lib boost_thread : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_thread@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug : : <library>/boost/date_time//boost_date_time ;
|
||||
explicit boost_thread ;
|
||||
}
|
||||
|
||||
@ -81,8 +81,8 @@ 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 ;
|
||||
lib boost_timer : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_timer@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ;
|
||||
lib boost_timer : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_timer@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ;
|
||||
explicit boost_timer ;
|
||||
}
|
||||
|
||||
@ -90,8 +90,8 @@ 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 ;
|
||||
lib boost_filesystem : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_filesystem@BOOST_LIB_RELEASE_SUFFIX@" <variant>release : : <library>/boost/system//boost_system ;
|
||||
lib boost_filesystem : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_filesystem@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug : : <library>/boost/system//boost_system ;
|
||||
explicit boost_filesystem ;
|
||||
}
|
||||
|
||||
@ -99,8 +99,8 @@ 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 ;
|
||||
lib boost_atomic : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_atomic@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ;
|
||||
lib boost_atomic : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_atomic@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ;
|
||||
explicit boost_atomic ;
|
||||
}
|
||||
|
||||
@ -111,8 +111,8 @@ if "@PORT@" != "boost-context"
|
||||
|
||||
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 ;
|
||||
lib boost_context : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_context@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ;
|
||||
lib boost_context : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_context@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ;
|
||||
explicit boost_context ;
|
||||
}
|
||||
|
||||
@ -120,8 +120,8 @@ 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 ;
|
||||
lib boost_unit_test_framework : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_unit_test_framework@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ;
|
||||
lib boost_unit_test_framework : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_unit_test_framework@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ;
|
||||
explicit boost_unit_test_framework ;
|
||||
}
|
||||
|
||||
@ -129,8 +129,8 @@ 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 ;
|
||||
lib boost_serialization : : <file>@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_serialization@BOOST_LIB_RELEASE_SUFFIX@ <variant>release ;
|
||||
lib boost_serialization : : <file>@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_serialization@BOOST_LIB_DEBUG_SUFFIX@ <variant>debug ;
|
||||
explicit boost_serialization ;
|
||||
}
|
||||
|
@ -6,16 +6,26 @@ function(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()
|
||||
if(CMAKE_HOST_WIN32 AND VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
|
||||
get_filename_component(BOOST_BUILD_PATH "${CURRENT_INSTALLED_DIR}/../x86-windows/tools/boost-build" ABSOLUTE)
|
||||
elseif(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" AND NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
|
||||
get_filename_component(BOOST_BUILD_PATH "${CURRENT_INSTALLED_DIR}/../x86-windows/tools/boost-build" ABSOLUTE)
|
||||
else()
|
||||
set(BOOST_BUILD_PATH "${CURRENT_INSTALLED_DIR}/tools/boost-build")
|
||||
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(EXISTS "${BOOST_BUILD_PATH}/b2.exe")
|
||||
set(B2_EXE "${BOOST_BUILD_PATH}/b2.exe")
|
||||
elseif(EXISTS "${BOOST_BUILD_PATH}/b2")
|
||||
set(B2_EXE "${BOOST_BUILD_PATH}/b2")
|
||||
else()
|
||||
message(FATAL_ERROR "Could not find b2 in ${BOOST_BUILD_PATH}")
|
||||
endif()
|
||||
|
||||
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
|
||||
list(APPEND _bm_OPTIONS windows-api=store)
|
||||
endif()
|
||||
@ -28,7 +38,15 @@ function(boost_modular_build)
|
||||
|
||||
set(REQUIREMENTS ${_bm_REQUIREMENTS})
|
||||
|
||||
configure_file(${_bm_DIR}/Jamroot.jam ${_bm_SOURCE_PATH}/Jamroot.jam @ONLY)
|
||||
if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
|
||||
set(BOOST_LIB_PREFIX)
|
||||
set(BOOST_LIB_RELEASE_SUFFIX -vc140-mt.lib)
|
||||
set(BOOST_LIB_DEBUG_SUFFIX -vc140-mt-gd.lib)
|
||||
else()
|
||||
set(BOOST_LIB_PREFIX lib)
|
||||
set(BOOST_LIB_RELEASE_SUFFIX .a)
|
||||
set(BOOST_LIB_DEBUG_SUFFIX .a)
|
||||
endif()
|
||||
|
||||
# boost thread superfluously builds has_atomic_flag_lockfree on windows.
|
||||
if(EXISTS "${_bm_SOURCE_PATH}/build/Jamfile.v2")
|
||||
@ -59,6 +77,21 @@ function(boost_modular_build)
|
||||
file(WRITE ${_bm_SOURCE_PATH}/build/log-architecture.jam "${_contents}")
|
||||
endif()
|
||||
|
||||
configure_file(${_bm_DIR}/Jamroot.jam ${_bm_SOURCE_PATH}/Jamroot.jam @ONLY)
|
||||
|
||||
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${CURRENT_INSTALLED_DIR}/share/boost-build
|
||||
PREFER_NINJA
|
||||
OPTIONS
|
||||
"-DB2_EXE=${B2_EXE}"
|
||||
"-DSOURCE_PATH=${_bm_SOURCE_PATH}"
|
||||
"-DBOOST_BUILD_PATH=${BOOST_BUILD_PATH}"
|
||||
)
|
||||
vcpkg_install_cmake()
|
||||
return()
|
||||
endif()
|
||||
|
||||
#####################
|
||||
# Cleanup previous builds
|
||||
######################
|
||||
@ -90,11 +123,22 @@ function(boost_modular_build)
|
||||
${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
|
||||
)
|
||||
|
||||
if(DEFINED ENV{NUMBER_OF_PROCESSORS})
|
||||
set(NUMBER_OF_PROCESSORS $ENV{NUMBER_OF_PROCESSORS})
|
||||
else()
|
||||
execute_process(
|
||||
COMMAND nproc
|
||||
OUTPUT_VARIABLE NUMBER_OF_PROCESSORS
|
||||
)
|
||||
string(REPLACE "\n" "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}")
|
||||
string(REPLACE " " "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}")
|
||||
endif()
|
||||
|
||||
######################
|
||||
# Generate configuration
|
||||
######################
|
||||
list(APPEND _bm_OPTIONS
|
||||
-j$ENV{NUMBER_OF_PROCESSORS}
|
||||
-j${NUMBER_OF_PROCESSORS}
|
||||
--debug-configuration
|
||||
--debug-building
|
||||
--debug-generators
|
||||
@ -102,23 +146,27 @@ function(boost_modular_build)
|
||||
--ignore-site-config
|
||||
--hash
|
||||
-q
|
||||
-sZLIB_INCLUDE="${CURRENT_INSTALLED_DIR}\\include"
|
||||
-sBZIP2_INCLUDE="${CURRENT_INSTALLED_DIR}\\include"
|
||||
threadapi=win32
|
||||
-sZLIB_INCLUDE="${CURRENT_INSTALLED_DIR}/include"
|
||||
-sBZIP2_INCLUDE="${CURRENT_INSTALLED_DIR}/include"
|
||||
threading=multi
|
||||
)
|
||||
if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
|
||||
list(APPEND _bm_OPTIONS threadapi=win32)
|
||||
else()
|
||||
list(APPEND _bm_OPTIONS threadapi=pthread)
|
||||
endif()
|
||||
set(_bm_OPTIONS_DBG
|
||||
-sZLIB_BINARY=zlibd
|
||||
-sZLIB_LIBPATH="${CURRENT_INSTALLED_DIR}\\debug\\lib"
|
||||
-sZLIB_LIBPATH="${CURRENT_INSTALLED_DIR}/debug/lib"
|
||||
-sBZIP2_BINARY=bz2d
|
||||
-sBZIP2_LIBPATH="${CURRENT_INSTALLED_DIR}\\debug\\lib"
|
||||
-sBZIP2_LIBPATH="${CURRENT_INSTALLED_DIR}/debug/lib"
|
||||
)
|
||||
|
||||
set(_bm_OPTIONS_REL
|
||||
-sZLIB_BINARY=zlib
|
||||
-sZLIB_LIBPATH="${CURRENT_INSTALLED_DIR}\\lib"
|
||||
-sZLIB_LIBPATH="${CURRENT_INSTALLED_DIR}/lib"
|
||||
-sBZIP2_BINARY=bz2
|
||||
-sBZIP2_LIBPATH="${CURRENT_INSTALLED_DIR}\\lib"
|
||||
-sBZIP2_LIBPATH="${CURRENT_INSTALLED_DIR}/lib"
|
||||
)
|
||||
|
||||
|
||||
@ -173,6 +221,8 @@ function(boost_modular_build)
|
||||
list(APPEND _bm_OPTIONS toolset=msvc-14.1)
|
||||
elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v140")
|
||||
list(APPEND _bm_OPTIONS toolset=msvc-14.0)
|
||||
elseif(VCPKG_PLATFORM_TOOLSET MATCHES "external")
|
||||
list(APPEND _bm_OPTIONS toolset=gcc)
|
||||
else()
|
||||
message(FATAL_ERROR "Unsupported value for VCPKG_PLATFORM_TOOLSET: '${VCPKG_PLATFORM_TOOLSET}'")
|
||||
endif()
|
||||
@ -180,8 +230,6 @@ function(boost_modular_build)
|
||||
######################
|
||||
# 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}")
|
||||
@ -219,10 +267,13 @@ function(boost_modular_build)
|
||||
|
||||
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(GLOB REL_LIBS
|
||||
${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/boost/build/*/*.lib
|
||||
${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/boost/build/*/*.a
|
||||
${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/boost/build/*/*.so
|
||||
)
|
||||
file(COPY ${REL_LIBS}
|
||||
DESTINATION ${CURRENT_PACKAGES_DIR}/lib
|
||||
FILES_MATCHING PATTERN "*.lib")
|
||||
DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
|
||||
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
|
||||
file(GLOB REL_DLLS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/boost/build/*/*.dll)
|
||||
file(COPY ${REL_DLLS}
|
||||
@ -234,10 +285,13 @@ function(boost_modular_build)
|
||||
|
||||
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(GLOB DBG_LIBS
|
||||
${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/boost/build/*/*.lib
|
||||
${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/boost/build/*/*.a
|
||||
${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/boost/build/*/*.so
|
||||
)
|
||||
file(COPY ${DBG_LIBS}
|
||||
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
|
||||
FILES_MATCHING PATTERN "*.lib")
|
||||
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
|
||||
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
|
||||
file(GLOB DBG_DLLS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/boost/build/*/*.dll)
|
||||
file(COPY ${DBG_DLLS}
|
11
ports/boost-modular-build-helper/portfile.cmake
Normal file
11
ports/boost-modular-build-helper/portfile.cmake
Normal file
@ -0,0 +1,11 @@
|
||||
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
|
||||
|
||||
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
|
||||
${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt
|
||||
DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-build
|
||||
)
|
@ -1,9 +1,23 @@
|
||||
import toolset ;
|
||||
|
||||
using msvc : : cl.exe :
|
||||
<setup>"@NOTHING_BAT@"
|
||||
@TOOLSET_OPTIONS@
|
||||
;
|
||||
if "@VCPKG_PLATFORM_TOOLSET@" != "external"
|
||||
{
|
||||
using msvc : : cl.exe :
|
||||
<setup>"@NOTHING_BAT@"
|
||||
@TOOLSET_OPTIONS@
|
||||
;
|
||||
}
|
||||
else
|
||||
{
|
||||
using gcc : 5.4.1 : @CMAKE_CXX_COMPILER@
|
||||
:
|
||||
<ranlib>@CMAKE_RANLIB@
|
||||
<archiver>@CMAKE_AR@
|
||||
@CXXFLAGS@
|
||||
# MINGW here causes b2 to not run cygpath
|
||||
<flavor>mingw
|
||||
;
|
||||
}
|
||||
|
||||
if "@PORT@" = "boost-python"
|
||||
{
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-mpi
|
||||
Version: 1.66.0-1
|
||||
Build-Depends: boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-function, boost-graph, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-property-map, boost-python (windows), boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, msmpi
|
||||
Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-compatibility, boost-config, boost-core, boost-function, boost-graph, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-property-map, boost-python (windows), boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, msmpi
|
||||
Description: Boost mpi module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-program-options
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-any, boost-bind, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-function, boost-iterator, boost-lexical-cast, boost-math, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-type-traits, boost-vcpkg-helpers
|
||||
Build-Depends: boost-any, boost-bind, boost-build, boost-modular-build-helper, boost-compatibility, boost-config, boost-core, boost-detail, boost-function, boost-iterator, boost-lexical-cast, boost-math, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-type-traits, boost-vcpkg-helpers
|
||||
Description: Boost program_options module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-random
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-integer, boost-math, boost-mpl, boost-range, boost-static-assert, boost-system, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
|
||||
Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-compatibility, boost-config, boost-core, boost-detail, boost-integer, boost-math, boost-mpl, boost-range, boost-static-assert, boost-system, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
|
||||
Description: Boost random module
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-regex
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-assert, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-functional, boost-integer, boost-iterator, boost-mpl, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
|
||||
Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-functional, boost-integer, boost-iterator, boost-mpl, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
|
||||
Description: Boost regex module
|
||||
|
||||
Feature: icu
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-serialization
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-array, boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-io, boost-iterator, boost-move, boost-mpl, boost-optional, boost-preprocessor, boost-smart-ptr, boost-spirit, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-variant, boost-vcpkg-helpers
|
||||
Build-Depends: boost-array, boost-assert, boost-build, boost-modular-build-helper, boost-compatibility, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-io, boost-iterator, boost-move, boost-mpl, boost-optional, boost-preprocessor, boost-smart-ptr, boost-spirit, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-variant, boost-vcpkg-helpers
|
||||
Description: Boost serialization module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-signals
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-any, boost-build, boost-config, boost-core, boost-function, boost-iterator, boost-optional, boost-smart-ptr, boost-type-traits, boost-utility, boost-vcpkg-helpers
|
||||
Build-Depends: boost-any, boost-build, boost-modular-build-helper, boost-config, boost-core, boost-function, boost-iterator, boost-optional, boost-smart-ptr, boost-type-traits, boost-utility, boost-vcpkg-helpers
|
||||
Description: Boost signals module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-stacktrace
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-array, boost-build, boost-config, boost-core, boost-lexical-cast, boost-math, boost-static-assert, boost-type-traits, boost-vcpkg-helpers, boost-winapi
|
||||
Build-Depends: boost-array, boost-build, boost-modular-build-helper, boost-config, boost-core, boost-lexical-cast, boost-math, boost-static-assert, boost-type-traits, boost-vcpkg-helpers, boost-winapi
|
||||
Description: Boost stacktrace module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-system
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-assert, boost-build, boost-config, boost-core, boost-integer, boost-predef, boost-utility, boost-vcpkg-helpers, boost-winapi
|
||||
Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-core, boost-integer, boost-predef, boost-utility, boost-vcpkg-helpers, boost-winapi
|
||||
Description: Boost system module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-test
|
||||
Version: 1.66.0-2
|
||||
Build-Depends: boost-algorithm, boost-assert, boost-bind, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-io, boost-iterator, boost-mpl, boost-numeric-conversion, boost-optional, boost-preprocessor, boost-range, boost-smart-ptr, boost-static-assert, boost-timer, boost-type-traits, boost-utility, boost-vcpkg-helpers
|
||||
Build-Depends: boost-algorithm, boost-assert, boost-bind, boost-build, boost-modular-build-helper, boost-compatibility, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-io, boost-iterator, boost-mpl, boost-numeric-conversion, boost-optional, boost-preprocessor, boost-range, boost-smart-ptr, boost-static-assert, boost-timer, boost-type-traits, boost-utility, boost-vcpkg-helpers
|
||||
Description: Boost test module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-thread
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-algorithm, boost-assert, boost-atomic, boost-bind, boost-build, boost-chrono, boost-concept-check, boost-config, boost-container, boost-core, boost-date-time, boost-detail, boost-exception, boost-function, boost-functional, boost-integer, boost-intrusive, boost-io, boost-lexical-cast, boost-math, boost-move, boost-mpl, boost-optional, boost-predef, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-system, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
|
||||
Build-Depends: boost-algorithm, boost-assert, boost-atomic, boost-bind, boost-build, boost-modular-build-helper, boost-chrono, boost-concept-check, boost-config, boost-container, boost-core, boost-date-time, boost-detail, boost-exception, boost-function, boost-functional, boost-integer, boost-intrusive, boost-io, boost-lexical-cast, boost-math, boost-move, boost-mpl, boost-optional, boost-predef, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-system, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
|
||||
Description: Boost thread module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-timer
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-build, boost-chrono, boost-compatibility, boost-config, boost-core, boost-integer, boost-io, boost-system, boost-throw-exception, boost-vcpkg-helpers
|
||||
Build-Depends: boost-build, boost-modular-build-helper, boost-chrono, boost-compatibility, boost-config, boost-core, boost-integer, boost-io, boost-system, boost-throw-exception, boost-vcpkg-helpers
|
||||
Description: Boost timer module
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-type-erasure
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-fusion, boost-iterator, boost-mpl, boost-preprocessor, boost-smart-ptr, boost-thread (windows), boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
|
||||
Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-detail, boost-fusion, boost-iterator, boost-mpl, boost-preprocessor, boost-smart-ptr, boost-thread (windows), boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
|
||||
Description: Boost type_erasure module
|
||||
|
@ -322,7 +322,7 @@ foreach ($library in $libraries)
|
||||
$needsBuild = $false
|
||||
if ((Test-Path $unpacked/build/Jamfile.v2) -and $library -ne "metaparse")
|
||||
{
|
||||
$deps += @("boost-build")
|
||||
$deps += @("boost-build", "boost-modular-build-helper")
|
||||
$needsBuild = $true
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-wave
|
||||
Version: 1.66.0
|
||||
Build-Depends: boost-assert, boost-build, boost-concept-check, boost-config, boost-core, boost-detail, boost-filesystem (windows), boost-integer, boost-iterator, boost-mpl, boost-multi-index, boost-pool, boost-preprocessor, boost-serialization, boost-smart-ptr, boost-spirit, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
|
||||
Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-concept-check, boost-config, boost-core, boost-detail, boost-filesystem (windows), boost-integer, boost-iterator, boost-mpl, boost-multi-index, boost-pool, boost-preprocessor, boost-serialization, boost-smart-ptr, boost-spirit, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
|
||||
Description: Boost wave module
|
||||
|
Loading…
Reference in New Issue
Block a user