diff --git a/modules/find/FindInit.cmake b/modules/find/FindInit.cmake index 8a7acc597b512a8046c2ebef526e1c3d3652ac46..e59d41a077848029e04065d5f46bba57bcf0277d 100644 --- a/modules/find/FindInit.cmake +++ b/modules/find/FindInit.cmake @@ -35,6 +35,7 @@ include(FindHeadersAndLibs) # To transform relative path into absolute for a list of libraries include(LibrariesAbsolutePath) +include(FindPkgconfigLibrariesAbsolutePath) # Some macros to print status when search for headers and libs include(PrintFindStatus) diff --git a/modules/find/LibrariesAbsolutePath.cmake b/modules/find/LibrariesAbsolutePath.cmake index 93f7b3519b1bc55a4b1fd2d57e4fb6056f265563..eb59c112c729a24e7119b78beeb0db7b682dd3db 100644 --- a/modules/find/LibrariesAbsolutePath.cmake +++ b/modules/find/LibrariesAbsolutePath.cmake @@ -63,78 +63,6 @@ macro(LIBRARIES_ABSOLUTE_PATH lib_list hints_paths) endforeach() endmacro() -# Transform relative path into absolute path for libraries found with the -# pkg_search_module cmake macro -# _prefix: the name of the CMake variable used when pkg_search_module was called -# e.g. for pkg_search_module(BLAS blas) _prefix would be BLAS -macro(FIND_PKGCONFIG_LIBRARIES_ABSOLUTE_PATH _prefix) - if(WIN32) - string(REPLACE ":" ";" _lib_env "$ENV{LIB}") - elseif(APPLE) - string(REPLACE ":" ";" _lib_env "$ENV{DYLD_LIBRARY_PATH}") - else() - string(REPLACE ":" ";" _lib_env "$ENV{LD_LIBRARY_PATH}") - endif() - list(APPEND _lib_env "${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}") - # non static case - set(${_prefix}_LIBRARIES_COPY "${${_prefix}_LIBRARIES}") - set(${_prefix}_LIBRARIES "") - foreach(_library ${${_prefix}_LIBRARIES_COPY}) - if(EXISTS "${_library}") - list(APPEND ${_prefix}_LIBRARIES ${_library}) - else() - get_filename_component(_ext "${_library}" EXT) - set(_lib_extensions ".so" ".a" ".dyld" ".dll") - list(FIND _lib_extensions "${_ext}" _index) - if (${_index} GREATER -1) - get_filename_component(_library "${_library}" NAME_WE) - endif() - find_library(_library_path NAMES ${_library} - HINTS ${${_prefix}_LIBDIR} ${${_prefix}_LIBRARY_DIRS} ${_lib_env}) - if (_library_path) - list(APPEND ${_prefix}_LIBRARIES ${_library_path}) - else() - message(FATAL_ERROR "Dependency of ${_prefix} '${_library}' NOT FOUND") - endif() - unset(_library_path CACHE) - endif() - endforeach() - set (${_prefix}_LIBRARIES "${${_prefix}_LIBRARIES}" CACHE INTERNAL "" FORCE) - # static case - set(${_prefix}_STATIC_LIBRARIES_COPY "${${_prefix}_STATIC_LIBRARIES}") - set(${_prefix}_STATIC_LIBRARIES "") - foreach(_library ${${_prefix}_STATIC_LIBRARIES_COPY}) - if(EXISTS "${_library}") - list(APPEND ${_prefix}_STATIC_LIBRARIES ${_library}) - else() - get_filename_component(_ext "${_library}" EXT) - set(_lib_extensions ".so" ".a" ".dyld" ".dll") - list(FIND _lib_extensions "${_ext}" _index) - if (${_index} GREATER -1) - get_filename_component(_library "${_library}" NAME_WE) - endif() - # try static first - set (default_find_library_suffixes ${CMAKE_FIND_LIBRARY_SUFFIXES}) - set (CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX}) - find_library(_library_path NAMES ${_library} - HINTS ${${_prefix}_STATIC_LIBDIR} ${${_prefix}_STATIC_LIBRARY_DIRS} ${_lib_env}) - set (CMAKE_FIND_LIBRARY_SUFFIXES ${default_find_library_suffixes}) - # if not found try dynamic - if (NOT _library_path) - find_library(_library_path NAMES ${_library} - HINTS ${${_prefix}_STATIC_LIBDIR} ${${_prefix}_STATIC_LIBRARY_DIRS} ${_lib_env}) - endif() - if (_library_path) - list(APPEND ${_prefix}_STATIC_LIBRARIES ${_library_path}) - else() - message(FATAL_ERROR "Dependency of ${_prefix} '${_library}' NOT FOUND") - endif() - unset(_library_path CACHE) - endif() - endforeach() - set (${_prefix}_STATIC_LIBRARIES "${${_prefix}_STATIC_LIBRARIES}" CACHE INTERNAL "" FORCE) -endmacro() - ## ## @end file LibrariesAbsolutePath.cmake ##