123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- cmake_minimum_required(VERSION 3.13)
- project(libalmond VERSION 1.0.0 DESCRIPTION "almond functionality")
- option(LIBALMOND_LIBJPEG "use libjpeg to export jpeg images" ON)
- option(LIBALMOND_LIBPNG "use libpng to export png images" ON)
- set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../CMakeModules)
- find_package(FFmpeg COMPONENTS AVCODEC AVDEVICE AVFORMAT AVUTIL SWSCALE REQUIRED)
- add_subdirectory(../libmandel ./libmandel)
- #set(Boost_DEBUG 1)
- set(Boost_USE_STATIC_LIBS ON)
- find_package(Boost 1.65 REQUIRED)
- find_package(OpenMP)
- find_package(PNG)
- find_package (JPEG)
- set(CMAKE_CXX_STANDARD 17)
- FILE(GLOB libalmondsources src/*.cpp)
- FILE(GLOB libalmondheaders include/*.h)
- list(APPEND libalmondsources tinyxml2/tinyxml2.cpp)
- list(APPEND libalmondheaders tinyxml2/tinyxml2.h)
- add_library(libalmond STATIC ${libalmondsources})
- target_include_directories(libalmond PUBLIC "include" "tinyxml2")
- target_link_libraries(libalmond PUBLIC mandel)
- set_target_properties(libalmond PROPERTIES OUTPUT_NAME almond)
- target_include_directories(libalmond SYSTEM PUBLIC ${FFMPEG_INCLUDE_DIRS})
- target_link_libraries(libalmond PUBLIC ${FFMPEG_LIBRARIES})
- if (PNG_FOUND AND LIBALMOND_LIBPNG)
- target_link_libraries(libalmond PUBLIC PNG::PNG)
- target_compile_definitions(libalmond PUBLIC WITH_LIBPNG)
- #elseif(LIBALMOND_LIBPNG)
- # set(PNG_BUILD_ZLIB ON CACHE BOOL "build zlib ourselves")
- # add_subdirectory(zlib-1.2.11)
- # set(ZLIB_LIBRARY zlibstatic)
- # foreach(header ${ZLIB_PUBLIC_HDRS})
- # get_filename_component(the_incluude ${header} DIRECTORY)
- # list(APPEND ZLIB_PUB_INCLUDE ${the_incluude})
- # endforeach()
- # set(ZLIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/zlib-1.2.11 ${ZLIB_PUB_INCLUDE} )
- #
- # set(SKIP_INSTALL_ALL ON)
- # add_subdirectory(lpng1637)
- # foreach(header ${libpng_public_hdrs})
- # get_filename_component(the_incluude ${header} DIRECTORY)
- # list(APPEND PNG_PUB_INCLUDE ${the_incluude})
- # endforeach()
- # #target_link_libraries(png_static PRIVATE zlibstatic)
- # target_include_directories(libalmond PRIVATE ${PNG_PUB_INCLUDE})
- # target_include_directories(libalmond PRIVATE ${ZLIB_INCLUDE_DIR})
- # target_link_libraries(libalmond PRIVATE png_static)
- # target_compile_definitions(libalmond PUBLIC WITH_LIBPNG)
- endif()
- if (JPEG_FOUND AND LIBALMOND_LIBJPEG)
- target_link_libraries(libalmond PUBLIC JPEG::JPEG)
- target_compile_definitions(libalmond PUBLIC WITH_LIBJPEG)
- endif()
- if(OpenMP_CXX_FOUND)
- target_link_libraries(libalmond PUBLIC OpenMP::OpenMP_CXX)
- endif()
|