Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit cbfa4aa

Browse files
da-viperbanach-space
authored andcommitted
[flang] Refine how Clang dependencies are expressed #58663
Fixes #58663 Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D140998
1 parent 70b182e commit cbfa4aa

3 files changed

Lines changed: 11 additions & 22 deletions

File tree

flang/cmake/modules/AddFlang.cmake

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,15 @@ macro(add_flang_subdirectory name)
1616
add_llvm_subdirectory(FLANG TOOL ${name})
1717
endmacro()
1818

19-
macro(add_flang_library name)
19+
function(add_flang_library name)
20+
set(options SHARED STATIC INSTALL_WITH_TOOLCHAIN)
21+
set(multiValueArgs ADDITIONAL_HEADERS CLANG_LIBS)
2022
cmake_parse_arguments(ARG
21-
"SHARED;STATIC;INSTALL_WITH_TOOLCHAIN"
23+
"${options}"
2224
""
23-
"ADDITIONAL_HEADERS"
25+
"${multiValueArgs}"
2426
${ARGN})
27+
2528
set(srcs)
2629
if (MSVC_IDE OR XCODE)
2730
# Add public headers
@@ -63,6 +66,8 @@ macro(add_flang_library name)
6366

6467
llvm_add_library(${name} ${LIBTYPE} ${ARG_UNPARSED_ARGUMENTS} ${srcs})
6568

69+
clang_target_link_libraries(${name} PRIVATE ${ARG_CLANG_LIBS})
70+
6671
if (TARGET ${name})
6772

6873
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "libflang"
@@ -91,7 +96,7 @@ macro(add_flang_library name)
9196

9297
set_target_properties(${name} PROPERTIES FOLDER "Flang libraries")
9398
set_flang_windows_version_resource_properties(${name})
94-
endmacro(add_flang_library)
99+
endfunction(add_flang_library)
95100

96101
macro(add_flang_executable name)
97102
add_llvm_executable(${name} ${ARGN})

flang/lib/Frontend/CMakeLists.txt

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,8 @@ add_flang_library(flangFrontend
5151
TargetParser
5252
FrontendOpenACC
5353
FrontendOpenMP
54-
)
55-
56-
if(CLANG_LINK_CLANG_DYLIB)
57-
add_dependencies(flangFrontend clang-cpp)
58-
else()
59-
add_dependencies(flangFrontend clangBasic)
60-
endif()
6154

62-
clang_target_link_libraries(flangFrontend
63-
PRIVATE
55+
CLANG_LIBS
6456
clangBasic
6557
clangDriver
6658
)

flang/lib/FrontendTool/CMakeLists.txt

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,8 @@ add_flang_library(flangFrontendTool
1313
LINK_COMPONENTS
1414
Option
1515
Support
16-
)
17-
18-
if(CLANG_LINK_CLANG_DYLIB)
19-
add_dependencies(flangFrontend clang-cpp)
20-
else()
21-
add_dependencies(flangFrontendTool clangBasic)
22-
endif()
2316

24-
clang_target_link_libraries(flangFrontendTool
25-
PRIVATE
17+
CLANG_LIBS
2618
clangBasic
2719
clangDriver
2820
)

0 commit comments

Comments
 (0)