Define the implementaiton strings in each implementation header

This commit is contained in:
Tom Deakin 2016-04-28 17:20:40 +01:00
parent 7006871cbe
commit a1cab96c57
4 changed files with 13 additions and 12 deletions

View File

@ -8,24 +8,22 @@ set(gpu-stream_VERSION_MINOR 0)
list(APPEND CMAKE_CXX_FLAGS --std=c++11) list(APPEND CMAKE_CXX_FLAGS --std=c++11)
configure_file(src/common.h.in src/common.h)
find_package(CUDA QUIET) find_package(CUDA QUIET)
if (${CUDA_FOUND}) if (${CUDA_FOUND})
set(IMPLEMENTATION CUDA) cuda_add_executable(cuda.exe src/main.cpp src/CUDAStream.cu)
configure_file(src/common.h.in src/common_cuda.h) target_compile_definitions(cuda.exe PUBLIC CUDA)
cuda_add_executable(cuda.exe src/main.cpp src/CUDAStream.cu)
target_compile_definitions(cuda.exe PUBLIC CUDA)
else (${CUDA_FOUND}) else (${CUDA_FOUND})
message("Skipping CUDA...") message("Skipping CUDA...")
endif (${CUDA_FOUND}) endif (${CUDA_FOUND})
find_package(OpenCL QUIET) find_package(OpenCL QUIET)
if (${OpenCL_FOUND}) if (${OpenCL_FOUND})
set(gpu-stream_IMPLEMENTATION OpenCL) add_executable(ocl.exe src/main.cpp src/OCLStream.cpp)
configure_file(src/common.h.in src/common_ocl.h) target_compile_definitions(ocl.exe PUBLIC OCL)
add_executable(ocl.exe src/main.cpp src/OCLStream.cpp) target_link_libraries(ocl.exe ${OpenCL_LIBRARY})
target_compile_definitions(ocl.exe PUBLIC OCL)
target_link_libraries(ocl.exe ${OpenCL_LIBRARY})
else (${OpenCL_FOUND}) else (${OpenCL_FOUND})
message("Skipping OpenCL...") message("Skipping OpenCL...")
endif (${OpenCL_FOUND}) endif (${OpenCL_FOUND})

View File

@ -4,6 +4,8 @@
#include "Stream.h" #include "Stream.h"
#define IMPLEMENTATION_STRING "CUDA"
template <class T> template <class T>
class CUDAStream : public Stream<T> class CUDAStream : public Stream<T>
{ {

View File

@ -10,6 +10,8 @@
#include "Stream.h" #include "Stream.h"
#define IMPLEMENTATION_STRING "OpenCL"
template <class T> template <class T>
class OCLStream : public Stream<T> class OCLStream : public Stream<T>
{ {

View File

@ -1,4 +1,3 @@
#define VERSION_STRING "@gpu-stream_VERSION_MAJOR@.@gpu-stream_VERSION_MINOR@" #define VERSION_STRING "@gpu-stream_VERSION_MAJOR@.@gpu-stream_VERSION_MINOR@"
#define IMPLEMENTATION_STRING "@gpu-stream_IMPLEMENTATION@"