aboutsummaryrefslogtreecommitdiff
path: root/ports/tbb/portfile.cmake
blob: fc761f113a93441c0ae577e3096fa6c1dc47f207 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# Common Ambient Variables:
#   VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
#   TARGET_TRIPLET is the current triplet (x86-windows, etc)
#   PORT is the current port name (zlib, etc)
#   CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
#   CURRENT_PACKAGES_DIR  = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
#

if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
    message(STATUS "Warning: Static building not supported yet. Building dynamic.")
    set(VCPKG_LIBRARY_LINKAGE dynamic)
endif()
include(vcpkg_common_functions)

set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/tbb2017_20160916oss)
vcpkg_download_distfile(ARCHIVE
    URLS "https://www.threadingbuildingblocks.org/sites/default/files/software_releases/windows/tbb2017_20160916oss_win_1.zip"
    FILENAME "tbb2017_20160916oss_win_1.zip"
    SHA512 14bbc54aa0c4506bab6e6fdb7e9e562cbc88881cb683a8bd690e3101177e55433f25a2143e7af1ed52edacb44dc92fab354e1f2101bc13b33b3ea137def8bdd1
)
vcpkg_extract_source_archive(${ARCHIVE})

# Installation
message(STATUS "Installing")
file(COPY
  ${SOURCE_PATH}/include/tbb
  ${SOURCE_PATH}/include/serial
  DESTINATION ${CURRENT_PACKAGES_DIR}/include)

if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
  set(BIN_PATH ${SOURCE_PATH}/bin/intel64/vc14)
  set(LIB_PATH ${SOURCE_PATH}/lib/intel64/vc14)
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
  set(BIN_PATH ${SOURCE_PATH}/bin/ia32/vc14)
  set(LIB_PATH ${SOURCE_PATH}/lib/ia32/vc14)
else()
  message(FATAL_ERROR "Unsupported architecture")
endif()

file(COPY
  ${LIB_PATH}/tbb.lib
  ${LIB_PATH}/tbb_preview.lib
  ${LIB_PATH}/tbbmalloc.lib
  ${LIB_PATH}/tbbmalloc_proxy.lib
  ${LIB_PATH}/tbbproxy.lib
  ${LIB_PATH}/tbbproxy.pdb
  DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
file(COPY
  ${LIB_PATH}/tbb_debug.lib
  ${LIB_PATH}/tbb_preview_debug.lib
  ${LIB_PATH}/tbbmalloc_debug.lib
  ${LIB_PATH}/tbbmalloc_proxy_debug.lib
  ${LIB_PATH}/tbbproxy_debug.lib
  ${LIB_PATH}/tbbproxy_debug.pdb
  DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)

file(COPY
  ${BIN_PATH}/tbb.dll
  ${BIN_PATH}/tbb_preview.dll
  ${BIN_PATH}/tbbmalloc.dll
  ${BIN_PATH}/tbbmalloc_proxy.dll
  ${BIN_PATH}/tbb.pdb
  ${BIN_PATH}/tbb_preview.pdb
  ${BIN_PATH}/tbbmalloc.pdb
  ${BIN_PATH}/tbbmalloc_proxy.pdb
  DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
file(COPY
  ${BIN_PATH}/tbb_debug.dll
  ${BIN_PATH}/tbb_preview_debug.dll
  ${BIN_PATH}/tbbmalloc_debug.dll
  ${BIN_PATH}/tbbmalloc_proxy_debug.dll
  ${BIN_PATH}/tbb_debug.pdb
  ${BIN_PATH}/tbb_preview_debug.pdb
  ${BIN_PATH}/tbbmalloc_debug.pdb
  ${BIN_PATH}/tbbmalloc_proxy_debug.pdb
  DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)

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)