diff options
author | Gunther Nikl <gnikl@users.sourceforge.net> | 2023-01-31 18:19:46 +0100 |
---|---|---|
committer | Cosmin Truta <ctruta@gmail.com> | 2023-01-31 22:25:23 +0200 |
commit | aeb26da4cb64c0e75c8dbc9d59402820e2470667 (patch) | |
tree | c78d3f0c8f438afd6d74626676daad4128cfc260 | |
parent | cd0ea2a7f53b603d3d9b5b891c779c430047b39a (diff) | |
download | libpng-aeb26da4cb64c0e75c8dbc9d59402820e2470667.tar.gz |
cmake: Use CMAKE_SHARED_LIBRARY_C_FLAGS in version script checks
Building the version script test executable may fail in the link step
with GNU ld as linker like this:
ld: final link failed: Nonrepresentable section on output
Building the test excutable with CMAKE_SHARED_LIBRARY_C_FLAGS makes the
test succeed with GNU ld since this adds -fpic/-fPIC.
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
-rw-r--r-- | CMakeLists.txt | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index f7ceb640c..6d4952524 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,6 +21,7 @@ # Revised by Christopher Sean Morrison, 2022 # Revised by Martin Storsjo, 2022 # Revised by Jon Creighton, 2023 +# Revised by Gunther Nikl, 2023 # This code is released under the libpng license. # For conditions of distribution and use, see the disclaimer @@ -243,13 +244,19 @@ VERS_2 { } VERS_1; ") set(CMAKE_REQUIRED_FLAGS_SAVE ${CMAKE_REQUIRED_FLAGS}) - set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} "-Wl,--version-script='${CMAKE_CURRENT_BINARY_DIR}/conftest.map'") + set(CMAKE_REQUIRED_FLAGS + ${CMAKE_REQUIRED_FLAGS} + ${CMAKE_SHARED_LIBRARY_C_FLAGS} + "-Wl,--version-script='${CMAKE_CURRENT_BINARY_DIR}/conftest.map'") check_c_source_compiles("void sym(void) {} void sym2(void) {} int main(void) {return 0;} " HAVE_LD_VERSION_SCRIPT) if(NOT HAVE_LD_VERSION_SCRIPT) - set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_SAVE} "-Wl,-M -Wl,${CMAKE_CURRENT_BINARY_DIR}/conftest.map") + set(CMAKE_REQUIRED_FLAGS + ${CMAKE_REQUIRED_FLAGS_SAVE} + ${CMAKE_SHARED_LIBRARY_C_FLAGS} + "-Wl,-M -Wl,${CMAKE_CURRENT_BINARY_DIR}/conftest.map") check_c_source_compiles("void sym(void) {} void sym2(void) {} int main(void) {return 0;} |