From: Andres Noetzli Date: Wed, 16 Jan 2019 03:14:06 +0000 (-0800) Subject: CMake: Fix search for static libraries (#2798) X-Git-Tag: cvc5-1.0.0~4285 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3018455b424fc61e140be665a813cb6a8fac6320;p=cvc5.git CMake: Fix search for static libraries (#2798) When configuring CVC4 with `--static`, we change `CMAKE_FIND_LIBRARY_SUFFIXES` to prefer static libraries (`*.a`) over shared ones. However, instead of prepending `.a` to the list of `CMAKE_FIND_LIBRARY_SUFFIXES`, we created a single element with `.a` and the previous list. Output of `message("${CMAKE_FIND_LIBRARY_SUFFIXES}")` before the change: ``` .a .tbd;.dylib;.so;.a ``` After the change: ``` .a;.tbd;.dylib;.so;.a ``` On macOS, both the static and the shared library of GMP are available (when installed via homebrew) and before the change, CMake would pick the shared library when compiling with `--static --no-static-binary`. This commit fixes that issue. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 33e06840e..9af357790 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -225,7 +225,7 @@ if(ENABLE_SHARED) message(WARNING "Disabling static binary since shared build is enabled.") endif() else() - set(CMAKE_FIND_LIBRARY_SUFFIXES ".a ${CMAKE_FIND_LIBRARY_SUFFIXES}") + set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) set(BUILD_SHARED_LIBS OFF) # This is required to force find_package(Boost) to use static libraries. set(Boost_USE_STATIC_LIBS ON)