|
@@ -1,6 +1,6 @@
|
|
cmake_minimum_required(VERSION 3.9)
|
|
cmake_minimum_required(VERSION 3.9)
|
|
|
|
|
|
-
|
|
|
|
|
|
+set(CMAKE_CXX_STANDARD 17)
|
|
project(mandel VERSION 1.0.0 DESCRIPTION "library for mandelbrot calculations")
|
|
project(mandel VERSION 1.0.0 DESCRIPTION "library for mandelbrot calculations")
|
|
|
|
|
|
find_package(OpenCL REQUIRED)
|
|
find_package(OpenCL REQUIRED)
|
|
@@ -13,7 +13,13 @@ FILE(GLOB MandelHeaders include/*.h))
|
|
|
|
|
|
include_directories(
|
|
include_directories(
|
|
"include"
|
|
"include"
|
|
|
|
+ ${OpenCL_INCLUDE_DIRS}
|
|
)
|
|
)
|
|
|
|
+link_directories(${OpenCL_LIBRARY})
|
|
|
|
+
|
|
|
|
+if (APPLE)
|
|
|
|
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -framework OpenCL")
|
|
|
|
+endif()
|
|
|
|
|
|
if (MSVC)
|
|
if (MSVC)
|
|
set_source_files_properties(src/CpuGeneratorsAVX.cpp PROPERTIES COMPILE_FLAGS /arch:AVX)
|
|
set_source_files_properties(src/CpuGeneratorsAVX.cpp PROPERTIES COMPILE_FLAGS /arch:AVX)
|
|
@@ -23,9 +29,9 @@ endif(MSVC)
|
|
|
|
|
|
|
|
|
|
if (MSVC)
|
|
if (MSVC)
|
|
- set_source_files_properties(src/CpuGeneratorsAVX.cpp PROPERTIES COMPILE_FLAGS /arch:SSE2)
|
|
|
|
|
|
+ set_source_files_properties(src/CpuGeneratorsSSE2.cpp PROPERTIES COMPILE_FLAGS /arch:SSE2)
|
|
else()
|
|
else()
|
|
- set_source_files_properties(src/CpuGeneratorsAVX.cpp PROPERTIES COMPILE_FLAGS -msse2)
|
|
|
|
|
|
+ set_source_files_properties(src/CpuGeneratorsSSE2.cpp PROPERTIES COMPILE_FLAGS -msse2)
|
|
endif(MSVC)
|
|
endif(MSVC)
|
|
|
|
|
|
add_library(mandel STATIC ${MandelSources})
|
|
add_library(mandel STATIC ${MandelSources})
|
|
@@ -35,4 +41,4 @@ if(OpenMP_CXX_FOUND)
|
|
target_link_libraries(mandel PUBLIC OpenCL::OpenCL OpenMP::OpenMP_CXX)
|
|
target_link_libraries(mandel PUBLIC OpenCL::OpenCL OpenMP::OpenMP_CXX)
|
|
else()
|
|
else()
|
|
target_link_libraries(mandel OpenCL::OpenCL)
|
|
target_link_libraries(mandel OpenCL::OpenCL)
|
|
-endif()
|
|
|
|
|
|
+endif()
|