mirror of
https://github.com/microsoft/vcpkg.git
synced 2025-06-07 18:15:52 +08:00
[halide] Fix several issues with the Halide port after v12 (#18747)
* Fix several issues with the Halide port after v12 1. Use vcpkg-cmake and vcpkg-cmake-config ports 2. Fix usage file to point to relevant documentation 3. Remove OpenGL feature (Halide 12 dropped support) 4. Drop VCPKG_POLICY_EMPTY_PACKAGE 5. Set new Halide packaging variables for better vcpkg compliance. * update versions
This commit is contained in:
parent
ab3a2b5e09
commit
72ee11d37a
@ -1,10 +1,5 @@
|
|||||||
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
|
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
|
||||||
|
|
||||||
# Halide distributes some loadable modules that belong in lib on all platforms.
|
|
||||||
# CMake defaults module DLLs into the lib folder, which is incompatible with
|
|
||||||
# vcpkg’s current policy. This sidesteps that issue, a bit bluntly.
|
|
||||||
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
|
|
||||||
|
|
||||||
vcpkg_from_github(
|
vcpkg_from_github(
|
||||||
OUT_SOURCE_PATH SOURCE_PATH
|
OUT_SOURCE_PATH SOURCE_PATH
|
||||||
REPO halide/Halide
|
REPO halide/Halide
|
||||||
@ -25,15 +20,13 @@ vcpkg_check_features(
|
|||||||
target-mips TARGET_MIPS
|
target-mips TARGET_MIPS
|
||||||
target-nvptx TARGET_NVPTX
|
target-nvptx TARGET_NVPTX
|
||||||
target-opencl TARGET_OPENCL
|
target-opencl TARGET_OPENCL
|
||||||
target-opengl TARGET_OPENGL
|
|
||||||
target-powerpc TARGET_POWERPC
|
target-powerpc TARGET_POWERPC
|
||||||
target-riscv TARGET_RISCV
|
target-riscv TARGET_RISCV
|
||||||
target-x86 TARGET_X86
|
target-x86 TARGET_X86
|
||||||
)
|
)
|
||||||
|
|
||||||
vcpkg_configure_cmake(
|
vcpkg_cmake_configure(
|
||||||
SOURCE_PATH ${SOURCE_PATH}
|
SOURCE_PATH ${SOURCE_PATH}
|
||||||
PREFER_NINJA
|
|
||||||
OPTIONS ${FEATURE_OPTIONS}
|
OPTIONS ${FEATURE_OPTIONS}
|
||||||
-DWITH_DOCS=NO
|
-DWITH_DOCS=NO
|
||||||
-DWITH_PYTHON_BINDINGS=NO
|
-DWITH_PYTHON_BINDINGS=NO
|
||||||
@ -42,10 +35,14 @@ vcpkg_configure_cmake(
|
|||||||
-DWITH_UTILS=NO
|
-DWITH_UTILS=NO
|
||||||
-DCMAKE_INSTALL_LIBDIR=bin
|
-DCMAKE_INSTALL_LIBDIR=bin
|
||||||
-DCMAKE_INSTALL_DATADIR=share/${PORT}
|
-DCMAKE_INSTALL_DATADIR=share/${PORT}
|
||||||
-DHALIDE_INSTALL_CMAKEDIR=share/${PORT}
|
-DHalide_INSTALL_CMAKEDIR=share/${PORT}
|
||||||
|
-DHalide_INSTALL_HELPERSDIR=share/HalideHelpers
|
||||||
|
-DHalide_INSTALL_PLUGINDIR=bin
|
||||||
)
|
)
|
||||||
|
|
||||||
vcpkg_install_cmake(ADD_BIN_TO_PATH)
|
# ADD_BIN_TO_PATH needed to compile autoschedulers,
|
||||||
|
# which use Halide.dll (and deps) during the build.
|
||||||
|
vcpkg_cmake_install(ADD_BIN_TO_PATH)
|
||||||
|
|
||||||
vcpkg_copy_tools(
|
vcpkg_copy_tools(
|
||||||
TOOL_NAMES
|
TOOL_NAMES
|
||||||
@ -56,9 +53,16 @@ vcpkg_copy_tools(
|
|||||||
AUTO_CLEAN
|
AUTO_CLEAN
|
||||||
)
|
)
|
||||||
|
|
||||||
vcpkg_copy_pdbs()
|
# Release mode MODULE targets in CMake don't get PDBs.
|
||||||
|
# Exclude those to avoid warning with default globs.
|
||||||
|
vcpkg_copy_pdbs(
|
||||||
|
BUILD_PATHS
|
||||||
|
"${CURRENT_PACKAGES_DIR}/bin/Halide.dll"
|
||||||
|
"${CURRENT_PACKAGES_DIR}/debug/bin/*.dll"
|
||||||
|
)
|
||||||
|
|
||||||
vcpkg_fixup_cmake_targets()
|
vcpkg_cmake_config_fixup()
|
||||||
|
vcpkg_cmake_config_fixup(PACKAGE_NAME HalideHelpers)
|
||||||
|
|
||||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
|
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
|
||||||
|
@ -11,4 +11,4 @@ The package halide provides CMake targets:
|
|||||||
target_link_libraries(main PRIVATE filter)
|
target_link_libraries(main PRIVATE filter)
|
||||||
|
|
||||||
For more information see:
|
For more information see:
|
||||||
https://github.com/halide/Halide/blob/v11.0.1/README_cmake.md
|
https://github.com/halide/Halide/blob/v12.0.1/README_cmake.md
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "halide",
|
"name": "halide",
|
||||||
"version": "12.0.1",
|
"version": "12.0.1",
|
||||||
|
"port-version": 1,
|
||||||
"description": "Halide is a programming language designed to make it easier to write high-performance image and array processing code on modern machines.",
|
"description": "Halide is a programming language designed to make it easier to write high-performance image and array processing code on modern machines.",
|
||||||
"homepage": "https://github.com/halide/Halide",
|
"homepage": "https://github.com/halide/Halide",
|
||||||
"supports": "!uwp",
|
"supports": "!uwp",
|
||||||
@ -12,6 +13,14 @@
|
|||||||
"enable-rtti",
|
"enable-rtti",
|
||||||
"tools"
|
"tools"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "vcpkg-cmake",
|
||||||
|
"host": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "vcpkg-cmake-config",
|
||||||
|
"host": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"default-features": [
|
"default-features": [
|
||||||
@ -82,7 +91,6 @@
|
|||||||
"target-mips",
|
"target-mips",
|
||||||
"target-nvptx",
|
"target-nvptx",
|
||||||
"target-opencl",
|
"target-opencl",
|
||||||
"target-opengl",
|
|
||||||
"target-powerpc",
|
"target-powerpc",
|
||||||
"target-riscv",
|
"target-riscv",
|
||||||
"target-x86"
|
"target-x86"
|
||||||
@ -159,9 +167,6 @@
|
|||||||
"target-opencl": {
|
"target-opencl": {
|
||||||
"description": "Include OpenCL-C target"
|
"description": "Include OpenCL-C target"
|
||||||
},
|
},
|
||||||
"target-opengl": {
|
|
||||||
"description": "Include OpenGL/GLSL target"
|
|
||||||
},
|
|
||||||
"target-powerpc": {
|
"target-powerpc": {
|
||||||
"description": "Include PowerPC target",
|
"description": "Include PowerPC target",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
|
@ -2458,7 +2458,7 @@
|
|||||||
},
|
},
|
||||||
"halide": {
|
"halide": {
|
||||||
"baseline": "12.0.1",
|
"baseline": "12.0.1",
|
||||||
"port-version": 0
|
"port-version": 1
|
||||||
},
|
},
|
||||||
"happly": {
|
"happly": {
|
||||||
"baseline": "2021-03-19",
|
"baseline": "2021-03-19",
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
{
|
{
|
||||||
"versions": [
|
"versions": [
|
||||||
|
{
|
||||||
|
"git-tree": "512cb4dd40ca40afbf0c6a35f7bdc595589a0b10",
|
||||||
|
"version": "12.0.1",
|
||||||
|
"port-version": 1
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"git-tree": "50e2c4835a57bb4a172c4b82b2a0e0a3077088ab",
|
"git-tree": "50e2c4835a57bb4a172c4b82b2a0e0a3077088ab",
|
||||||
"version": "12.0.1",
|
"version": "12.0.1",
|
||||||
|
Loading…
Reference in New Issue
Block a user