cmake_minimum_required(VERSION 2.6)
# Configure
set(AMDAPPSDKROOT $ENV{AMDAPPSDKROOT}
CACHE FILEPATH "ATI Stream SDK root path")
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Debug CACHE STRING
"Choose the type of build, options are:
None Debug Release RelWithDebInfo MinSizeRel." FORCE)
endif()
if(TARGET_PLATFORM EQUAL 32)
set(TARGET_PLATFORM "32" CACHE STRING
"Target platform type (32-bit or 64-bit)" FORCE)
set(_arch "x86" INTERNAL)
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
else()
set(TARGET_PLATFORM "64" CACHE STRING
"Target platform type (32-bit or 64-bit)" FORCE)
set(_arch "x86_64" INTERNAL)
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE)
endif()
message(STATUS "Target platform: ${TARGET_PLATFORM}-bit")
# Find OpenCL SDK
find_path(OPENCL_INCLUDE_DIRS CL/cl.h OpenCL/cl.h
HINTS $ENV{AMDAPPSDKROOT}/include ${AMDAPPSDKROOT}/include)
find_library(OPENCL_LIBRARIES OpenCL
HINTS $ENV{AMDAPPSDKROOT}/lib/${_arch} ${AMDAPPSDKROOT}/lib/${_arch})
if(OPENCL_INCLUDE_DIRS AND OPENCL_LIBRARIES)
message(STATUS "Found OpenCL: ${OPENCL_LIBRARIES}")
else()
message(FATAL_ERROR "Cannot find OpenCL SDK")
endif()
mark_as_advanced(OPENCL_INCLUDE_DIRS OPENCL_LIBRARIES)
include_directories(${OPENCL_INCLUDE_DIRS})
# Set the OpenCL library include path depending on target platform
if(TARGET_PLATFORM EQUAL 64)
link_directories(${ATI_STREAM_SDK_ROOT}/lib/x86_64)
else()
link_directories(${ATI_STREAM_SDK_ROOT}/lib/x86)
endif()
# Find AMD APPML SDK
if (NOT APPML_ROOT)
set (APPML_ROOT $ENV{AMDAPPSDKROOT}/../AMD/clAmdBlas)
endif ()
find_path(APPML_INCLUDE_DIRS clAmdBlas.h HINTS ${APPML_ROOT}/includ
find_library(APPML_LIBRARIES clAmdBlas
HINTS ${APPML_ROOT}/lib${TARGET_PLATFORM}/import)
if (APPML_INCLUDE_DIRS AND APPML_LIBRARIES)
message (STATUS "Found APPML BLAS: ${APPML_LIBRARIES}")
else ()
message (FATAL_ERROR "Cannot find APPML BLAS SDK")
endif ()
mark_as_advanced(APPML_INCLUDE_DIRS APPML_LIBRARIES)
include_directories(${APPML_INCLUDE_DIRS})
link_directories(${APPML_ROOT}/lib${TARGET_PLATFORM}/import)