summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGunther Nikl <gnikl@users.sourceforge.net>2023-01-31 18:19:46 +0100
committerCosmin Truta <ctruta@gmail.com>2023-01-31 22:25:23 +0200
commitaeb26da4cb64c0e75c8dbc9d59402820e2470667 (patch)
treec78d3f0c8f438afd6d74626676daad4128cfc260
parentcd0ea2a7f53b603d3d9b5b891c779c430047b39a (diff)
downloadlibpng-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.txt11
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;}