diff options
author | Andres Noetzli <andres.noetzli@gmail.com> | 2020-06-11 18:59:38 -0700 |
---|---|---|
committer | Andres Noetzli <andres.noetzli@gmail.com> | 2020-06-11 18:59:38 -0700 |
commit | aa9de792acc87e72f9b273534ff035f29bbe8caa (patch) | |
tree | 9775f0a9a6dadbe8dbae286749f0bfa2992bbdac | |
parent | ad87bbc615944514fcfcb3689768aab60a9cc9d6 (diff) |
Fix install of static builds
We use `CMAKE_INSTALL_PATH` to set the installation prefix as an RPATH
in the executable. However, for static builds, changing the RPATH fails.
This commit changes our build system to only change the
`CMAKE_INSTALL_PATH` if we are doing a shared library build.
-rw-r--r-- | CMakeLists.txt | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 000d0e50b..66872f61e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -88,19 +88,6 @@ set(RUNTIME_INSTALL_DIR bin) #-----------------------------------------------------------------------------# -# Embed the installation prefix as an RPATH in the executable such that the -# linker can find our libraries (such as libcvc4parser) when executing the cvc4 -# binary. This is for example useful when installing CVC4 with a custom prefix -# on macOS (e.g. when using homebrew in a non-standard directory). If we do not -# set this option, then the linker will not be able to find the required -# libraries when trying to run CVC4. -# -# More information on RPATH in CMake: -# https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/RPATH-handling -set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIBRARY_INSTALL_DIR}") - -#-----------------------------------------------------------------------------# - include(Helpers) #-----------------------------------------------------------------------------# @@ -306,6 +293,17 @@ if(ENABLE_SHARED) set(ENABLE_STATIC_BINARY OFF) message(WARNING "Disabling static binary since shared build is enabled.") endif() + + # Embed the installation prefix as an RPATH in the executable such that the + # linker can find our libraries (such as libcvc4parser) when executing the + # cvc4 binary. This is for example useful when installing CVC4 with a custom + # prefix on macOS (e.g. when using homebrew in a non-standard directory). If + # we do not set this option, then the linker will not be able to find the + # required libraries when trying to run CVC4. + # + # More information on RPATH in CMake: + # https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/RPATH-handling + set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIBRARY_INSTALL_DIR}") else() set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) set(BUILD_SHARED_LIBS OFF) |