mirror of
https://gitee.com/openharmony/third_party_opencl-headers
synced 2024-11-27 01:00:42 +00:00
006fc6797e
* Add CMake Packaging + CI For Package * Uniform formatting * Explicit compiler detection * Simplify exported target name * Changed include dir to SYSTEM BEFORE * Remove travis * Initial Github Actions yaml * Fix CWD * Remove CWD from YAML * MSVC warning flags * Fix CWD for CTest invocations * Relative CWD * runner.workspace * enable tests in build * Move to C flags * Enable testing in CI * GCC warnings * Don't meddle with compiler flags in CMake * C2059: syntax error: 'bad suffix on number' * C4001: nonstd ext 'single line comment' was used * /wd4001 * /wd4001 again * Remove Za builds of cl_icd_h.c * Fix oeprator precedence * Refrain from altering global state * Add C_STANDARD to GCC build * Add 32-bit and 64-bit matrix dims * Change -march to -m * Try adding host * install gcc-multilib * Add GCC 8 & 9 multilib * Install GCC multilib conditionally * Add note on Windows C versions incoming * Add INCRMENTAL to silence notice on full link * Experiment with disabling * Initial MacOS config * Add ninja to MacOS build * Fix nproc * nproc -> sysctl * Xcode * cmd -> bash * which gcc-9 * Actual GCC invocation * Check gcc if symlink * follow link * Obtain env * Cleanup * Re-enable Windows and Linux * Check pkgconfig * Syntax fix * INSTALL_PREFIX to PREFIX_PATH * Use CONFIG * Added bare and SDK consumption * Fix bare target * Fix test for unsued variable * Add missing semi-colons * Rework SDK emulation * Fix indentation * Fix build path for SDK consumption * Add Windows consumption test * MacOS * Fix indentation * Enable MacOS * CMAKE_INSTALL_PREFIX >> CMAKE_PREFIX_PATH * Fix install * Install Release on Windows * Re-enable Linux and Windows * Added C99 builds * Removed pkgconfig.c duplication * Fix out-of-sync target in readme * Added policy to make readme sample work * match up paths in readme samples * Homogenize target names * Remove all warnings from sample readme Co-authored-by: sL1pKn07 <sl1pkn07@gmail.com>
67 lines
1.6 KiB
CMake
67 lines
1.6 KiB
CMake
cmake_minimum_required(VERSION 3.0)
|
|
|
|
project(OpenCLHeaders
|
|
VERSION 2.2
|
|
LANGUAGES C # Ideally should be NONE, but GNUInstallDirs detects platform arch using try_compile
|
|
# https://stackoverflow.com/questions/43379311/why-does-project-affect-cmakes-opinion-on-cmake-sizeof-void-p
|
|
)
|
|
|
|
add_library(Headers INTERFACE)
|
|
target_include_directories(Headers
|
|
SYSTEM
|
|
BEFORE
|
|
INTERFACE
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
|
$<INSTALL_INTERFACE:include>
|
|
)
|
|
|
|
install(
|
|
TARGETS Headers
|
|
EXPORT OpenCLHeadersTargets
|
|
)
|
|
|
|
include(GNUInstallDirs)
|
|
|
|
install(
|
|
DIRECTORY CL
|
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
|
)
|
|
export(
|
|
EXPORT OpenCLHeadersTargets
|
|
FILE ${PROJECT_BINARY_DIR}/OpenCLHeaders/OpenCLHeadersTargets.cmake
|
|
NAMESPACE OpenCL::
|
|
)
|
|
file(
|
|
WRITE ${PROJECT_BINARY_DIR}/OpenCLHeaders/OpenCLHeadersConfig.cmake
|
|
"include(\"\${CMAKE_CURRENT_LIST_DIR}/OpenCLHeadersTargets.cmake\")"
|
|
)
|
|
|
|
set(config_package_location ${CMAKE_INSTALL_DATADIR}/cmake/OpenCLHeaders)
|
|
install(
|
|
EXPORT OpenCLHeadersTargets
|
|
FILE OpenCLHeadersTargets.cmake
|
|
NAMESPACE OpenCL::
|
|
DESTINATION ${config_package_location}
|
|
)
|
|
install(
|
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/OpenCLHeaders/OpenCLHeadersConfig.cmake
|
|
DESTINATION ${config_package_location}
|
|
)
|
|
|
|
unset(CMAKE_SIZEOF_VOID_P)
|
|
include(CMakePackageConfigHelpers)
|
|
write_basic_package_version_file(
|
|
${CMAKE_CURRENT_BINARY_DIR}/OpenCLHeaders/OpenCLHeadersConfigVersion.cmake
|
|
VERSION ${PROJECT_VERSION}
|
|
COMPATIBILITY AnyNewerVersion
|
|
)
|
|
install(
|
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/OpenCLHeaders/OpenCLHeadersConfigVersion.cmake
|
|
DESTINATION ${config_package_location}
|
|
)
|
|
|
|
if(BUILD_TESTING)
|
|
include(CTest)
|
|
add_subdirectory(tests)
|
|
endif()
|