1 cmake_minimum_required (VERSION 2.6)
3 project (OPENCL_ICD_LOADER)
5 set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
6 set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
8 set (OPENCL_ICD_LOADER_SOURCES icd.c icd_dispatch.c)
10 if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
11 list (APPEND OPENCL_ICD_LOADER_SOURCES icd_linux.c icd_exports.map)
13 list (APPEND OPENCL_ICD_LOADER_SOURCES icd_windows.c OpenCL.def)
14 include_directories ($ENV{DXSDK_DIR}/Include)
17 # Change this to point to a directory containing OpenCL header directory "CL"
18 # OR copy OpenCL headers to ./inc/CL/
19 if (NOT DEFINED OPENCL_INCLUDE_DIRS)
20 set (OPENCL_INCLUDE_DIRS ./inc)
23 include_directories (${OPENCL_INCLUDE_DIRS})
25 add_library (OpenCL SHARED ${OPENCL_ICD_LOADER_SOURCES})
26 set_target_properties (OpenCL PROPERTIES VERSION "1.2" SOVERSION "1")
28 if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
29 set_target_properties (OpenCL PROPERTIES LINK_FLAGS "-pthread -Wl,--version-script -Wl,${CMAKE_CURRENT_SOURCE_DIR}/icd_exports.map")
32 target_link_libraries (OpenCL ${CMAKE_DL_LIBS})
35 add_subdirectory (test)