mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-30 16:37:52 +08:00
cb239b92c0
It looks like github changed the version (or the generally the way) they do tars, causing some hash mismatches. This fixes the affected ports.
94 lines
3.5 KiB
CMake
94 lines
3.5 KiB
CMake
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
|
|
message(STATUS "Warning: Static building not supported yet. Building dynamic.")
|
|
set(VCPKG_LIBRARY_LINKAGE dynamic)
|
|
endif()
|
|
if (VCPKG_CRT_LINKAGE STREQUAL static)
|
|
message(FATAL_ERROR "TBB does not currently support static crt linkage")
|
|
endif()
|
|
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore)
|
|
message(FATAL_ERROR "TBB does not currently support UWP")
|
|
endif()
|
|
|
|
include(vcpkg_common_functions)
|
|
vcpkg_from_github(
|
|
OUT_SOURCE_PATH SOURCE_PATH
|
|
REPO 01org/tbb
|
|
REF 2017_U7
|
|
SHA512 e4a6fcc3cace9b57061e8661b09af9cb2be721224889af52f4c1b4faec1a130512b7c960e21171ebb8105593a81bd9b80bef20cda91bfac174d535d0f7ccb680
|
|
HEAD_REF tbb_2017)
|
|
|
|
if(TRIPLET_SYSTEM_ARCH STREQUAL x86)
|
|
set(BUILD_ARCH Win32)
|
|
else()
|
|
set(BUILD_ARCH ${TRIPLET_SYSTEM_ARCH})
|
|
endif()
|
|
|
|
vcpkg_build_msbuild(PROJECT_PATH ${SOURCE_PATH}/build/vs2012/makefile.sln PLATFORM ${BUILD_ARCH})
|
|
|
|
# Installation
|
|
message(STATUS "Installing")
|
|
file(COPY
|
|
${SOURCE_PATH}/include/tbb
|
|
${SOURCE_PATH}/include/serial
|
|
DESTINATION ${CURRENT_PACKAGES_DIR}/include)
|
|
|
|
set(DEBUG_OUTPUT_PATH ${SOURCE_PATH}/build/vs2012/${BUILD_ARCH}/Debug)
|
|
set(RELEASE_OUTPUT_PATH ${SOURCE_PATH}/build/vs2012/${BUILD_ARCH}/Release)
|
|
|
|
file(COPY
|
|
${RELEASE_OUTPUT_PATH}/tbb.lib
|
|
${RELEASE_OUTPUT_PATH}/tbbmalloc.lib
|
|
${RELEASE_OUTPUT_PATH}/tbbmalloc_proxy.lib
|
|
DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
|
|
file(COPY
|
|
${DEBUG_OUTPUT_PATH}/tbb_debug.lib
|
|
${DEBUG_OUTPUT_PATH}/tbbmalloc_debug.lib
|
|
${DEBUG_OUTPUT_PATH}/tbbmalloc_proxy_debug.lib
|
|
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
|
|
|
|
file(COPY
|
|
${RELEASE_OUTPUT_PATH}/tbb.dll
|
|
${RELEASE_OUTPUT_PATH}/tbbmalloc.dll
|
|
${RELEASE_OUTPUT_PATH}/tbbmalloc_proxy.dll
|
|
DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
|
|
file(COPY
|
|
${DEBUG_OUTPUT_PATH}/tbb_debug.dll
|
|
${DEBUG_OUTPUT_PATH}/tbbmalloc_debug.dll
|
|
${DEBUG_OUTPUT_PATH}/tbbmalloc_proxy_debug.dll
|
|
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
|
|
|
|
vcpkg_copy_pdbs()
|
|
|
|
# Since 2017_U7 TBB provides a CMake script to generate config file
|
|
include(${SOURCE_PATH}/cmake/TBBMakeConfig.cmake)
|
|
tbb_make_config(TBB_ROOT ${CURRENT_PACKAGES_DIR}
|
|
CONFIG_DIR TBB_CONFIG_DIR # is set to ${CURRENT_PACKAGES_DIR}/cmake
|
|
SYSTEM_NAME "Windows"
|
|
CONFIG_FOR_SOURCE
|
|
TBB_RELEASE_DIR "\${_tbb_root}/bin"
|
|
TBB_DEBUG_DIR "\${_tbb_root}/debug/bin")
|
|
|
|
file(COPY ${TBB_CONFIG_DIR}/TBBConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/tbb)
|
|
file(COPY ${TBB_CONFIG_DIR}/TBBConfigVersion.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/tbb)
|
|
file(REMOVE_RECURSE ${TBB_CONFIG_DIR})
|
|
|
|
# make it work with our installation layout
|
|
file(READ ${CURRENT_PACKAGES_DIR}/share/tbb/TBBConfig.cmake TBB_CONFIG_CMAKE)
|
|
string(REPLACE
|
|
"get_filename_component(_tbb_root \"\${_tbb_root}\" PATH)"
|
|
"get_filename_component(_tbb_root \"\${_tbb_root}\" PATH)
|
|
get_filename_component(_tbb_root \"\${_tbb_root}\" PATH)" TBB_CONFIG_CMAKE "${TBB_CONFIG_CMAKE}")
|
|
string(REPLACE
|
|
"\${_tbb_root}/bin/\${_tbb_component}.lib"
|
|
"\${_tbb_root}/lib/\${_tbb_component}.lib" TBB_CONFIG_CMAKE "${TBB_CONFIG_CMAKE}")
|
|
string(REPLACE
|
|
"\${_tbb_root}/debug/bin/\${_tbb_component}_debug.lib"
|
|
"\${_tbb_root}/debug/lib/\${_tbb_component}_debug.lib" TBB_CONFIG_CMAKE "${TBB_CONFIG_CMAKE}")
|
|
file(WRITE ${CURRENT_PACKAGES_DIR}/share/tbb/TBBConfig.cmake "${TBB_CONFIG_CMAKE}")
|
|
|
|
message(STATUS "Installing done")
|
|
|
|
# Handle copyright
|
|
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/tbb)
|
|
file(RENAME ${CURRENT_PACKAGES_DIR}/share/tbb/LICENSE ${CURRENT_PACKAGES_DIR}/share/tbb/copyright)
|