From 99c1b935b51b90349257be866152a646f49145f5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 11 Feb 2022 23:49:08 -0500 Subject: [PATCH] convert OpenCL loader build from ExternalProject_add to ExternalCMakeProject --- cmake/Modules/OpenCLLoader.cmake | 47 +++----------------------------- 1 file changed, 4 insertions(+), 43 deletions(-) diff --git a/cmake/Modules/OpenCLLoader.cmake b/cmake/Modules/OpenCLLoader.cmake index 942837c9e9..3d2560afde 100644 --- a/cmake/Modules/OpenCLLoader.cmake +++ b/cmake/Modules/OpenCLLoader.cmake @@ -4,47 +4,8 @@ set(OPENCL_LOADER_MD5 "1f23f7ee9934b2d102dcff68517cb7a8" CACHE STRING "MD5 check mark_as_advanced(OPENCL_LOADER_URL) mark_as_advanced(OPENCL_LOADER_MD5) -include(ExternalProject) -ExternalProject_Add(opencl_loader - URL ${OPENCL_LOADER_URL} - URL_MD5 ${OPENCL_LOADER_MD5} - SOURCE_DIR "${CMAKE_BINARY_DIR}/opencl_loader-src" - BINARY_DIR "${CMAKE_BINARY_DIR}/opencl_loader-build" - CMAKE_ARGS ${CMAKE_REQUEST_PIC} ${CMAKE_EXTRA_OPENCL_LOADER_OPTS} - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DCMAKE_INSTALL_PREFIX= - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} - BUILD_BYPRODUCTS /libOpenCL${CMAKE_STATIC_LIBRARY_SUFFIX} - LOG_DOWNLOAD ON - LOG_CONFIGURE ON - LOG_BUILD ON - INSTALL_COMMAND "" - TEST_COMMAND "") - -ExternalProject_Get_Property(opencl_loader SOURCE_DIR) -set(OPENCL_LOADER_INCLUDE_DIR ${SOURCE_DIR}/inc) - -# workaround for CMake 3.10 on ubuntu 18.04 -file(MAKE_DIRECTORY ${OPENCL_LOADER_INCLUDE_DIR}) - -ExternalProject_Get_Property(opencl_loader BINARY_DIR) -set(OPENCL_LOADER_LIBRARY_PATH "${BINARY_DIR}/libOpenCL${CMAKE_STATIC_LIBRARY_SUFFIX}") - -find_package(Threads QUIET) -if(NOT WIN32) - set(OPENCL_LOADER_DEP_LIBS "Threads::Threads;${CMAKE_DL_LIBS}") -else() - set(OPENCL_LOADER_DEP_LIBS "cfgmgr32;runtimeobject") -endif() - -add_library(OpenCL::OpenCL UNKNOWN IMPORTED) -add_dependencies(OpenCL::OpenCL opencl_loader) - -set_target_properties(OpenCL::OpenCL PROPERTIES - IMPORTED_LOCATION ${OPENCL_LOADER_LIBRARY_PATH} - INTERFACE_INCLUDE_DIRECTORIES ${OPENCL_LOADER_INCLUDE_DIR} - INTERFACE_LINK_LIBRARIES "${OPENCL_LOADER_DEP_LIBS}") - +set(BUILD_SHARED_LIBS OFF) +include(ExternalCMakeProject) +ExternalCMakeProject(opencl_loader ${OPENCL_LOADER_URL} ${OPENCL_LOADER_MD5} opencl-loader . "") +add_library(OpenCL::OpenCL ALIAS OpenCL)