Commit e307aec7 authored by Joseph Noir's avatar Joseph Noir

Added find_package for opencl to cmake.

parent 9fa37e50
...@@ -158,12 +158,6 @@ set(LIBCPPA_SRC ...@@ -158,12 +158,6 @@ set(LIBCPPA_SRC
src/weak_ptr_anchor.cpp src/weak_ptr_anchor.cpp
src/yield_interface.cpp) src/yield_interface.cpp)
if (ENABLE_OPENCL)
set(LIBCPPA_SRC
${LIBCPPA_SRC}
src/opencl/command_dispatcher.cpp)
endif ()
if (BOOST_ROOT) if (BOOST_ROOT)
# Prevent falling back to system paths when using a custom Boost prefix. # Prevent falling back to system paths when using a custom Boost prefix.
set(Boost_NO_SYSTEM_PATHS true) set(Boost_NO_SYSTEM_PATHS true)
...@@ -175,6 +169,15 @@ set(INCLUDE_DIRS . ${PTHREAD_INCLUDE_DIR}) ...@@ -175,6 +169,15 @@ set(INCLUDE_DIRS . ${PTHREAD_INCLUDE_DIR})
set(LD_DIRS) set(LD_DIRS)
set(LD_FLAGS ${CMAKE_LD_LIBS} ${PTHREAD_LIBRARIES}) set(LD_FLAGS ${CMAKE_LD_LIBS} ${PTHREAD_LIBRARIES})
if (ENABLE_OPENCL)
find_package(OPENCL REQUIRED)
set(LD_FLAGS ${LD_FLAGS} ${OPENCL_LIBRARIES})
set(INCLUDE_DIRS ${INCLUDE_DIRS} ${OPENCL_INCLUDE_DIR})
set(LIBCPPA_SRC
${LIBCPPA_SRC}
src/opencl/command_dispatcher.cpp)
endif (ENABLE_OPENCL)
if (DISABLE_CONTEXT_SWITCHING) if (DISABLE_CONTEXT_SWITCHING)
# explicitly disabled # explicitly disabled
else (DISABLE_CONTEXT_SWITCHING) else (DISABLE_CONTEXT_SWITCHING)
...@@ -341,6 +344,7 @@ macro (invertYesNo in out) ...@@ -341,6 +344,7 @@ macro (invertYesNo in out)
endmacro () endmacro ()
toYesNo(ENABLE_DEBUG DEBUG_MODE_STR) toYesNo(ENABLE_DEBUG DEBUG_MODE_STR)
toYesNo(ENABLE_OPENCL BUILD_OPENCL_STR)
invertYesNo(CPPA_NO_EXAMPLES BUILD_EXAMPLES) invertYesNo(CPPA_NO_EXAMPLES BUILD_EXAMPLES)
invertYesNo(CPPA_NO_UNIT_TESTS BUILD_UNIT_TESTS) invertYesNo(CPPA_NO_UNIT_TESTS BUILD_UNIT_TESTS)
...@@ -368,6 +372,7 @@ message("\n====================| Build Summary |====================" ...@@ -368,6 +372,7 @@ message("\n====================| Build Summary |===================="
"\nBuild unit tests: ${BUILD_UNIT_TESTS}" "\nBuild unit tests: ${BUILD_UNIT_TESTS}"
"\nBuild static: ${CPPA_BUILD_STATIC}" "\nBuild static: ${CPPA_BUILD_STATIC}"
"\nBulid static only: ${CPPA_BUILD_STATIC_ONLY}" "\nBulid static only: ${CPPA_BUILD_STATIC_ONLY}"
"\nBuild OpenCL: ${BUILD_OPENCL_STR}"
"\n" "\n"
"\nCXX: ${CMAKE_CXX_COMPILER}" "\nCXX: ${CMAKE_CXX_COMPILER}"
"\nCXXFLAGS: ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${build_type}}" "\nCXXFLAGS: ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${build_type}}"
......
# - Try to find OpenCL
# Once done this will define
#
# OPENCL_FOUND - system has OpenCL
# OPENCL_INCLUDE_DIR - the OpenCL include directory
# OPENCL_LIBRARIES - link these to use OpenCL
#
# WIN32 should work, but is untested
IF (WIN32)
FIND_PATH(OPENCL_INCLUDE_DIR CL/cl.h )
# TODO this is only a hack assuming the 64 bit library will
# not be found on 32 bit system
FIND_LIBRARY(OPENCL_LIBRARIES opencl ) #used to say opencl64
IF( OPENCL_LIBRARIES )
FIND_LIBRARY(OPENCL_LIBRARIES opencl ) #used to say opencl32
ENDIF( OPENCL_LIBRARIES )
ELSE (WIN32)
# Unix style platforms
# We also search for OpenCL in the NVIDIA GPU SDK default location
#SET(OPENCL_INCLUDE_DIR "$ENV{OPENCL_HOME}/common/inc"
# CACHE PATH "path to Opencl Include files")
#message(***** OPENCL_INCLUDE_DIR: "${OPENCL_INCLUDE_DIR}" ********)
# does not work. WHY?
#SET(inc $ENV{CUDA_LOCAL}/../OpenCL/common/inc /usr/include)
#FIND_PATH(OPENCL_INCLUDE_DIR CL/cl.h PATHS ${inc} /usr/include )
message("lib path: $ENV{LD_LIBRARY_PATH}")
#FIND_LIBRARY(OPENCL_LIBRARIES OpenCL $ENV{LD_LIBRARY_PATH})
FIND_LIBRARY(OPENCL_LIBRARIES OpenCL ENV LD_LIBRARY_PATH)
message("==============")
message("opencl_libraries: ${OPENCL_LIBRARIES}")
#message(***** OPENCL ENV: "$ENV{GPU_SDK}" ********)
#~/NVIDIA_GPU_Computing_SDK/OpenCL/common/inc/
ENDIF (WIN32)
SET( OPENCL_FOUND "NO" )
IF(OPENCL_LIBRARIES )
SET( OPENCL_FOUND "YES" )
ENDIF(OPENCL_LIBRARIES)
MARK_AS_ADVANCED(
OPENCL_INCLUDE_DIR
)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment