diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2019-11-22 09:47:40 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-11-22 09:47:40 -0800 |
| commit | 45f4b820e5743b89bca3508ba2028cdd5d8bbd17 (patch) | |
| tree | f874a8c4a7392309bdbb86447288597ec0a4a281 /ports/tbb | |
| parent | 62d67d3bf8eeff1afa8009041fd08b8822676b7b (diff) | |
| parent | 8831e8f25f1ff6546ee4a5291b91d599421637b3 (diff) | |
| download | vcpkg-45f4b820e5743b89bca3508ba2028cdd5d8bbd17.tar.gz vcpkg-45f4b820e5743b89bca3508ba2028cdd5d8bbd17.zip | |
Merge branch 'master' into vcpkg_nuget
Diffstat (limited to 'ports/tbb')
| -rw-r--r-- | ports/tbb/CMakeLists.txt | 9 | ||||
| -rw-r--r-- | ports/tbb/CONTROL | 2 | ||||
| -rw-r--r-- | ports/tbb/fix-static-build.patch | 13 | ||||
| -rw-r--r-- | ports/tbb/portfile.cmake | 45 |
4 files changed, 56 insertions, 13 deletions
diff --git a/ports/tbb/CMakeLists.txt b/ports/tbb/CMakeLists.txt index cc1dd3933..6d41b1555 100644 --- a/ports/tbb/CMakeLists.txt +++ b/ports/tbb/CMakeLists.txt @@ -4,7 +4,14 @@ file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*) file(COPY ${SOURCES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/src)
include(${CMAKE_CURRENT_BINARY_DIR}/src/cmake/TBBBuild.cmake REQUIRED)
-tbb_build(TBB_ROOT ${CMAKE_CURRENT_BINARY_DIR}/src MAKE_ARGS extra_inc=big_iron.inc)
+if(NOT BUILD_SHARED_LIBS)
+ set(TBB_STATIC_INCLUDE extra_inc=big_iron.inc)
+endif()
+if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ set(FORWARD_SDK_ROOT "SDKROOT=${CMAKE_OSX_SYSROOT}")
+endif()
+
+tbb_build(TBB_ROOT ${CMAKE_CURRENT_BINARY_DIR}/src MAKE_ARGS ${TBB_STATIC_INCLUDE} ${FORWARD_SDK_ROOT})
set(SUBDIR ${CMAKE_CURRENT_BINARY_DIR}/tbb_cmake_build/tbb_cmake_build_subdir)
if(CMAKE_BUILD_TYPE STREQUAL "Release")
diff --git a/ports/tbb/CONTROL b/ports/tbb/CONTROL index e3ae78936..a51904261 100644 --- a/ports/tbb/CONTROL +++ b/ports/tbb/CONTROL @@ -1,4 +1,4 @@ Source: tbb -Version: 2019_U7 +Version: 2019_U8-2 Homepage: https://github.com/01org/tbb Description: Intel's Threading Building Blocks. diff --git a/ports/tbb/fix-static-build.patch b/ports/tbb/fix-static-build.patch new file mode 100644 index 000000000..18f3e2b49 --- /dev/null +++ b/ports/tbb/fix-static-build.patch @@ -0,0 +1,13 @@ +diff --git a/src/tbb/cilk-tbb-interop.h b/src/tbb/cilk-tbb-interop.h +index 295734b..f35531e 100644 +--- a/src/tbb/cilk-tbb-interop.h ++++ b/src/tbb/cilk-tbb-interop.h +@@ -29,6 +29,8 @@ + #else + #ifdef IN_CILK_RUNTIME + #define CILK_EXPORT __declspec(dllexport) ++#elif defined(IN_CILK_STATIC) ++#define CILK_EXPORT /* nothing */ + #else + #define CILK_EXPORT __declspec(dllimport) + #endif // IN_CILK_RUNTIME diff --git a/ports/tbb/portfile.cmake b/ports/tbb/portfile.cmake index 119916757..1d543b317 100644 --- a/ports/tbb/portfile.cmake +++ b/ports/tbb/portfile.cmake @@ -1,20 +1,17 @@ include(vcpkg_common_functions) -if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO intel/tbb - REF 4233fef583b4f8cbf9f781311717600feaaa0694 - SHA512 6eb239f16e0ecacb825264869aafad7fb39aa1b1f8a3c03c92344c4255d1c1a34ca0a47a366c471fd2da808f3be14262c7e2305294677f2f490c1a48f6f76ec3 + REF 4bdba61bafc6ba2d636f31564f1de5702d365cf7 + SHA512 0b00c9deefdac5dc1f4fbae314e91eb3513b54b47ff6dec08ed2460486fc7d211ab36d6130e5787bfd50523cb613c65f03f9217d967292ca9056e2d3f5010bf8 HEAD_REF tbb_2019 + PATCHES fix-static-build.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +if (NOT VCPKG_TARGET_IS_WINDOWS) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -33,6 +30,32 @@ else() set(RELEASE_CONFIGURATION Release) set(DEBUG_CONFIGURATION Debug) endif() + + macro(CONFIGURE_PROJ_FILE arg) + set(CONFIGURE_FILE_NAME ${arg}) + set(CONFIGURE_BAK_FILE_NAME ${arg}.bak) + if (NOT EXISTS ${CONFIGURE_BAK_FILE_NAME}) + configure_file(${CONFIGURE_FILE_NAME} ${CONFIGURE_BAK_FILE_NAME} COPYONLY) + endif() + configure_file(${CONFIGURE_BAK_FILE_NAME} ${CONFIGURE_FILE_NAME} COPYONLY) + if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(READ ${CONFIGURE_FILE_NAME} SLN_CONFIGURE) + string(REPLACE "<ConfigurationType>DynamicLibrary<\/ConfigurationType>" + "<ConfigurationType>StaticLibrary<\/ConfigurationType>" SLN_CONFIGURE "${SLN_CONFIGURE}") + string(REPLACE "\/D_CRT_SECURE_NO_DEPRECATE" + "\/D_CRT_SECURE_NO_DEPRECATE \/DIN_CILK_STATIC" SLN_CONFIGURE "${SLN_CONFIGURE}") + file(WRITE ${CONFIGURE_FILE_NAME} "${SLN_CONFIGURE}") + else() + file(READ ${CONFIGURE_FILE_NAME} SLN_CONFIGURE) + string(REPLACE "\/D_CRT_SECURE_NO_DEPRECATE" + "\/D_CRT_SECURE_NO_DEPRECATE \/DIN_CILK_RUNTIME" SLN_CONFIGURE "${SLN_CONFIGURE}") + file(WRITE ${CONFIGURE_FILE_NAME} "${SLN_CONFIGURE}") + endif() + endmacro() + + CONFIGURE_PROJ_FILE(${SOURCE_PATH}/build/vs2013/tbb.vcxproj) + CONFIGURE_PROJ_FILE(${SOURCE_PATH}/build/vs2013/tbbmalloc.vcxproj) + CONFIGURE_PROJ_FILE(${SOURCE_PATH}/build/vs2013/tbbmalloc_proxy.vcxproj) vcpkg_install_msbuild( SOURCE_PATH ${SOURCE_PATH} @@ -78,14 +101,14 @@ string(REPLACE "${_contents}" ) string(REPLACE - "set(_tbb_release_lib \"/${TBB_LIB_PREFIX}\${_tbb_component}.${TBB_LIB_EXT}\")" - "set(_tbb_release_lib \"\${_tbb_root}/lib/${TBB_LIB_PREFIX}\${_tbb_component}.${TBB_LIB_EXT}\")" + "set(_tbb_release_lib \"/${TBB_LIB_PREFIX}" + "set(_tbb_release_lib \"\${_tbb_root}/lib/${TBB_LIB_PREFIX}" _contents "${_contents}" ) string(REPLACE - "set(_tbb_debug_lib \"/${TBB_LIB_PREFIX}\${_tbb_component}_debug.${TBB_LIB_EXT}\")" - "set(_tbb_debug_lib \"\${_tbb_root}/debug/lib/${TBB_LIB_PREFIX}\${_tbb_component}_debug.${TBB_LIB_EXT}\")" + "set(_tbb_debug_lib \"/${TBB_LIB_PREFIX}" + "set(_tbb_debug_lib \"\${_tbb_root}/debug/lib/${TBB_LIB_PREFIX}" _contents "${_contents}" ) |
