diff options
| author | Wimok Nupphiboon <wimok.mok@gmail.com> | 2018-04-22 20:35:52 +0700 |
|---|---|---|
| committer | Wimok Nupphiboon <wimok.mok@gmail.com> | 2018-04-22 20:35:52 +0700 |
| commit | befd3c6be2db90e5bc3a7acb2b0103cb6dfd7b42 (patch) | |
| tree | fd4cfee016003e6be2898ac5d37f679a567cad76 /ports/boost-modular-build-helper | |
| parent | 4c028691c7f03335f6fb8a38ce80794c213819cb (diff) | |
| parent | 4f52f53b99f6a5465157958bc99f79cc0b2712ad (diff) | |
| download | vcpkg-befd3c6be2db90e5bc3a7acb2b0103cb6dfd7b42.tar.gz vcpkg-befd3c6be2db90e5bc3a7acb2b0103cb6dfd7b42.zip | |
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'ports/boost-modular-build-helper')
| -rw-r--r-- | ports/boost-modular-build-helper/CMakeLists.txt | 16 | ||||
| -rw-r--r-- | ports/boost-modular-build-helper/CONTROL | 2 | ||||
| -rw-r--r-- | ports/boost-modular-build-helper/Jamroot.jam | 7 | ||||
| -rw-r--r-- | ports/boost-modular-build-helper/boost-modular-build.cmake | 45 | ||||
| -rw-r--r-- | ports/boost-modular-build-helper/user-config.jam | 3 |
5 files changed, 43 insertions, 30 deletions
diff --git a/ports/boost-modular-build-helper/CMakeLists.txt b/ports/boost-modular-build-helper/CMakeLists.txt index 20306e7ed..f75a6ee66 100644 --- a/ports/boost-modular-build-helper/CMakeLists.txt +++ b/ports/boost-modular-build-helper/CMakeLists.txt @@ -9,6 +9,10 @@ set(VCPKG_PLATFORM_TOOLSET external) set(B2_OPTIONS)
+if(DEFINED BOOST_CMAKE_FRAGMENT)
+ include(${BOOST_CMAKE_FRAGMENT})
+endif()
+
# Add build type specific options
if(BUILD_SHARED_LIBS)
list(APPEND B2_OPTIONS runtime-link=shared)
@@ -28,7 +32,11 @@ if(CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64") list(APPEND B2_OPTIONS address-model=64)
endif()
-list(APPEND B2_OPTIONS target-os=linux toolset=gcc)
+if(APPLE)
+ list(APPEND B2_OPTIONS target-os=darwin toolset=clang)
+else()
+ list(APPEND B2_OPTIONS target-os=linux toolset=gcc)
+endif()
string(REPLACE " " " <compileflags>" CXXFLAGS "${CMAKE_CXX_FLAGS}")
#set(CXXFLAGS "${CXXFLAGS} <compileflags>-Wno-error=unused-command-line-argument")
@@ -45,6 +53,10 @@ foreach(INCDIR ${CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES}) set(CXXFLAGS "${CXXFLAGS} <compileflags>${CMAKE_INCLUDE_FLAG_C}${CMAKE_INCLUDE_FLAG_C_SEP}${INCDIR}")
endforeach()
+if(APPLE)
+ set(CXXFLAGS "${CXXFLAGS} <compileflags>-D_DARWIN_C_SOURCE")
+endif()
+
find_library(ZLIB_LIBPATH z)
list(APPEND B2_OPTIONS
-sZLIB_BINARY=z
@@ -112,7 +124,7 @@ add_custom_target(boost ALL threading=multi
threadapi=pthread
debug-symbols=on
- WORKING_DIRECTORY ${SOURCE_PATH}
+ WORKING_DIRECTORY ${SOURCE_PATH}/build
)
install(
diff --git a/ports/boost-modular-build-helper/CONTROL b/ports/boost-modular-build-helper/CONTROL index d57815738..7324d6ba0 100644 --- a/ports/boost-modular-build-helper/CONTROL +++ b/ports/boost-modular-build-helper/CONTROL @@ -1,2 +1,2 @@ Source: boost-modular-build-helper
-Version: 2
+Version: 2018-04-16-4
diff --git a/ports/boost-modular-build-helper/Jamroot.jam b/ports/boost-modular-build-helper/Jamroot.jam index 1e3dce89c..8c24fff86 100644 --- a/ports/boost-modular-build-helper/Jamroot.jam +++ b/ports/boost-modular-build-helper/Jamroot.jam @@ -1,5 +1,5 @@ -constant BOOST_VERSION : 1.66.0 ;
-constant BOOST_VERSION_ABI_TAG : 1_66 ;
+constant BOOST_VERSION : 1.67.0 ;
+constant BOOST_VERSION_ABI_TAG : 1_67 ;
constant BOOST_JAMROOT_MODULE : $(__name__) ;
import boostcpp ;
@@ -39,6 +39,9 @@ if "@PORT@" != "boost-system" 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 ;
+
+ use-project /boost : . ;
+ alias system : boost_system ;
}
if "@PORT@" != "boost-chrono"
diff --git a/ports/boost-modular-build-helper/boost-modular-build.cmake b/ports/boost-modular-build-helper/boost-modular-build.cmake index 222fc7fe9..d28762175 100644 --- a/ports/boost-modular-build-helper/boost-modular-build.cmake +++ b/ports/boost-modular-build-helper/boost-modular-build.cmake @@ -1,5 +1,5 @@ function(boost_modular_build)
- cmake_parse_arguments(_bm "" "SOURCE_PATH;REQUIREMENTS" "OPTIONS" ${ARGN})
+ cmake_parse_arguments(_bm "" "SOURCE_PATH;REQUIREMENTS;BOOST_CMAKE_FRAGMENT" "OPTIONS" ${ARGN})
if(NOT DEFINED _bm_SOURCE_PATH)
message(FATAL_ERROR "SOURCE_PATH is a required argument to boost_modular_build.")
@@ -32,10 +32,6 @@ function(boost_modular_build) 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})
if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
@@ -48,16 +44,10 @@ function(boost_modular_build) 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")
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(REPLACE "import ../../predef/check/predef" "import predef/check/predef" _contents "${_contents}")
+ #string(REPLACE "import ../../config/checks/config" "import config/checks/config" _contents "${_contents}")
string(REGEX REPLACE
"\.\./\.\./([^/ ]+)/build//(boost_[^/ ]+)"
"/boost/\\1//\\2"
@@ -68,18 +58,18 @@ function(boost_modular_build) 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()
-
configure_file(${_bm_DIR}/Jamroot.jam ${_bm_SOURCE_PATH}/Jamroot.jam @ONLY)
+ # if(EXISTS "${CURRENT_INSTALLED_DIR}/share/boost-config/checks")
+ # file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${_bm_SOURCE_PATH}/build/config")
+ # endif()
+ # if(EXISTS "${CURRENT_INSTALLED_DIR}/share/boost-predef/check")
+ # file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-predef/check" DESTINATION "${_bm_SOURCE_PATH}/build/predef")
+ # endif()
if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ if(DEFINED _bm_BOOST_CMAKE_FRAGMENT)
+ set(fragment_option "-DBOOST_CMAKE_FRAGMENT=${_bm_BOOST_CMAKE_FRAGMENT}")
+ endif()
vcpkg_configure_cmake(
SOURCE_PATH ${CURRENT_INSTALLED_DIR}/share/boost-build
PREFER_NINJA
@@ -87,8 +77,13 @@ function(boost_modular_build) "-DB2_EXE=${B2_EXE}"
"-DSOURCE_PATH=${_bm_SOURCE_PATH}"
"-DBOOST_BUILD_PATH=${BOOST_BUILD_PATH}"
+ ${fragment_option}
)
vcpkg_install_cmake()
+
+ if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/lib)
+ message(FATAL_ERROR "No libraries were produced. This indicates a failure while building the boost library.")
+ endif()
return()
endif()
@@ -242,7 +237,7 @@ function(boost_modular_build) ${_bm_OPTIONS_REL}
variant=release
debug-symbols=on
- WORKING_DIRECTORY ${_bm_SOURCE_PATH}
+ WORKING_DIRECTORY ${_bm_SOURCE_PATH}/build
LOGNAME build-${TARGET_TRIPLET}-rel
)
message(STATUS "Building ${TARGET_TRIPLET}-rel done")
@@ -259,7 +254,7 @@ function(boost_modular_build) ${_bm_OPTIONS}
${_bm_OPTIONS_DBG}
variant=debug
- WORKING_DIRECTORY ${_bm_SOURCE_PATH}
+ WORKING_DIRECTORY ${_bm_SOURCE_PATH}/build
LOGNAME build-${TARGET_TRIPLET}-dbg
)
message(STATUS "Building ${TARGET_TRIPLET}-dbg done")
@@ -314,7 +309,7 @@ function(boost_modular_build) 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 "-1_67" "" 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
diff --git a/ports/boost-modular-build-helper/user-config.jam b/ports/boost-modular-build-helper/user-config.jam index bd3797283..abefc7fae 100644 --- a/ports/boost-modular-build-helper/user-config.jam +++ b/ports/boost-modular-build-helper/user-config.jam @@ -45,3 +45,6 @@ lib icuin : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/icuind.lib" <variant>debu lib icudt : : <file>"@CURRENT_INSTALLED_DIR@/lib/icudt.lib" <variant>release : : ;
lib icudt : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/icudtd.lib" <variant>debug : : ;
+
+lib iconv : : <file>"@LIBICONV_LIBRARY@" <link>shared <runtime-link>shared <variant>release : : ;
+lib iconv : : <file>"@LIBICONV_LIBRARY@" <link>shared <runtime-link>shared <variant>debug : : ;
|
