Skip to content

Commit

Permalink
[flang] Refine how Clang dependencies are expressed #58663
Browse files Browse the repository at this point in the history
Fixes #58663

Reviewed By: awarzynski

Differential Revision: https://reviews.llvm.org/D140998
  • Loading branch information
Da-Viper authored and banach-space committed Apr 16, 2023
1 parent 70b182e commit cbfa4aa
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 22 deletions.
13 changes: 9 additions & 4 deletions flang/cmake/modules/AddFlang.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,15 @@ macro(add_flang_subdirectory name)
add_llvm_subdirectory(FLANG TOOL ${name})
endmacro()

macro(add_flang_library name)
function(add_flang_library name)
set(options SHARED STATIC INSTALL_WITH_TOOLCHAIN)
set(multiValueArgs ADDITIONAL_HEADERS CLANG_LIBS)
cmake_parse_arguments(ARG
"SHARED;STATIC;INSTALL_WITH_TOOLCHAIN"
"${options}"
""
"ADDITIONAL_HEADERS"
"${multiValueArgs}"
${ARGN})

set(srcs)
if (MSVC_IDE OR XCODE)
# Add public headers
Expand Down Expand Up @@ -63,6 +66,8 @@ macro(add_flang_library name)

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

clang_target_link_libraries(${name} PRIVATE ${ARG_CLANG_LIBS})

if (TARGET ${name})

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

set_target_properties(${name} PROPERTIES FOLDER "Flang libraries")
set_flang_windows_version_resource_properties(${name})
endmacro(add_flang_library)
endfunction(add_flang_library)

macro(add_flang_executable name)
add_llvm_executable(${name} ${ARGN})
Expand Down
10 changes: 1 addition & 9 deletions flang/lib/Frontend/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,16 +51,8 @@ add_flang_library(flangFrontend
TargetParser
FrontendOpenACC
FrontendOpenMP
)

if(CLANG_LINK_CLANG_DYLIB)
add_dependencies(flangFrontend clang-cpp)
else()
add_dependencies(flangFrontend clangBasic)
endif()

clang_target_link_libraries(flangFrontend
PRIVATE
CLANG_LIBS
clangBasic
clangDriver
)
10 changes: 1 addition & 9 deletions flang/lib/FrontendTool/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,8 @@ add_flang_library(flangFrontendTool
LINK_COMPONENTS
Option
Support
)

if(CLANG_LINK_CLANG_DYLIB)
add_dependencies(flangFrontend clang-cpp)
else()
add_dependencies(flangFrontendTool clangBasic)
endif()

clang_target_link_libraries(flangFrontendTool
PRIVATE
CLANG_LIBS
clangBasic
clangDriver
)

0 comments on commit cbfa4aa

Please sign in to comment.