- Fix VERSION. - Make plugins that depend upon cairo optional. - Add logic so extra plugins can build without installing base components. --- CMakeLists.txt.orig 2026-06-08 12:51:55 UTC +++ CMakeLists.txt @@ -20,6 +20,8 @@ include(CTest) set(CMAKE_CTEST_ARGUMENTS "--verbose") include(CTest) +option (BUILD_EXTRA_PLUGINS "Build plugins with optional dependencies" ON) + option (WITHOUT_OPENCV "Disable plugins dependent upon OpenCV" OFF) option (WITHOUT_FACERECOGNITION "Disable facedetect plugin to avoid protobuf conflicts" OFF) @@ -54,20 +56,28 @@ INCLUDE( cmake/modules/TargetDistclean.cmake OPTIONAL) # --- custom targets: --- INCLUDE( cmake/modules/TargetDistclean.cmake OPTIONAL) -install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +if (NOT BUILD_EXTRA_PLUGINS) + install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) # For code documentation run: doxygen doc/Doxyfile # add_subdirectory (doc) -add_subdirectory (src) + add_subdirectory (src) +else () + add_subdirectory (src/filter) + add_subdirectory (src/mixer2) +endif () + if (BUILD_TESTING) add_subdirectory (test) endif () -# Generate frei0r.pc and install it. -set (prefix "${CMAKE_INSTALL_PREFIX}") -set (exec_prefix "${CMAKE_INSTALL_PREFIX}") -set (libdir "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") -set (includedir "${CMAKE_INSTALL_PREFIX}/include") -configure_file ("frei0r.pc.in" "frei0r.pc" @ONLY) -install (FILES "${CMAKE_CURRENT_BINARY_DIR}/frei0r.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") +if (NOT BUILD_EXTRA_PLUGINS) + # Generate frei0r.pc and install it. + set (prefix "${CMAKE_INSTALL_PREFIX}") + set (exec_prefix "${CMAKE_INSTALL_PREFIX}") + set (libdir "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") + set (includedir "${CMAKE_INSTALL_PREFIX}/include") + configure_file ("frei0r.pc.in" "frei0r.pc" @ONLY) + install (FILES "${CMAKE_CURRENT_BINARY_DIR}/frei0r.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") +endif()