diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 56 |
1 files changed, 41 insertions, 15 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 9f529d4b..a24ccb97 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,15 +16,6 @@ endif () CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0) PROJECT(OCL) -set (LIBCL_DRIVER_VERSION_MAJOR 1) -set (LIBCL_DRIVER_VERSION_MINOR 3) -if (ENABLE_OPENCL_20) - set (LIBCL_C_VERSION_MAJOR 2) - set (LIBCL_C_VERSION_MINOR 0) -else (ENABLE_OPENCL_20) - set (LIBCL_C_VERSION_MAJOR 1) - set (LIBCL_C_VERSION_MINOR 2) -endif (ENABLE_OPENCL_20) if( ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") set(COMPILER "CLANG") elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") @@ -32,11 +23,6 @@ elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel") set(COMPILER "ICC") endif() -configure_file ( - "src/OCLConfig.h.in" - "src/OCLConfig.h" -) - set (NOT_BUILD_STAND_ALONE_UTEST 1) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} @@ -241,10 +227,50 @@ ENDIF(OCLIcd_FOUND) Find_Package(PythonInterp) OPTION(EXPERIMENTAL_DOUBLE "Enable experimental double support" OFF) -IF(EXPERIMENTAL_DOUBLE) +IF (EXPERIMENTAL_DOUBLE) ADD_DEFINITIONS(-DENABLE_FP64) ENDIF(EXPERIMENTAL_DOUBLE) +OPTION(ENABLE_OPENCL_20 "Enable opencl 2.0 support" OFF) +IF (ENABLE_OPENCL_20) + Find_Program(LSPCI lspci) + IF (NOT LSPCI) + MESSAGE(FATAL_ERROR "Looking for lspci - not found") + ENDIF (NOT LSPCI) + EXECUTE_PROCESS(COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/GetGenID.sh" + RESULT_VARIABLE SUPPORT_OCL20_DEVICE + OUTPUT_VARIABLE PCI_ID_NOT_USED) + + IF (NOT SUPPORT_OCL20_DEVICE EQUAL 1) + MESSAGE(FATAL_ERROR "Only SKL and newer devices support OpenCL 2.0 now, your device don't support.") + ENDIF (NOT SUPPORT_OCL20_DEVICE EQUAL 1) + + IF (NOT HAVE_DRM_INTEL_BO_SET_SOFTPIN) + MESSAGE(FATAL_ERROR "Please update libdrm to version 2.4.66 or later to enable OpenCL 2.0.") + ENDIF (NOT HAVE_DRM_INTEL_BO_SET_SOFTPIN) + + IF (LLVM_VERSION_NODOT VERSION_LESS 39) + MESSAGE(FATAL_ERROR "Please update LLVM to version 3.9 or later to enable OpenCL 2.0.") + ENDIF (LLVM_VERSION_NODOT VERSION_LESS 39) + + ADD_DEFINITIONS(-DENABLE_OPENCL_20) +ENDIF(ENABLE_OPENCL_20) + +set (LIBCL_DRIVER_VERSION_MAJOR 1) +set (LIBCL_DRIVER_VERSION_MINOR 3) +if (ENABLE_OPENCL_20) + set (LIBCL_C_VERSION_MAJOR 2) + set (LIBCL_C_VERSION_MINOR 0) +else (ENABLE_OPENCL_20) + set (LIBCL_C_VERSION_MAJOR 1) + set (LIBCL_C_VERSION_MINOR 2) +endif (ENABLE_OPENCL_20) +configure_file ( + "src/OCLConfig.h.in" + "src/OCLConfig.h" +) + + OPTION(BUILD_EXAMPLES "Build examples" OFF) IF(BUILD_EXAMPLES) IF(NOT X11_FOUND) |