blob: 87ab50722e5a6ab3f13c849f42b202f1c53786d6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
project(CASE4 C)
IF(CMAKE_ANSI_CFLAGS)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_ANSI_CFLAGS}")
ENDIF(CMAKE_ANSI_CFLAGS)
# This is not really a circular dependency. "case4Bar" refers to a
# third-party library that happens to match the executable name, which
# is okay when the executable is not a linkable target (ENABLE_EXPORTS
# is not set). This tests whether CMake avoids incorrectly reporting
# a circular dependency. In practice case4Foo may be a shared
# library, but we skip that here because we do not want it to actually
# have to find the third-party library.
add_library(case4Foo STATIC foo.c)
target_link_libraries(case4Foo case4Bar)
# The executable avoids linking to a library with its own name, which
# has been a CMake-ism for a long time, so we will not get a link
# failure. An imported target or executable with an OUTPUT_NAME set
# may be used if the user really wants to link a third-party library
# into an executable of the same name.
add_executable(case4Bar bar.c)
target_link_libraries(case4Bar case4Foo)
|