CMakeLists.txt 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. cmake_minimum_required(VERSION 3.13)
  2. project(libalmond VERSION 1.0.0 DESCRIPTION "almond functionality")
  3. set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../CMakeModules)
  4. find_package(FFmpeg COMPONENTS AVCODEC AVDEVICE AVFORMAT AVUTIL SWSCALE REQUIRED)
  5. add_subdirectory(../libmandel ./libmandel)
  6. #set(Boost_DEBUG 1)
  7. set(Boost_USE_STATIC_LIBS ON)
  8. find_package(Boost 1.65 REQUIRED)
  9. find_package(PNG)
  10. set(CMAKE_CXX_STANDARD 17)
  11. FILE(GLOB libalmondsources src/*.cpp)
  12. FILE(GLOB libalmondheaders include/*.h)
  13. add_library(libalmond STATIC ${libalmondsources})
  14. target_include_directories(libalmond PUBLIC "include")
  15. target_link_libraries(libalmond PUBLIC mandel)
  16. set_target_properties(libalmond PROPERTIES OUTPUT_NAME almond)
  17. target_include_directories(libalmond SYSTEM PUBLIC ${FFMPEG_INCLUDE_DIRS})
  18. target_link_libraries(libalmond PUBLIC ${FFMPEG_LIBRARIES})
  19. if (PNG_FOUND)
  20. target_include_directories(libalmond SYSTEM PUBLIC ${PNG_INCLUDE_DIRS})
  21. target_link_libraries(libalmond PUBLIC ${PNG_LIBRARIES})
  22. else()
  23. set(PNG_BUILD_ZLIB ON CACHE BOOL "build zlib ourselves")
  24. add_subdirectory(zlib-1.2.11)
  25. set(ZLIB_LIBRARY zlibstatic)
  26. foreach(header ${ZLIB_PUBLIC_HDRS})
  27. get_filename_component(the_incluude ${header} DIRECTORY)
  28. list(APPEND ZLIB_PUB_INCLUDE ${the_incluude})
  29. endforeach()
  30. set(ZLIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/zlib-1.2.11 ${ZLIB_PUB_INCLUDE} )
  31. add_subdirectory(lpng1637)
  32. foreach(header ${libpng_public_hdrs})
  33. get_filename_component(the_incluude ${header} DIRECTORY)
  34. list(APPEND PNG_PUB_INCLUDE ${the_incluude})
  35. endforeach()
  36. target_include_directories(libalmond PRIVATE ${PNG_PUB_INCLUDE})
  37. target_include_directories(libalmond PRIVATE ${ZLIB_INCLUDE_DIR})
  38. target_link_libraries(libalmond PRIVATE png_static)
  39. endif()