Files
cmake/Tests/RunCMake/LinkStatic/STATIC_LIBRARY_FLAGS.cmake
Brad King be4f6451f9 Tests/RunCMake/LinkStatic: Update for Xcode 26.4
`libtool` with Xcode 26.4 no longer fails on a missing object file:

    $ libtool -static -o libfoo.a foo.o missing.o ; echo exit-code=$?
    libtool: warning: file not found 'missing.o'
    exit-code=0

as it did with Xcode 26.3 and below:

    $ libtool -static -o libfoo.a foo.o missing.o ; echo exit-code=$?
    error: libtool: can't open file: missing.o (No such file or directory)
    exit-code=1

Use a bad flag instead.
2026-04-03 08:24:31 -04:00

21 lines
680 B
CMake

enable_language(C)
set(obj "${CMAKE_C_OUTPUT_EXTENSION}")
if(BORLAND)
set(pre -)
elseif(XCODE)
set(pre --badflag=)
endif()
add_library(StaticLinkFlags STATIC LinkOptionsLib.c)
set_property(TARGET StaticLinkFlags PROPERTY STATIC_LIBRARY_FLAGS ${pre}BADFLAG${obj})
# STATIC_LIBRARY_FLAGS_<CONFIG> variant
add_library(StaticLinkFlags_config STATIC LinkOptionsLib.c)
set_property(TARGET StaticLinkFlags_config PROPERTY STATIC_LIBRARY_FLAGS_RELEASE ${pre}BADFLAG_RELEASE${obj})
# shared library do not use property STATIC_LIBRARY_FLAGS
add_library(SharedLinkFlags SHARED LinkOptionsLib.c)
set_property(TARGET SharedLinkFlags PROPERTY STATIC_LIBRARY_FLAGS ${pre}BADFLAG${obj})