vcpkg/ports/halide/portfile.cmake
yurybura cfc05991f5
[llvm] Update to version 10.0.0 and add new features (#10295)
* [llvm] Update to version 10.0.0 and new features

* switch to llvmorg-10.0.0-rc3, allow to use bin directory for tools

* Fix CMake targets after vcpkg_fixup_cmake_targets call.

* [halide] Update to master version to support LLVM 10

* [halide] fix x64-osx build

* [llvm] add enable-assertions feature

* [llvm] fix comment

* [llvm] enable ci for x64-linux and x64-osx

* [llvm] update to v10.0.0-rc5
[llvm] disable assertions and ABI breaking checks by default
[llvm] limit the maximum number of concurrent link jobs to 1
[llvm] add postfix `d` and debug shared libraries in the `/bin` directory

* [llvm] revert debug postfix `d`
[llvm] don't remove debug version of tools and shared libs

* [llvm] fix debug tools path

* [llvm] update to release tag llvmorg-10.0.0
[llvm] build with CMAKE_DEBUG_POSTFIX=d
[llvm] remove debug binaries

* remove new CMake argument FOLLOW_SYMLINK_CHAIN

* [llvm] force TableGen to be built with optimization

* [llvm] add future disable-clang-static-analyzer

* [llvm] add futures for main targets
[llvm] remove utils and clang-tools-extra from default features list
[llvm] exclude tests

* [llvm] add features for main targets
[llvm] remove utils and clang-tools-extra from default features list
[llvm] exclude tests

* [llvm] update features description

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
2020-05-03 20:30:17 -07:00

74 lines
2.2 KiB
CMake

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO halide/Halide
REF f43293be3725bb959941e38c1b1fa9ae925f7389
SHA512 f223185e208acf6c5b73353a6b5be815db5f2598f568596e800c35ea40b0babe4630da44229e14a5607e9d5e78298d07e7b36a9cbc7b71bf3e665bc12caff68e
HEAD_REF master
PATCHES
fix-install-path.patch
)
set(TARGET_X86 OFF)
set(TARGET_ARM OFF)
set(TARGET_AARCH64 OFF)
if (VCPKG_TARGET_ARCHITECTURE STREQUAL x86 OR VCPKG_TARGET_ARCHITECTURE STREQUAL x64)
# llvm x86 components are required for llvm x64
set(TARGET_X86 ON)
elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL arm)
set(TARGET_X86 OFF)
if (TARGET_TRIPLET STREQUAL arm64)
set(TARGET_AARCH64 ON)
else()
set(TARGET_ARM ON)
endif()
endif()
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
set(HALIDE_SHARED_LIBRARY ON)
else()
set(HALIDE_SHARED_LIBRARY OFF)
endif()
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
app WITH_APPS
test WITH_TESTS
tutorials WITH_TUTORIALS
docs WITH_DOCS
utils WITH_UTILS
nativeclient TARGET_NATIVE_CLIENT
hexagon TARGET_HEXAGON
metal TARGET_METAL
mips TARGET_MIPS
powerpc TARGET_POWERPC
ptx TARGET_PTX
opencl TARGET_OPENCL
opengl TARGET_OPENGL
opengl TARGET_OPENGLCOMPUTE
rtti HALIDE_ENABLE_RTTI
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS ${FEATURE_OPTIONS}
-DTRIPLET_SYSTEM_ARCH=${TRIPLET_SYSTEM_ARCH}
-DHALIDE_SHARED_LIBRARY=${HALIDE_SHARED_LIBRARY}
-DTARGET_X86=${TARGET_X86}
-DTARGET_ARM=${TARGET_ARM}
-DTARGET_AARCH64=${TARGET_AARCH64}
#-DTARGET_AMDGPU
-DWARNINGS_AS_ERRORS=OFF
)
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH share/halide)
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/halide_config.cmake ${CURRENT_PACKAGES_DIR}/share/${PORT}/halide-config.cmake)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/halide_config.make ${CURRENT_PACKAGES_DIR}/share/${PORT}/halide-config.make)
file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)