early-access version 2853
This commit is contained in:
27
externals/vcpkg/ports/opencl/0001-include-unistd-for-gete-ug-id.patch
vendored
Executable file
27
externals/vcpkg/ports/opencl/0001-include-unistd-for-gete-ug-id.patch
vendored
Executable file
@@ -0,0 +1,27 @@
|
||||
From 0f783f1a8eac7a78bc92198e140d4a5c745382ca Mon Sep 17 00:00:00 2001
|
||||
From: Nicole Mazzuca <mazzucan@outlook.com>
|
||||
Date: Wed, 23 Sep 2020 11:50:21 -0700
|
||||
Subject: [PATCH] include unistd for gete?[ug]id
|
||||
|
||||
---
|
||||
loader/linux/icd_linux_envvars.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/loader/linux/icd_linux_envvars.c b/loader/linux/icd_linux_envvars.c
|
||||
index 4af5a08..92b0698 100644
|
||||
--- a/loader/linux/icd_linux_envvars.c
|
||||
+++ b/loader/linux/icd_linux_envvars.c
|
||||
@@ -25,6 +25,10 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
+#if defined(__APPLE__)
|
||||
+#include <unistd.h>
|
||||
+#endif
|
||||
+
|
||||
char *khrIcd_getenv(const char *name) {
|
||||
// No allocation of memory necessary for Linux.
|
||||
return getenv(name);
|
||||
--
|
||||
2.24.3 (Apple Git-128)
|
||||
|
||||
105
externals/vcpkg/ports/opencl/portfile.cmake
vendored
Executable file
105
externals/vcpkg/ports/opencl/portfile.cmake
vendored
Executable file
@@ -0,0 +1,105 @@
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO KhronosGroup/OpenCL-Headers
|
||||
REF 0d5f18c6e7196863bc1557a693f1509adfcee056
|
||||
SHA512 7e8fa6c8e73c660d8e9e31ddea3bfef887ed827fc21a1da559bde9dd4af6c52a91f609401bb718528b5c96d21e4c01aee7b8027bdf3dec4b0aa326270788a4b0
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
file(INSTALL "${SOURCE_PATH}/CL" DESTINATION ${CURRENT_PACKAGES_DIR}/include)
|
||||
|
||||
# OpenCL C++ headers
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO KhronosGroup/OpenCL-CLHPP
|
||||
REF d62a02090625655e5b2d791d6a58618b043c989c
|
||||
SHA512 837bbe914931d2f18a468f21634dbd4d088eda0a2f22eea23304c0323b9ee064c3ee76db7ebf28ba67fbe07c44129241f8dca62512d89bc7a6b35c2b4b316ed7
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
vcpkg_find_acquire_program(PYTHON3)
|
||||
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND "${PYTHON3}" "${SOURCE_PATH}/gen_cl_hpp.py"
|
||||
-i ${SOURCE_PATH}/input_cl.hpp
|
||||
-o ${CURRENT_PACKAGES_DIR}/include/CL/cl.hpp
|
||||
WORKING_DIRECTORY ${SOURCE_PATH}
|
||||
LOGNAME generate_clhpp-${TARGET_TRIPLET}
|
||||
)
|
||||
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND "${PYTHON3}" "${SOURCE_PATH}/gen_cl_hpp.py"
|
||||
-i ${SOURCE_PATH}/input_cl2.hpp
|
||||
-o ${CURRENT_PACKAGES_DIR}/include/CL/cl2.hpp
|
||||
WORKING_DIRECTORY ${SOURCE_PATH}
|
||||
LOGNAME generate_cl2hpp-${TARGET_TRIPLET}
|
||||
)
|
||||
message(STATUS "Generating OpenCL C++ headers done")
|
||||
|
||||
# OpenCL ICD loader
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO KhronosGroup/OpenCL-ICD-Loader
|
||||
REF e6e30ab9c7a61c171cf68d2e7f5c0ce28e2a4eae
|
||||
SHA512 f3563c0a4c094d3795d8386ec0db41189d350ab8136d80ae5de611ee3db87fbb0ab851bad2b33e111eddf135add5dbfef77d96979473ca5a23c036608d443378
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
0001-include-unistd-for-gete-ug-id.patch
|
||||
)
|
||||
|
||||
string(COMPARE EQUAL ${VCPKG_CRT_LINKAGE} dynamic USE_DYNAMIC_VCXX_RUNTIME)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
OPTIONS
|
||||
-DOPENCL_ICD_LOADER_HEADERS_DIR=${CURRENT_PACKAGES_DIR}/include
|
||||
-DOPENCL_ICD_LOADER_REQUIRE_WDK=OFF
|
||||
-DUSE_DYNAMIC_VCXX_RUNTIME=${USE_DYNAMIC_VCXX_RUNTIME}
|
||||
)
|
||||
|
||||
vcpkg_build_cmake(TARGET OpenCL)
|
||||
|
||||
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
|
||||
if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
|
||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${VCPKG_TARGET_STATIC_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
|
||||
endif()
|
||||
if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${VCPKG_TARGET_STATIC_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
|
||||
endif()
|
||||
else()
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
|
||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
|
||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
|
||||
endif()
|
||||
if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
|
||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
|
||||
endif()
|
||||
elseif(VCPKG_TARGET_IS_LINUX)
|
||||
if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
|
||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
|
||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.1" DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
|
||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.1.2" DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
|
||||
endif()
|
||||
if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
|
||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.1" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
|
||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.1.2" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
|
||||
endif()
|
||||
elseif(VCPKG_TARGET_IS_OSX)
|
||||
if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
|
||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
|
||||
endif()
|
||||
if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
|
||||
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
|
||||
16
externals/vcpkg/ports/opencl/usage
vendored
Executable file
16
externals/vcpkg/ports/opencl/usage
vendored
Executable file
@@ -0,0 +1,16 @@
|
||||
The package opencl is compatible with built-in CMake targets via CMake v3.6 and prior syntax
|
||||
|
||||
find_package(OpenCL REQUIRED)
|
||||
target_link_libraries(main PRIVATE ${OpenCL_LIBRARIES})
|
||||
target_include_directories(main PRIVATE ${OpenCL_INCLUDE_DIRS})
|
||||
|
||||
and the CMake v3.7 and beyond imported target syntax
|
||||
|
||||
find_package(OpenCL REQUIRED)
|
||||
target_link_libraries(main PRIVATE OpenCL::OpenCL)
|
||||
|
||||
This package is only an OpenCL SDK. To actually run OpenCL code you also need to install an implementation.
|
||||
|
||||
WINDOWS: implementations typically ship with the drivers of you CPU/GPU vendors.
|
||||
LINUX: implementations may be installed from your distro's repo or manually. There are too many to count.
|
||||
APPLE: consult your distribution vendor on the state of OpenCL support: https://support.apple.com/en-us/HT202823
|
||||
18
externals/vcpkg/ports/opencl/vcpkg-cmake-wrapper.cmake
vendored
Executable file
18
externals/vcpkg/ports/opencl/vcpkg-cmake-wrapper.cmake
vendored
Executable file
@@ -0,0 +1,18 @@
|
||||
_find_package(${ARGS})
|
||||
if(NOT BUILD_SHARED_LIBS AND (NOT CMAKE_SYSTEM_NAME MATCHES "Darwin"))
|
||||
find_package(Threads REQUIRED)
|
||||
set(OpenCL_Extra_Libs ${CMAKE_DL_LIBS} ${CMAKE_THREAD_LIBS_INIT})
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||||
list(APPEND OpenCL_Extra_Libs cfgmgr32)
|
||||
if($ENV{WindowsSDKVersion} MATCHES "^10")
|
||||
list(APPEND OpenCL_Extra_Libs OneCoreUAP)
|
||||
endif()
|
||||
endif(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||||
|
||||
if(TARGET OpenCL::OpenCL)
|
||||
set_property(TARGET OpenCL::OpenCL APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${OpenCL_Extra_Libs})
|
||||
endif()
|
||||
if(OpenCL_LIBRARIES)
|
||||
list(APPEND OpenCL_LIBRARIES ${OpenCL_Extra_Libs})
|
||||
endif()
|
||||
endif()
|
||||
8
externals/vcpkg/ports/opencl/vcpkg.json
vendored
Executable file
8
externals/vcpkg/ports/opencl/vcpkg.json
vendored
Executable file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"name": "opencl",
|
||||
"version-string": "2.2",
|
||||
"port-version": 8,
|
||||
"description": "C/C++ headers and ICD loader (Installable Client Driver) for OpenCL",
|
||||
"homepage": "https://github.com/KhronosGroup/OpenCL-Headers",
|
||||
"supports": "!uwp"
|
||||
}
|
||||
Reference in New Issue
Block a user