CMakeLists.txt 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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 REQUIRED COMPONENTS OpenGL)
  10. set(Boost_USE_STATIC_LIBS ON)
  11. find_package(Boost 1.65 REQUIRED)
  12. find_package(FFmpeg COMPONENTS AVCODEC AVDEVICE AVFORMAT AVUTIL SWSCALE REQUIRED)
  13. message( ${FFMPEG_INCLUDE_DIRS})
  14. set(CMAKE_CXX_STANDARD 17)
  15. FILE(GLOB AlmondSources *.cpp)
  16. FILE(GLOB AlmondHeaders *.h)
  17. IF (WIN32)
  18. add_executable(Almond WIN32 ${AlmondSources} Almond.qrc icon.rc)
  19. ELSE()
  20. add_executable(Almond ${AlmondSources} Almond.qrc)
  21. ENDIF()
  22. add_subdirectory(libmandel)
  23. target_include_directories(Almond PUBLIC ${FFMPEG_INCLUDE_DIRS})
  24. target_link_libraries(Almond PUBLIC mandel asmjit qd)
  25. target_link_libraries(Almond PUBLIC Qt5::Core Qt5::Widgets Qt5::OpenGL Qt5::Xml)
  26. target_link_libraries(Almond PUBLIC ${FFMPEG_LIBRARIES})
  27. target_link_libraries(Almond PUBLIC OpenGL::GL)
  28. if(Boost_FOUND)
  29. target_compile_definitions(Almond PUBLIC WITH_BOOST)
  30. target_include_directories(Almond PUBLIC ${Boost_INCLUDE_DIRS})
  31. #target_link_libraries(Almond PRIVATE ${Boost_LIBRARIES})
  32. endif(Boost_FOUND)
  33. if(OpenMP_CXX_FOUND)
  34. target_link_libraries(Almond PUBLIC OpenMP::OpenMP_CXX)
  35. target_link_libraries(Almond PUBLIC ${OpenMP_CXX_FLAGS})
  36. endif()
  37. set(CPACK_PACKAGE_NAME "Almond")
  38. set(CPACK_PACKAGE_VERSION "1.0.0")
  39. IF (WIN32)
  40. set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "MyPackage Installation Example")
  41. include(CPack)
  42. include(CPackIFW)
  43. cpack_add_component(Almond
  44. DISPLAY_NAME "Almond"
  45. DESCRIPTION "Almond Application")
  46. cpack_ifw_configure_component(Almond)
  47. ELSEIF (UNIX AND NOT APPLE)
  48. install(TARGETS Almond RUNTIME DESTINATION "bin")
  49. set(CPACK_GENERATOR "DEB")
  50. set(CPACK_SOURCE_GENERATOR "DEB")
  51. set(CPACK_COMPONENTS_ALL Almond)
  52. set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Nicolas Winkler")
  53. set(CPACK_DEBIAN_PACKAGE_DEPENDS "qt5-default,libavformat58,libavdevice58,libavfilter7,libavutil56,libswscale5,libgl1,ocl-icd-libopencl1")
  54. set(CPACK_SET_DESTDIR True)
  55. set(CPACK_INSTALL_PREFIX "/usr")
  56. include(CPack)
  57. ENDIF()