[CMake] Fix building with -DBUILD_SHARED_LIBS=ON on mingw

Set the right target name in clang/examples/Attribute.

Add a missing dependency in the TableGen GlobalISel sublibrary.

Skip building the Bye pass plugin example on windows; plugins
that should have undefined symbols that are found in the host
process aren't supported on windows - this matches what was done
for a unit test in bc8e442188.
This commit is contained in:
Martin Storsjö
2020-05-11 23:41:08 +03:00
parent d12d05a731
commit 609ef94838
3 changed files with 16 additions and 9 deletions

View File

@@ -1,7 +1,7 @@
add_llvm_library(Attribute MODULE Attribute.cpp PLUGIN_TOOL clang)
if(LLVM_ENABLE_PLUGINS AND (WIN32 OR CYGWIN))
target_link_libraries(AnnotateFunctions ${cmake_2_8_12_PRIVATE}
target_link_libraries(Attribute ${cmake_2_8_12_PRIVATE}
clangAST
clangBasic
clangFrontend

View File

@@ -2,12 +2,18 @@ if(LLVM_BYE_LINK_INTO_TOOLS)
message(WARNING "Setting LLVM_BYE_LINK_INTO_TOOLS=ON only makes sense for testing purpose")
endif()
add_llvm_pass_plugin(Bye
Bye.cpp
DEPENDS
intrinsics_gen
BUILDTREE_ONLY
)
# The plugin expects to not link against the Support and Core libraries,
# but expects them to exist in the process loading the plugin. This doesn't
# work with DLLs on Windows (where a shared library can't have undefined
# references), so just skip this testcase on Windows.
if (NOT WIN32)
add_llvm_pass_plugin(Bye
Bye.cpp
DEPENDS
intrinsics_gen
BUILDTREE_ONLY
)
install(TARGETS ${name} RUNTIME DESTINATION examples)
set_target_properties(${name} PROPERTIES FOLDER "Examples")
install(TARGETS ${name} RUNTIME DESTINATION examples)
set_target_properties(${name} PROPERTIES FOLDER "Examples")
endif()

View File

@@ -1,5 +1,6 @@
set(LLVM_LINK_COMPONENTS
Support
TableGen
)
llvm_add_library(LLVMTableGenGlobalISel STATIC DISABLE_LLVM_LINK_LLVM_DYLIB