cmake_minimum_required(VERSION 3.9) project(mandelvid VERSION 1.0.0 DESCRIPTION "mandel video generator") set(ARCH "X86_64" CACHE STRING "Target Architecture") find_package(PkgConfig) pkg_check_modules(LIBAVCODEC REQUIRED libavcodec) pkg_check_modules(LIBAVUTIL REQUIRED libavutil) pkg_check_modules(LIBAVFORMAT REQUIRED libavformat) pkg_check_modules(LIBSWSCALE REQUIRED libswscale) add_subdirectory(../libmandel ./libmandel) find_package(OpenCL) find_package(OpenMP) #set(Boost_DEBUG 1) set(Boost_USE_STATIC_LIBS ON) find_package(Boost 1.53) set(CMAKE_CXX_STANDARD 17) FILE(GLOB mvidsources src/*.cpp) FILE(GLOB mvidheaders include/*.h) add_executable(mvg ${mvidsources}) target_include_directories(mvg PUBLIC "include") target_include_directories(mvg PUBLIC ${LIBAVCODEC_INCLUDE_DIRS}) target_include_directories(mvg PUBLIC ${LIBAVUTIL_INCLUDE_DIRS}) target_include_directories(mvg PUBLIC ${LIBAVFORMAT_INCLUDE_DIRS}) target_include_directories(mvg PUBLIC ${LIBSWSCALE_INCLUDE_DIRS}) target_link_libraries(mvg PUBLIC mandel) target_link_libraries(mvg PUBLIC qd) target_link_libraries(mvg PUBLIC ${LIBAVCODEC_LIBRARIES}) target_link_libraries(mvg PUBLIC ${LIBAVUTIL_LIBRARIES}) target_link_libraries(mvg PUBLIC ${LIBAVFORMAT_LIBRARIES}) target_link_libraries(mvg PUBLIC ${LIBSWSCALE_LIBRARIES}) include(CheckIPOSupported) check_ipo_supported(RESULT LTO_SUPPORTED) if (LTO_SUPPORTED AND WITH_LTO) message("Enabling link-time optimization.") set_property(TARGET mvg PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE) endif() #if(OPENCL_FOUND) # target_compile_definitions(mvg PUBLIC WITH_OPENCL) # target_include_directories(mvg PUBLIC # "include" # ${OpenCL_INCLUDE_DIRS} # ) # link_directories(${OpenCL_LIBRARY}) #else(OPENCL_FOUND) # include_directories("include") #endif(OPENCL_FOUND) # #if (APPLE AND OpenCL_FOUND) # SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -framework OpenCL") #endif() # # target_compile_definitions(mandel PUBLIC WITH_BOOST) #if(Boost_FOUND) # target_compile_definitions(mandel PUBLIC WITH_BOOST) # target_include_directories(mandel PRIVATE ${Boost_INCLUDE_DIRS}) # target_link_libraries(mandel PRIVATE ${Boost_LIBRARIES}) #endif(Boost_FOUND) # #if(OpenMP_CXX_FOUND) # target_link_libraries(mandel PUBLIC OpenMP::OpenMP_CXX) #endif() #if(OpenCL_FOUND) # target_link_libraries(mandel PUBLIC OpenCL::OpenCL) #endif()