Allow building ICD loader as a CMake subproject.
[platform/upstream/OpenCL-ICD-Loader.git] / CMakeLists.txt
1 cmake_minimum_required (VERSION 2.6)
2
3 project (OPENCL_ICD_LOADER)
4
5 set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
6 set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
7
8 set (OPENCL_ICD_LOADER_SOURCES icd.c icd_dispatch.c)
9
10 if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
11     list (APPEND OPENCL_ICD_LOADER_SOURCES icd_linux.c icd_exports.map)
12 else ()
13     list (APPEND OPENCL_ICD_LOADER_SOURCES icd_windows.c OpenCL.def)
14     include_directories ($ENV{DXSDK_DIR}/Include)
15 endif ()
16
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)
21 endif ()
22
23 include_directories (${OPENCL_INCLUDE_DIRS})
24
25 add_library (OpenCL SHARED ${OPENCL_ICD_LOADER_SOURCES})
26 set_target_properties (OpenCL PROPERTIES VERSION "1.2" SOVERSION "1")
27
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")
30 endif ()
31
32 target_link_libraries (OpenCL ${CMAKE_DL_LIBS})
33
34 enable_testing()
35 add_subdirectory (test)