diff options
Diffstat (limited to 'audio/hydrogen/files/patch-cmake_FindHelper.cmake')
-rw-r--r-- | audio/hydrogen/files/patch-cmake_FindHelper.cmake | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/audio/hydrogen/files/patch-cmake_FindHelper.cmake b/audio/hydrogen/files/patch-cmake_FindHelper.cmake new file mode 100644 index 000000000000..23650b916640 --- /dev/null +++ b/audio/hydrogen/files/patch-cmake_FindHelper.cmake @@ -0,0 +1,54 @@ +Sent upstream: https://github.com/hydrogen-music/hydrogen/pull/290 + +cmake: Call find_path and find_library even if pkg-config calls work. + +Instead of calling pkg_check_modules() with the same prefix as the calls +to find_library() and find_path(), pass PC_${prefix} to the former. + +This way, we are able to use the paths that might have been found by +pkg-config as hints to the find_library and find_path calls. Doing so +helps systems where the dependent libraries (libarchive, libsndfile etc) +are not in the default linker path, as the linker is now called with the +libraries' absolute path: + +c++ file1.o file2.o [...] -o hydrogen /usr/lib/libsndfile.so ... + +instead of + +c++ file1.o file2.o [...] -o hydrogen -lsndfile ... + +as the latter requires one to manually pass "-L/usr/local/lib" to CMake +when configuring Hydrogen. + +While here, use HINTS instead of PATHS when calling the find_*() +functions, as CMake's documentation says that "paths computed by system +introspection" should use HINTS, not PATHS, which is for hardcoded +paths. +--- cmake/FindHelper.cmake.orig 2014-09-09 18:39:33 UTC ++++ cmake/FindHelper.cmake +@@ -23,7 +23,7 @@ macro(FIND_HELPER prefix pkg_name header + FIND_PACKAGE(PkgConfig) + endif() + if(PKG_CONFIG_FOUND) +- pkg_check_modules(${prefix} ${pkg_name}) ++ pkg_check_modules(PC_${prefix} ${pkg_name}) + #MESSAGE(STATUS " LDFLAGS ${${prefix}_LDFLAGS}" ) + #MESSAGE(STATUS " CFLAGS ${${prefix}_CFLAGS}" ) + #MESSAGE(STATUS " INCLUDEDIRS ${${prefix}_INCLUDE_DIRS}" ) +@@ -36,12 +36,14 @@ macro(FIND_HELPER prefix pkg_name header + + find_path(${prefix}_INCLUDE_DIR + NAMES ${header} +- PATHS ${${prefix}_INCLUDE_DIRS} ${${prefix}_INCLUDEDIR} ${${prefix}_INCLUDE_PATHS} ENV ${prefix}_INCLUDE ++ HINTS ${PC_${prefix}_INCLUDE_DIRS} ${PC_${prefix}_INCLUDEDIR} ${PC_${prefix}_INCLUDE_PATHS} ++ ENV ${prefix}_INCLUDE + ) + + find_library(${prefix}_LIBRARIES + NAMES ${lib} +- PATHS ${${prefix}_LIBDIR} ${${prefix}_LIBRARY_DIRS} ${${prefix}_LIB_PATHS} ENV ${prefix}_PATH ++ HINTS ${PC_${prefix}_LIBDIR} ${PC_${prefix}_LIBRARY_DIRS} ${PC_${prefix}_LIB_PATHS} ++ ENV ${prefix}_PATH + ) + endif() + |