CMakeLists.txt 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. cmake_minimum_required(VERSION 3.13)
  2. project(mandelvid VERSION 1.0.0 DESCRIPTION "mandel video generator")
  3. set(ARCH "X86_64" CACHE STRING "Target Architecture")
  4. set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../CMakeModules)
  5. find_package(FFmpeg COMPONENTS AVCODEC AVDEVICE AVFORMAT AVUTIL SWSCALE REQUIRED)
  6. add_subdirectory(../libmandel ./libmandel)
  7. find_package(OpenCL)
  8. find_package(OpenMP)
  9. #set(Boost_DEBUG 1)
  10. set(Boost_USE_STATIC_LIBS ON)
  11. find_package(Boost 1.65 REQUIRED)
  12. set(CMAKE_CXX_STANDARD 17)
  13. FILE(GLOB mvidsources src/*.cpp)
  14. FILE(GLOB mvidheaders include/*.h)
  15. add_executable(mvg ${mvidsources})
  16. target_include_directories(mvg PUBLIC "include")
  17. target_include_directories(mvg SYSTEM PUBLIC ${FFMPEG_INCLUDE_DIRS})
  18. target_link_libraries(mvg PUBLIC mandel)
  19. target_link_libraries(mvg PUBLIC qd)
  20. target_link_libraries(mvg PUBLIC ${FFMPEG_LIBRARIES})
  21. include(CheckIPOSupported)
  22. check_ipo_supported(RESULT LTO_SUPPORTED)
  23. if (LTO_SUPPORTED AND WITH_LTO)
  24. message("Enabling link-time optimization.")
  25. set_property(TARGET mvg PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
  26. endif()
  27. #if(OPENCL_FOUND)
  28. # target_compile_definitions(mvg PUBLIC WITH_OPENCL)
  29. # target_include_directories(mvg PUBLIC
  30. # "include"
  31. # ${OpenCL_INCLUDE_DIRS}
  32. # )
  33. # link_directories(${OpenCL_LIBRARY})
  34. #else(OPENCL_FOUND)
  35. # include_directories("include")
  36. #endif(OPENCL_FOUND)
  37. #
  38. #if (APPLE AND OpenCL_FOUND)
  39. # SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -framework OpenCL")
  40. #endif()
  41. #
  42. # target_compile_definitions(mandel PUBLIC WITH_BOOST)
  43. #if(Boost_FOUND)
  44. # target_compile_definitions(mandel PUBLIC WITH_BOOST)
  45. # target_include_directories(mandel PRIVATE ${Boost_INCLUDE_DIRS})
  46. # target_link_libraries(mandel PRIVATE ${Boost_LIBRARIES})
  47. #endif(Boost_FOUND)
  48. #
  49. #if(OpenMP_CXX_FOUND)
  50. # target_link_libraries(mandel PUBLIC OpenMP::OpenMP_CXX)
  51. #endif()
  52. #if(OpenCL_FOUND)
  53. # target_link_libraries(mandel PUBLIC OpenCL::OpenCL)
  54. #endif()