Files
CMake/Tests/RunCMake/TargetObjects/Unity.cmake
Brad King 5b8e9e068f Restore support for TARGET_OBJECTS in link interfaces with unity builds
This was broken by commit df08c37a42 (cmGlobalGenerator: Add unity/pch
sources after computing compile features, 2024-02-02, v3.28.3~1^2~1^2),
and 3.28.2's commit 76b5383123 (cmGlobalGenerator: add unity sources
after computing target compile features, 2024-01-01, v3.28.2~17^2~1).

The problem is very similar to that fixed by commit 4e8f24e977 (PCH:
Clear link interface cache when adding PCH object to it, 2022-01-24,
v3.23.0-rc1~44^2~9).  Generalize that fix.

Fixes: #25696
2024-02-21 17:08:57 -05:00

14 lines
425 B
CMake

enable_language(C)
# Test transforming the set of object files provided by an object library.
set(CMAKE_UNITY_BUILD 1)
add_library(UnityObj1 OBJECT UnityObj1.c)
add_library(UnityObj2 OBJECT UnityObj2.c)
add_library(UnityObj2Iface INTERFACE)
target_link_libraries(UnityObj2Iface INTERFACE $<TARGET_OBJECTS:UnityObj2>)
add_executable(UnityMain UnityMain.c)
target_link_libraries(UnityMain PRIVATE UnityObj1 UnityObj2Iface)