File tree 2 files changed +13
-3
lines changed
2 files changed +13
-3
lines changed Original file line number Diff line number Diff line change @@ -39,7 +39,12 @@ VERS_2 {
39
39
} VERS_1;
40
40
" )
41
41
set (CMAKE_REQUIRED_FLAGS_SAVE ${CMAKE_REQUIRED_FLAGS} )
42
- set (CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} "-Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR} /conftest.map" )
42
+ if (CMAKE_VERSION GREATER_EQUAL 3.29 AND CMAKE_C_COMPILER_LINKER_ID STREQUAL "LLD" AND CMAKE_C_COMPILER_LINKER_VERSION GREATER_EQUAL 17)
43
+ set (CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} -Wl,--undefined-version "-Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR} /conftest.map" )
44
+ else ()
45
+ set (CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} "-Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR} /conftest.map" )
46
+ endif ()
47
+
43
48
check_c_source_compiles("int main(void){return 0;}" HAVE_LD_VERSION_SCRIPT)
44
49
set (CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_SAVE} )
45
50
file (REMOVE "${CMAKE_CURRENT_BINARY_DIR} /conftest.map" )
Original file line number Diff line number Diff line change @@ -201,8 +201,13 @@ if(NOT CYGWIN)
201
201
set_target_properties (tiff PROPERTIES VERSION ${SO_VERSION} )
202
202
endif ()
203
203
if (HAVE_LD_VERSION_SCRIPT)
204
- set_target_properties (tiff PROPERTIES LINK_FLAGS
205
- "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR} /libtiff.map" )
204
+ if (CMAKE_VERSION GREATER_EQUAL 3.29 AND CMAKE_C_COMPILER_LINKER_ID STREQUAL "LLD" AND CMAKE_C_COMPILER_LINKER_VERSION GREATER_EQUAL 17)
205
+ set_target_properties (tiff PROPERTIES LINK_FLAGS
206
+ "-Wl,--undefined-version -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR} /libtiff.map" )
207
+ else ()
208
+ set_target_properties (tiff PROPERTIES LINK_FLAGS
209
+ "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR} /libtiff.map" )
210
+ endif ()
206
211
endif ()
207
212
208
213
if (tiff-install )
You can’t perform that action at this time.
0 commit comments