Files
rocm-systems/opencl/CMakeLists.txt
T

85 lines
3.0 KiB
CMake

cmake_minimum_required(VERSION 3.4.3)
if (POLICY CMP0048)
cmake_policy(SET CMP0048 NEW)
set(PROJ_VERSION VERSION 1.5.0)
endif()
project(opencl)
#example command:
#cmake -DVDI_DIR=/home/pghafari/git-vdi/opencl -DUSE_COMGR_LIBRARY=yes -DCMAKE_PREFIX_PATH="/home/pghafari/rocmgitvdi/support/lib/comgr;/home/pghafari/rocmgitvdi/support/lib/comgr/build;" -DLLVM_INCLUDES=/home/pghafari/rocmgit/llvm-project/llvm/include -DLIBVDI_STATIC_DIR=/home/pghafari/git-vdi/opencl/build -DCMAKE_MODULE_PATH=/home/pghafari/rocmgit/opencl/cmake/modules ..
set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/khronos/headers/opencl2.2" CACHE PATH "")
set(BUILD_SHARED_LIBS "Build shared libs" ON)
add_subdirectory(khronos/icd)
add_subdirectory(amdocl)
add_subdirectory(tools/clinfo)
###--- Packaging ------------------------------------------------------------###
# MAIN package
install(PROGRAMS $<TARGET_FILE:clinfo>
DESTINATION bin/x86_64
COMPONENT MAIN)
install(PROGRAMS $<TARGET_FILE:amdocl64>
DESTINATION lib/x86_64
COMPONENT MAIN)
install(PROGRAMS $<TARGET_FILE:OpenCL>
DESTINATION lib/x86_64
COMPONENT MAIN)
install(PROGRAMS $<TARGET_SONAME_FILE:OpenCL>
DESTINATION lib/x86_64
COMPONENT MAIN)
# DEV package
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/khronos/headers/opencl2.2/CL"
DESTINATION include
COMPONENT DEV
USE_SOURCE_PERMISSIONS
PATTERN cl_d3d10.h EXCLUDE
PATTERN cl_d3d11.h EXCLUDE
PATTERN cl_dx9_media_sharing.h EXCLUDE
PATTERN cl_egl.h EXCLUDE)
install(PROGRAMS $<TARGET_LINKER_FILE:OpenCL>
DESTINATION lib/x86_64
COMPONENT DEV)
# Generic CPACK variables
set(CPACK_GENERATOR "DEB;RPM" CACHE STRING "Default packaging generators")
set(CPACK_PACKAGE_CONTACT "Advanced Micro Devices Inc.")
set(CPACK_PACKAGE_VENDOR "AMD")
set(CPACK_PACKAGING_INSTALL_PREFIX "/opt/rocm/opencl")
set(CPACK_PACKAGE_VERSION_MAJOR "1")
set(CPACK_PACKAGE_VERSION_MINOR "2")
set(CPACK_PACKAGE_VERSION_PATCH "0")
# Debian CPACK variables
set(CPACK_DEB_COMPONENT_INSTALL ON)
set(CPACK_DEBIAN_MAIN_FILE_NAME "rocm-opencl-1.2.0.deb")
set(CPACK_DEBIAN_MAIN_PACKAGE_NAME "rocm-opencl")
set(CPACK_DEBIAN_MAIN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/DEB/postinst;${CMAKE_CURRENT_SOURCE_DIR}/DEB/prerm")
set(CPACK_DEBIAN_DEV_FILE_NAME "rocm-opencl-dev-1.2.0.deb")
set(CPACK_DEBIAN_DEV_PACKAGE_NAME "rocm-opencl-dev")
set(CPACK_DEBIAN_DEV_PACKAGE_DEPENDS "rocm-opencl")
# RPM CPACK variables
set(CPACK_RPM_COMPONENT_INSTALL ON)
set(CPACK_RPM_MAIN_FILE_NAME "rocm-opencl-1.2.0.rpm")
set(CPACK_RPM_MAIN_PACKAGE_NAME "rocm-opencl")
set(CPACK_RPM_MAIN_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_post")
set(CPACK_RPM_MAIN_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_postun")
set(CPACK_RPM_DEV_FILE_NAME "rocm-opencl-devel-1.2.0.rpm")
set(CPACK_RPM_DEV_PACKAGE_NAME "rocm-opencl-devel")
set(CPACK_RPM_DEV_PACKAGE_DEPENDS "rocm-opencl")
set(CPACK_COMPONENTS_ALL MAIN DEV)
include(CPack)