From a82a5df0442f8d600b6e2e982c83721cd2286400 Mon Sep 17 00:00:00 2001 From: emeric Date: Wed, 18 Nov 2020 09:59:32 +0100 Subject: [PATCH 1/2] Fixed taglib to properly use pkgconfig's variable on link --- CMakeLists.txt | 8 +-- cmake/modules/FindTaglib.cmake | 87 -------------------------------- src/libs/cover/CMakeLists.txt | 4 +- src/libs/metadata/CMakeLists.txt | 2 +- src/libs/utils/CMakeLists.txt | 2 +- 5 files changed, 7 insertions(+), 96 deletions(-) delete mode 100644 cmake/modules/FindTaglib.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 87593d35..2f50dbba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,17 +8,17 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED True) include(CTest) -find_package(PkgConfig REQUIRED) find_package(Filesystem REQUIRED) find_package(FFMPEGAV REQUIRED) -find_package(Taglib REQUIRED) find_package(Boost REQUIRED COMPONENTS system program_options) find_package(PStreams REQUIRED) find_package(Wt REQUIRED COMPONENTS Wt Dbo DboSqlite3 HTTP) find_package(PAM) find_package(STB) -pkg_check_modules(GRAPHICSMAGICKXX GraphicsMagick++) -pkg_check_modules(CONFIG++ REQUIRED IMPORTED_TARGET libconfig++) +find_package(PkgConfig REQUIRED) +pkg_check_modules(Taglib REQUIRED IMPORTED_TARGET taglib) +pkg_check_modules(Config++ REQUIRED IMPORTED_TARGET libconfig++) +pkg_check_modules(GraphicsMagick++ IMPORTED_TARGET GraphicsMagick++) # WT if (NOT Wt_FOUND) diff --git a/cmake/modules/FindTaglib.cmake b/cmake/modules/FindTaglib.cmake deleted file mode 100644 index 7c617918..00000000 --- a/cmake/modules/FindTaglib.cmake +++ /dev/null @@ -1,87 +0,0 @@ -# - Try to find the Taglib library -# Once done this will define -# -# TAGLIB_FOUND - system has the taglib library -# TAGLIB_CFLAGS - the taglib cflags -# TAGLIB_LIBRARIES - The libraries needed to use taglib - -# Copyright (c) 2006, Laurent Montel, -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -IF(TAGLIB_FOUND) - MESSAGE(STATUS "Using manually specified taglib locations") -ELSE() - - if(NOT TAGLIB_MIN_VERSION) - set(TAGLIB_MIN_VERSION "1.6") - endif(NOT TAGLIB_MIN_VERSION) - - if(NOT WIN32) - find_program(TAGLIBCONFIG_EXECUTABLE NAMES taglib-config PATHS - ${BIN_INSTALL_DIR} - ) - endif(NOT WIN32) - - #reset vars - set(TAGLIB_LIBRARIES) - set(TAGLIB_CFLAGS) - -# MESSAGE( STATUS "PATHS: ${PATHS}") - # if taglib-config has been found - if(TAGLIBCONFIG_EXECUTABLE) - - exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_VERSION) - - if(TAGLIB_VERSION VERSION_LESS "${TAGLIB_MIN_VERSION}") - message(STATUS "TagLib version not found: version searched :${TAGLIB_MIN_VERSION}, found ${TAGLIB_VERSION}") - set(TAGLIB_FOUND FALSE) - else(TAGLIB_VERSION VERSION_LESS "${TAGLIB_MIN_VERSION}") - - exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_LIBRARIES) - - exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_CFLAGS) - - if(TAGLIB_LIBRARIES AND TAGLIB_CFLAGS) - set(TAGLIB_FOUND TRUE) -# message(STATUS "Found taglib: ${TAGLIB_LIBRARIES}") - endif(TAGLIB_LIBRARIES AND TAGLIB_CFLAGS) - string(REGEX REPLACE " *-I" ";" TAGLIB_INCLUDES "${TAGLIB_CFLAGS}") - endif(TAGLIB_VERSION VERSION_LESS "${TAGLIB_MIN_VERSION}") - mark_as_advanced(TAGLIB_CFLAGS TAGLIB_LIBRARIES TAGLIB_INCLUDES) - - else(TAGLIBCONFIG_EXECUTABLE) - - include(FindLibraryWithDebug) - include(FindPackageHandleStandardArgs) - - find_path(TAGLIB_INCLUDES - NAMES - tag.h - PATH_SUFFIXES taglib - PATHS - ${INCLUDE_INSTALL_DIR} - ) - - find_library_with_debug(TAGLIB_LIBRARIES - WIN32_DEBUG_POSTFIX d - NAMES tag - PATHS - ${LIB_INSTALL_DIR} - ) - - find_package_handle_standard_args(Taglib DEFAULT_MSG - TAGLIB_INCLUDES TAGLIB_LIBRARIES) - endif(TAGLIBCONFIG_EXECUTABLE) -ENDIF() - -if(TAGLIB_FOUND) - if(NOT Taglib_FIND_QUIETLY AND TAGLIBCONFIG_EXECUTABLE) - message(STATUS "Found TagLib: ${TAGLIB_LIBRARIES}") - endif(NOT Taglib_FIND_QUIETLY AND TAGLIBCONFIG_EXECUTABLE) -else(TAGLIB_FOUND) - if(Taglib_FIND_REQUIRED) - message(FATAL_ERROR "Could not find Taglib") - endif(Taglib_FIND_REQUIRED) -endif(TAGLIB_FOUND) diff --git a/src/libs/cover/CMakeLists.txt b/src/libs/cover/CMakeLists.txt index 8913b5b9..b4643219 100644 --- a/src/libs/cover/CMakeLists.txt +++ b/src/libs/cover/CMakeLists.txt @@ -34,9 +34,7 @@ elseif (IMAGE_LIBRARY STREQUAL GraphicsMagick++) impl/graphicsmagick/RawImage.cpp ) target_compile_options(lmscover PRIVATE "-DLMS_SUPPORT_IMAGE_GM") - target_include_directories(lmscover PRIVATE ${GRAPHICSMAGICKXX_INCLUDE_DIRS}) - target_compile_options(lmscover PRIVATE ${GRAPHICSMAGICKXX_CFLAGS_OTHER}) - target_link_libraries(lmscover PRIVATE ${GRAPHICSMAGICKXX_LINK_LIBRARIES}) + target_link_libraries(lmscover PRIVATE PkgConfig::GraphicsMagick++) else () message(FATAL_ERROR "Invalid IMAGE_LIBRARY provided") endif() diff --git a/src/libs/metadata/CMakeLists.txt b/src/libs/metadata/CMakeLists.txt index 201bfeb4..40b56fc7 100644 --- a/src/libs/metadata/CMakeLists.txt +++ b/src/libs/metadata/CMakeLists.txt @@ -14,7 +14,7 @@ target_include_directories(lmsmetadata PRIVATE target_link_libraries(lmsmetadata PRIVATE lmsav - ${Taglib_LIBRARIES} + PkgConfig::Taglib ) target_link_libraries(lmsmetadata PUBLIC diff --git a/src/libs/utils/CMakeLists.txt b/src/libs/utils/CMakeLists.txt index b9474d47..e78383d5 100644 --- a/src/libs/utils/CMakeLists.txt +++ b/src/libs/utils/CMakeLists.txt @@ -22,7 +22,7 @@ target_include_directories(lmsutils PRIVATE ) target_link_libraries(lmsutils PRIVATE - PkgConfig::CONFIG++ + PkgConfig::Config++ ) target_link_libraries(lmsutils PUBLIC From 6cbdc0ddab9d257ed3d621d6d413f2127fc46d71 Mon Sep 17 00:00:00 2001 From: emeric Date: Wed, 18 Nov 2020 14:01:04 +0100 Subject: [PATCH 2/2] Fixed GraphicsMagick++ build --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f50dbba..1e1d6ff7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,13 +52,13 @@ endif () # IMAGE if (STB_FOUND) set(IMAGE_LIBRARY STB CACHE STRING "STB library") -elseif (GRAPHICSMAGICKXX_FOUND) +elseif (GraphicsMagick++_FOUND) set(IMAGE_LIBRARY GraphicsMagick++ CACHE STRING "GraphicsMagick++") else () message(FATAL_ERROR "Cannot find suitable image library") endif() set_property(CACHE IMAGE_LIBRARY PROPERTY STRINGS GraphicsMagick++ STB) -if (IMAGE_LIBRARY STREQUAL GraphicsMagick++ AND NOT GRAPHICSMAGICKXX_FOUND) +if (IMAGE_LIBRARY STREQUAL GraphicsMagick++ AND NOT GraphicsMagick++_FOUND) message(FATAL_ERROR "GraphicsMagick++ not found") elseif (IMAGE_LIBRARY STREQUAL STB AND NOT STB_FOUND) message(FATAL_ERROR "STB not found")