CMakeLists.txt 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. cmake_minimum_required(VERSION 3.13)
  2. project(Almond VERSION 1.0.0 DESCRIPTION "Fractal Viewer")
  3. set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules)
  4. set(CMAKE_AUTOMOC ON)
  5. set(CMAKE_AUTORCC ON)
  6. set(CMAKE_AUTOUIC ON)
  7. find_package(Qt5 COMPONENTS Core Widgets OpenGL Xml REQUIRED)
  8. find_package(OpenMP)
  9. find_package(OpenGl)
  10. #set(Boost_DEBUG 1)
  11. set(Boost_USE_STATIC_LIBS ON)
  12. find_package(Boost 1.65 REQUIRED)
  13. find_package(FFmpeg COMPONENTS AVCODEC AVDEVICE AVFORMAT AVUTIL SWSCALE REQUIRED)
  14. message( ${FFMPEG_INCLUDE_DIRS})
  15. set(CMAKE_CXX_STANDARD 17)
  16. FILE(GLOB AlmondSources *.cpp)
  17. FILE(GLOB AlmondHeaders *.h)
  18. IF (WIN32)
  19. add_executable(Almond WIN32 ${AlmondSources} Almond.qrc icon.rc)
  20. ELSE()
  21. add_executable(Almond ${AlmondSources} Almond.qrc)
  22. ENDIF()
  23. add_subdirectory(libmandel)
  24. target_include_directories(Almond PUBLIC ${FFMPEG_INCLUDE_DIRS})
  25. target_link_libraries(Almond PUBLIC mandel asmjit qd)
  26. target_link_libraries(Almond PUBLIC Qt5::Core Qt5::Widgets Qt5::OpenGL Qt5::Xml)
  27. target_link_libraries(Almond PUBLIC ${FFMPEG_LIBRARIES})
  28. target_link_libraries(Almond PUBLIC ${OPENGL_LIBRARIES})
  29. if(Boost_FOUND)
  30. target_compile_definitions(Almond PUBLIC WITH_BOOST)
  31. target_include_directories(Almond PUBLIC ${Boost_INCLUDE_DIRS})
  32. #target_link_libraries(Almond PRIVATE ${Boost_LIBRARIES})
  33. endif(Boost_FOUND)
  34. if(OpenMP_CXX_FOUND)
  35. target_link_libraries(mandel PUBLIC OpenMP::OpenMP_CXX)
  36. endif()