diff --git a/CMakeLists.txt b/CMakeLists.txt index b13f35b03..da6d5a181 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,7 @@ find_package(Filesystem REQUIRED) find_package(GTest REQUIRED) find_package(Boost REQUIRED COMPONENTS system program_options) find_package(Wt REQUIRED COMPONENTS Wt Dbo DboSqlite3 HTTP) +find_package(Essentia REQUIRED) pkg_check_modules(Taglib REQUIRED IMPORTED_TARGET taglib) pkg_check_modules(Config++ REQUIRED IMPORTED_TARGET libconfig++) pkg_check_modules(GraphicsMagick++ IMPORTED_TARGET GraphicsMagick++) diff --git a/cmake/modules/FindEssentia.cmake b/cmake/modules/FindEssentia.cmake new file mode 100644 index 000000000..960120d5d --- /dev/null +++ b/cmake/modules/FindEssentia.cmake @@ -0,0 +1,17 @@ +find_package(Eigen3) + +find_path(ESSENTIA_INCLUDES essentia/essentia.h) +find_library(ESSENTIA_LIB libessentia.so) + +add_library(essentia SHARED IMPORTED) +target_link_libraries(essentia INTERFACE Eigen3::Eigen) +target_include_directories(essentia INTERFACE ${ESSENTIA_INCLUDES}) +set_target_properties(essentia + PROPERTIES + IMPORTED_LOCATION ${ESSENTIA_LIB} + INTERFACE_INCLUDE_DIRECTORIES ${ESSENTIA_INCLUDES} + ) + +find_package_handle_standard_args(Essentia + REQUIRED_VARS ESSENTIA_LIB ESSENTIA_INCLUDES + ) diff --git a/src/libs/services/scanner/CMakeLists.txt b/src/libs/services/scanner/CMakeLists.txt index 9aefadd2f..4a1037a1a 100644 --- a/src/libs/services/scanner/CMakeLists.txt +++ b/src/libs/services/scanner/CMakeLists.txt @@ -23,6 +23,7 @@ target_link_libraries(lmsscanner PRIVATE target_link_libraries(lmsscanner PUBLIC std::filesystem Wt::Wt + essentia ) install(TARGETS lmsscanner DESTINATION lib)