CMakeLists.txt 916 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. cmake_minimum_required(VERSION 3.9)
  2. project(mandel VERSION 1.0.0 DESCRIPTION "library for mandelbrot calculations")
  3. find_package(OpenCL REQUIRED)
  4. find_package(OpenMP)
  5. FILE(GLOB MandelSources src/*.cpp
  6. FILE(GLOB MandelHeaders include/*.h))
  7. include_directories(
  8. "include"
  9. )
  10. if (MSVC)
  11. set_source_files_properties(src/CpuGeneratorsAVX.cpp PROPERTIES COMPILE_FLAGS /arch:AVX)
  12. else()
  13. set_source_files_properties(src/CpuGeneratorsAVX.cpp PROPERTIES COMPILE_FLAGS -mavx)
  14. endif(MSVC)
  15. if (MSVC)
  16. set_source_files_properties(src/CpuGeneratorsAVX.cpp PROPERTIES COMPILE_FLAGS /arch:SSE2)
  17. else()
  18. set_source_files_properties(src/CpuGeneratorsAVX.cpp PROPERTIES COMPILE_FLAGS -msse2)
  19. endif(MSVC)
  20. add_library(mandel STATIC ${MandelSources})
  21. if(OpenMP_CXX_FOUND)
  22. target_link_libraries(mandel PUBLIC OpenCL::OpenCL OpenMP::OpenMP_CXX)
  23. else()
  24. target_link_libraries(mandel OpenCL::OpenCL)
  25. endif()