CMake/Tests/Dependency/Two/CMakeLists.txt

21 lines
826 B
CMake

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
ADD_LIBRARY( Two TwoSrc.c )
TARGET_LINK_LIBRARIES( Two Three )
# Setup a target to cause failure if Two does not depend on it or if
# Two actually links to it. This will test that a utility dependency
# on a library target works properly.
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/two-test.h
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${CMAKE_CURRENT_SOURCE_DIR}/two-test.h.in
${CMAKE_CURRENT_BINARY_DIR}/two-test.h
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/two-test.h.in
)
ADD_LIBRARY( TwoCustom TwoCustomSrc.c ${CMAKE_CURRENT_BINARY_DIR}/two-test.h)
SET_TARGET_PROPERTIES(TwoCustom PROPERTIES EXCLUDE_FROM_ALL 1)
TARGET_LINK_LIBRARIES(TwoCustom Three)
# Add a utility dependency to make sure it works without linking.
ADD_DEPENDENCIES(Two TwoCustom)