From: ThorstenB Date: Sat, 1 Dec 2012 09:59:57 +0000 (+0100) Subject: #946: some libraries not found on Ubuntu/Debian X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=99cf0579063441568aaff8842956a56da769721b;p=simgear.git #946: some libraries not found on Ubuntu/Debian Ubuntu/Debian introduced "multiarch" library directories, which is unsupported by CMake <= 2.8.10. Add manual search paths as a workaround. Currently it is only needed for libsvn, but it is needed for any lib which is converted to the new directory standard. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index b34f0174..f8c5097c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,6 +68,32 @@ else(${CMAKE_VERSION} VERSION_GREATER 2.8.4) endif(${CMAKE_VERSION} VERSION_GREATER 2.8.4) message(STATUS "Library installation directory: ${CMAKE_INSTALL_LIBDIR}") +##################################################################################### +# Configure library search paths +##################################################################################### + +if(NOT "${CMAKE_LIBRARY_ARCHITECTURE}" STREQUAL "") + # Workaround for Ubuntu/Debian which introduced the "multiarch" library + # directory structure, which is unsupported by CMake < 2.8.10, so we need to + # add paths manually + # see http://www.cmake.org/Bug/view.php?id=12049 and + # http://www.cmake.org/Bug/view.php?id=12037 + list(APPEND ADDITIONAL_LIBRARY_PATHS + /usr/local/lib/${CMAKE_LIBRARY_ARCHITECTURE} + /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} + /lib/${CMAKE_LIBRARY_ARCHITECTURE}) + message(STATUS "additional library directories: ${ADDITIONAL_LIBRARY_PATHS}") +endif() + +if(NOT MSVC) + # TBD: are these really necessary? Aren't they considered by cmake automatically? + list(APPEND ADDITIONAL_LIBRARY_PATHS + /local + /usr/local + /usr) +endif() +##################################################################################### + if (NOT MSVC) option(SIMGEAR_SHARED "Set to ON to build SimGear as a shared library/framework" OFF) option(SYSTEM_EXPAT "Set to ON to build SimGear using the system libExpat" OFF) diff --git a/CMakeModules/FindSvnClient.cmake b/CMakeModules/FindSvnClient.cmake index b176dc29..c7fa89bb 100644 --- a/CMakeModules/FindSvnClient.cmake +++ b/CMakeModules/FindSvnClient.cmake @@ -29,10 +29,7 @@ endif(APPLE) NAMES ${compLib} HINTS $ENV{LIBSVN_DIR} ${CMAKE_INSTALL_PREFIX} ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/lib PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64 - PATHS - /opt/local - /usr/local - /usr + PATHS ${ADDITIONAL_LIBRARY_PATHS} ) list(APPEND ${libs} ${${compLibName}})