diff options
author | warptangent <warptangent@tutanota.com> | 2016-02-12 11:32:37 -0800 |
---|---|---|
committer | warptangent <warptangent@tutanota.com> | 2016-02-12 14:49:43 -0800 |
commit | 3e72d97ca7d9fa4d130833d84108d08b92e97467 (patch) | |
tree | 37cdba00bac096a7d6821e2238ed234b3a3b2753 | |
parent | Merge pull request #650 (diff) | |
download | monero-3e72d97ca7d9fa4d130833d84108d08b92e97467.tar.xz |
cmake: Fix overly broad use of dynamic link settings
Remove LINK_SEARCH_START_STATIC and LINK_SEARCH_END_STATIC. This is more
appropriate when the compiler flag -static is used.
This had been causing CMake to omit the linker flags necesssary to
distinguish static and dynamic library linking. CMake had assumed static
linking for the target, causing it to omit explicit static link flags.
That is problematic without the -static compile flag being set.
With a library located in system directories, like libboost_date_time,
the full static path (.a), though found correctly by CMake, was treated
by the linker as a dynamic library. This is because
target_link_libraries() transforms the full path to -l<libname> if it's
in a system directory. Without -static or explicit linker flags, the
dynamic library (.so) is linked.
Removing the above two properties removes the assumption of static. So
-Wl;-Bstatic is inserted where needed. This causes -l<libname> to
properly refer to the static library instead of dynamic.
Diffstat (limited to '')
-rw-r--r-- | src/CMakeLists.txt | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 036908f37..0ac4a0aa1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -63,15 +63,6 @@ function (bitmonero_add_executable name) set_property(TARGET "${name}" PROPERTY RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") - - if (STATIC) - set_property(TARGET "${name}" - PROPERTY - LINK_SEARCH_START_STATIC 1) - set_property(TARGET "${name}" - PROPERTY - LINK_SEARCH_END_STATIC 1) - endif () endfunction () function (bitmonero_add_library name) |