Index: tools/bugpoint/CMakeLists.txt =================================================================== --- tools/bugpoint/CMakeLists.txt +++ tools/bugpoint/CMakeLists.txt @@ -37,8 +37,8 @@ ) export_executable_symbols(bugpoint) -if(WITH_POLLY AND LINK_POLLY_INTO_TOOLS) +if(WITH_POLLY AND LINK_POLLY_INTO_TOOLS AND NOT LLVM_LINK_LLVM_DYLIB) target_link_libraries(bugpoint PRIVATE Polly) # Ensure LLVMTarget can resolve dependences in Polly. target_link_libraries(bugpoint PRIVATE LLVMTarget) -endif(WITH_POLLY AND LINK_POLLY_INTO_TOOLS) +endif() Index: tools/llvm-cfi-verify/lib/CMakeLists.txt =================================================================== --- tools/llvm-cfi-verify/lib/CMakeLists.txt +++ tools/llvm-cfi-verify/lib/CMakeLists.txt @@ -1,13 +1,12 @@ -add_library(LLVMCFIVerify - STATIC +add_llvm_library(LLVMCFIVerify FileAnalysis.cpp FileAnalysis.h GraphBuilder.cpp GraphBuilder.h - ) -llvm_update_compile_flags(LLVMCFIVerify) -llvm_map_components_to_libnames(libs + STATIC + + LINK_COMPONENTS DebugInfoDWARF MC MCParser @@ -15,5 +14,3 @@ Support Symbolize ) -target_link_libraries(LLVMCFIVerify ${libs}) -set_target_properties(LLVMCFIVerify PROPERTIES FOLDER "Libraries") Index: tools/llvm-exegesis/lib/AArch64/CMakeLists.txt =================================================================== --- tools/llvm-exegesis/lib/AArch64/CMakeLists.txt +++ tools/llvm-exegesis/lib/AArch64/CMakeLists.txt @@ -3,16 +3,12 @@ ${LLVM_BINARY_DIR}/lib/Target/AArch64 ) -add_library(LLVMExegesisAArch64 - STATIC +add_llvm_library(LLVMExegesisAArch64 Target.cpp - ) -llvm_update_compile_flags(LLVMExegesisAArch64) -llvm_map_components_to_libnames(libs + STATIC + + LINK_COMPONENTS AArch64 Exegesis ) - -target_link_libraries(LLVMExegesisAArch64 ${libs}) -set_target_properties(LLVMExegesisAArch64 PROPERTIES FOLDER "Libraries") Index: tools/llvm-exegesis/lib/CMakeLists.txt =================================================================== --- tools/llvm-exegesis/lib/CMakeLists.txt +++ tools/llvm-exegesis/lib/CMakeLists.txt @@ -7,8 +7,12 @@ set(LLVM_EXEGESIS_TARGETS "${LLVM_EXEGESIS_TARGETS} AArch64" PARENT_SCOPE) endif() -add_library(LLVMExegesis - STATIC +set(libs) +if(LLVM_ENABLE_LIBPFM AND HAVE_LIBPFM) + list(APPEND libs pfm) +endif() + +add_llvm_library(LLVMExegesis Analysis.cpp Assembler.cpp BenchmarkResult.cpp @@ -21,10 +25,10 @@ RegisterAliasing.cpp Target.cpp Uops.cpp - ) -llvm_update_compile_flags(LLVMExegesis) -llvm_map_components_to_libnames(libs + STATIC + + LINK_COMPONENTS Analysis CodeGen Core @@ -36,11 +40,6 @@ Object ObjectYAML Support - ) -if(LLVM_ENABLE_LIBPFM AND HAVE_LIBPFM) - list(APPEND libs pfm) -endif() - -target_link_libraries(LLVMExegesis ${libs}) -set_target_properties(LLVMExegesis PROPERTIES FOLDER "Libraries") + LINK_LIBS ${libs} + ) Index: tools/llvm-exegesis/lib/X86/CMakeLists.txt =================================================================== --- tools/llvm-exegesis/lib/X86/CMakeLists.txt +++ tools/llvm-exegesis/lib/X86/CMakeLists.txt @@ -3,16 +3,12 @@ ${LLVM_BINARY_DIR}/lib/Target/X86 ) -add_library(LLVMExegesisX86 - STATIC +add_llvm_library(LLVMExegesisX86 Target.cpp - ) -llvm_update_compile_flags(LLVMExegesisX86) -llvm_map_components_to_libnames(libs + STATIC + + LINK_COMPONENTS X86 Exegesis ) - -target_link_libraries(LLVMExegesisX86 ${libs}) -set_target_properties(LLVMExegesisX86 PROPERTIES FOLDER "Libraries") Index: tools/llvm-mca/lib/CMakeLists.txt =================================================================== --- tools/llvm-mca/lib/CMakeLists.txt +++ tools/llvm-mca/lib/CMakeLists.txt @@ -1,7 +1,6 @@ include_directories(${LLVM_MCA_SOURCE_DIR}/include) -add_library(LLVMMCA - STATIC +add_llvm_library(LLVMMCA Context.cpp HWEventListener.cpp HardwareUnits/HardwareUnit.cpp @@ -20,14 +19,11 @@ Stages/RetireStage.cpp Stages/Stage.cpp Support.cpp - ) -llvm_update_compile_flags(LLVMMCA) -llvm_map_components_to_libnames(libs + STATIC + + LINK_COMPONENTS CodeGen MC Support ) - -target_link_libraries(LLVMMCA ${libs}) -set_target_properties(LLVMMCA PROPERTIES FOLDER "Libraries") Index: tools/opt/CMakeLists.txt =================================================================== --- tools/opt/CMakeLists.txt +++ tools/opt/CMakeLists.txt @@ -38,6 +38,6 @@ ) export_executable_symbols(opt) -if(WITH_POLLY AND LINK_POLLY_INTO_TOOLS) +if(WITH_POLLY AND LINK_POLLY_INTO_TOOLS AND NOT LLVM_LINK_LLVM_DYLIB) target_link_libraries(opt PRIVATE Polly) -endif(WITH_POLLY AND LINK_POLLY_INTO_TOOLS) +endif() Index: unittests/Passes/CMakeLists.txt =================================================================== --- unittests/Passes/CMakeLists.txt +++ unittests/Passes/CMakeLists.txt @@ -10,12 +10,17 @@ set(LLVM_LINK_COMPONENTS Support Passes Core) add_llvm_unittest(PluginsTests PluginsTest.cpp + + DEPENDS + TestPlugin ) export_executable_symbols(PluginsTests) -set(LLVM_LINK_COMPONENTS) add_llvm_loadable_module(TestPlugin TestPlugin.cpp + + DEPENDS + intrinsics_gen ) # Put plugin next to the unit test executable. @@ -24,6 +29,3 @@ LIBRARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} ) set_target_properties(TestPlugin PROPERTIES FOLDER "Tests") - -add_dependencies(TestPlugin intrinsics_gen) -add_dependencies(PluginsTests TestPlugin)