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