llvm.org GIT mirror llvm / ac03e73
Rewrite the CMake build to use explicit dependencies between libraries, specified in the same file that the library itself is created. This is more idiomatic for CMake builds, and also allows us to correctly specify dependencies that are missed due to bugs in the GenLibDeps perl script, or change from compiler to compiler. On Linux, this returns CMake to a place where it can relably rebuild several targets of LLVM. I have tried not to change the dependencies from the ones in the current auto-generated file. The only places I've really diverged are in places where I was seeing link failures, and added a dependency. The goal of this patch is not to start changing the dependencies, merely to move them into the correct location, and an explicit form that we can control and change when necessary. This also removes a serialization point in the build because we don't have to scan all the libraries before we begin building various tools. We no longer have a step of the build that regenerates a file inside the source tree. A few other associated cleanups fall out of this. This isn't really finished yet though. After talking to dgregor he urged switching to a single CMake macro to construct libraries with both sources and dependencies in the arguments. Migrating from the two macros to that style will be a follow-up patch. Also, llvm-config is still generated with GenLibDeps.pl, which means it still has slightly buggy dependencies. The internal CMake 'llvm-config-like' macro uses the correct explicitly specified dependencies however. A future patch will switch llvm-config generation (when using CMake) to be based on these deps as well. This may well break Windows. I'm getting a machine set up now to dig into any failures there. If anyone can chime in with problems they see or ideas of how to solve them for Windows, much appreciated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136433 91177308-0d34-0410-b5e6-96231b3b80d8 Chandler Carruth 8 years ago
87 changed file(s) with 675 addition(s) and 150 deletion(s). Raw diff Collapse all Expand all
3333 set_target_properties(${name} PROPERTIES FOLDER "Libraries")
3434 endmacro(add_llvm_library name)
3535
36 macro(add_llvm_library_dependencies name)
37 # Save the dependencies of the LLVM library in a variable so that we can
38 # query it when resolve llvm-config-style component -> library mappings.
39 set(LLVM_LIB_DEPS_${name} ${ARGN})
40
41 # Then add the actual dependencies to the library target.
42 target_link_libraries(${name} ${ARGN})
43 endmacro(add_llvm_library_dependencies name)
3644
3745 macro(add_llvm_loadable_module name)
3846 if( NOT LLVM_ON_UNIX OR CYGWIN )
1616 ${llvm_cmake_builddir}/LLVMConfig.cmake
1717 ${llvm_cmake_builddir}/LLVMConfigVersion.cmake
1818 LLVM-Config.cmake
19 LLVMLibDeps.cmake
2019 DESTINATION share/llvm/cmake)
2120
2221 install(DIRECTORY .
2625 PATTERN LLVMConfig.cmake EXCLUDE
2726 PATTERN LLVMConfigVersion.cmake EXCLUDE
2827 PATTERN LLVM-Config.cmake EXCLUDE
29 PATTERN LLVMLibDeps.cmake EXCLUDE
3028 PATTERN FindBison.cmake EXCLUDE
3129 PATTERN GetTargetTriple.cmake EXCLUDE
3230 PATTERN VersionFromVCS.cmake EXCLUDE
151151 set(processed)
152152 while( cursor LESS lst_size )
153153 list(GET expanded_components ${cursor} lib)
154 list(APPEND expanded_components ${MSVC_LIB_DEPS_${lib}})
154 list(APPEND expanded_components ${LLVM_LIB_DEPS_${lib}})
155155 # Remove duplicates at the front:
156156 list(REVERSE expanded_components)
157157 list(REMOVE_DUPLICATES expanded_components)
174174 endforeach(c)
175175 set(${out_libs} ${result} PARENT_SCOPE)
176176 endfunction(explicit_map_components_to_libraries)
177
178
179 # The library dependency data is contained in the file
180 # LLVMLibDeps.cmake on this directory. It is automatically generated
181 # by tools/llvm-config/CMakeLists.txt when the build comprises all the
182 # targets and we are on a environment Posix enough to build the
183 # llvm-config script. This, in practice, just excludes MSVC.
184
185 # When you remove or rename a library from the build, be sure to
186 # remove its file from lib/ as well, or the GenLibDeps.pl script will
187 # include it on its analysis!
188
189 # The format generated by GenLibDeps.pl
190
191 # LLVMARMAsmPrinter.o: LLVMARMCodeGen.o libLLVMAsmPrinter.a libLLVMCodeGen.a libLLVMCore.a libLLVMSupport.a libLLVMTarget.a
192
193 # is translated to:
194
195 # set(MSVC_LIB_DEPS_LLVMARMAsmPrinter LLVMARMCodeGen LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMSupport LLVMTarget)
196
197 # It is necessary to remove the `lib' prefix and the `.a'.
198
199 # This 'sed' script should do the trick:
200 # sed -e s'#\.a##g' -e 's#libLLVM#LLVM#g' -e 's#: # #' -e 's#\(.*\)#set(MSVC_LIB_DEPS_\1)#' ~/llvm/tools/llvm-config/LibDeps.txt
201
202 include(LLVMLibDeps)
+0
-83
cmake/modules/LLVMLibDeps.cmake less more
None set(MSVC_LIB_DEPS_LLVMARMAsmParser LLVMARMDesc LLVMARMInfo LLVMMC LLVMMCParser LLVMSupport)
1 set(MSVC_LIB_DEPS_LLVMARMAsmPrinter LLVMMC LLVMSupport)
2 set(MSVC_LIB_DEPS_LLVMARMCodeGen LLVMARMAsmPrinter LLVMARMDesc LLVMARMInfo LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget)
3 set(MSVC_LIB_DEPS_LLVMARMDesc LLVMARMInfo LLVMMC LLVMSupport)
4 set(MSVC_LIB_DEPS_LLVMARMDisassembler LLVMARMDesc LLVMARMInfo LLVMMC LLVMSupport)
5 set(MSVC_LIB_DEPS_LLVMARMInfo LLVMMC LLVMSupport LLVMTarget)
6 set(MSVC_LIB_DEPS_LLVMAlphaCodeGen LLVMAlphaDesc LLVMAlphaInfo LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget)
7 set(MSVC_LIB_DEPS_LLVMAlphaDesc LLVMAlphaInfo LLVMMC)
8 set(MSVC_LIB_DEPS_LLVMAlphaInfo LLVMMC LLVMSupport LLVMTarget)
9 set(MSVC_LIB_DEPS_LLVMAnalysis LLVMCore LLVMSupport LLVMTarget)
10 set(MSVC_LIB_DEPS_LLVMArchive LLVMBitReader LLVMCore LLVMSupport)
11 set(MSVC_LIB_DEPS_LLVMAsmParser LLVMCore LLVMSupport)
12 set(MSVC_LIB_DEPS_LLVMAsmPrinter LLVMAnalysis LLVMCodeGen LLVMCore LLVMMC LLVMMCParser LLVMSupport LLVMTarget)
13 set(MSVC_LIB_DEPS_LLVMBitReader LLVMCore LLVMSupport)
14 set(MSVC_LIB_DEPS_LLVMBitWriter LLVMCore LLVMSupport)
15 set(MSVC_LIB_DEPS_LLVMBlackfinCodeGen LLVMAsmPrinter LLVMBlackfinDesc LLVMBlackfinInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget)
16 set(MSVC_LIB_DEPS_LLVMBlackfinDesc LLVMBlackfinInfo LLVMMC)
17 set(MSVC_LIB_DEPS_LLVMBlackfinInfo LLVMMC LLVMSupport LLVMTarget)
18 set(MSVC_LIB_DEPS_LLVMCBackend LLVMAnalysis LLVMCBackendInfo LLVMCodeGen LLVMCore LLVMMC LLVMScalarOpts LLVMSupport LLVMTarget LLVMTransformUtils)
19 set(MSVC_LIB_DEPS_LLVMCBackendInfo LLVMMC LLVMSupport LLVMTarget)
20 set(MSVC_LIB_DEPS_LLVMCellSPUCodeGen LLVMAsmPrinter LLVMCellSPUDesc LLVMCellSPUInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget)
21 set(MSVC_LIB_DEPS_LLVMCellSPUDesc LLVMCellSPUInfo LLVMMC)
22 set(MSVC_LIB_DEPS_LLVMCellSPUInfo LLVMMC LLVMSupport LLVMTarget)
23 set(MSVC_LIB_DEPS_LLVMCodeGen LLVMAnalysis LLVMCore LLVMMC LLVMScalarOpts LLVMSupport LLVMTarget LLVMTransformUtils)
24 set(MSVC_LIB_DEPS_LLVMCore LLVMSupport)
25 set(MSVC_LIB_DEPS_LLVMCppBackend LLVMCore LLVMCppBackendInfo LLVMSupport LLVMTarget)
26 set(MSVC_LIB_DEPS_LLVMCppBackendInfo LLVMMC LLVMTarget)
27 set(MSVC_LIB_DEPS_LLVMExecutionEngine LLVMCore LLVMMC LLVMSupport LLVMTarget)
28 set(MSVC_LIB_DEPS_LLVMInstCombine LLVMAnalysis LLVMCore LLVMSupport LLVMTarget LLVMTransformUtils)
29 set(MSVC_LIB_DEPS_LLVMInstrumentation LLVMAnalysis LLVMCore LLVMSupport LLVMTransformUtils)
30 set(MSVC_LIB_DEPS_LLVMInterpreter LLVMCodeGen LLVMCore LLVMExecutionEngine LLVMSupport LLVMTarget)
31 set(MSVC_LIB_DEPS_LLVMJIT LLVMCodeGen LLVMCore LLVMExecutionEngine LLVMMC LLVMSupport LLVMTarget)
32 set(MSVC_LIB_DEPS_LLVMLinker LLVMArchive LLVMBitReader LLVMCore LLVMSupport LLVMTransformUtils)
33 set(MSVC_LIB_DEPS_LLVMMBlazeAsmParser LLVMMBlazeInfo LLVMMC LLVMMCParser LLVMSupport)
34 set(MSVC_LIB_DEPS_LLVMMBlazeAsmPrinter LLVMMC LLVMSupport)
35 set(MSVC_LIB_DEPS_LLVMMBlazeCodeGen LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMBlazeAsmPrinter LLVMMBlazeDesc LLVMMBlazeInfo LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget)
36 set(MSVC_LIB_DEPS_LLVMMBlazeDesc LLVMMBlazeInfo LLVMMC LLVMSupport)
37 set(MSVC_LIB_DEPS_LLVMMBlazeDisassembler LLVMMBlazeDesc LLVMMBlazeInfo LLVMMC LLVMSupport)
38 set(MSVC_LIB_DEPS_LLVMMBlazeInfo LLVMMC LLVMSupport LLVMTarget)
39 set(MSVC_LIB_DEPS_LLVMMC LLVMSupport)
40 set(MSVC_LIB_DEPS_LLVMMCDisassembler LLVMARMAsmParser LLVMARMDesc LLVMARMDisassembler LLVMARMInfo LLVMAlphaDesc LLVMAlphaInfo LLVMBlackfinDesc LLVMBlackfinInfo LLVMCBackendInfo LLVMCellSPUDesc LLVMCellSPUInfo LLVMCppBackendInfo LLVMMBlazeAsmParser LLVMMBlazeDesc LLVMMBlazeDisassembler LLVMMBlazeInfo LLVMMC LLVMMCParser LLVMMSP430Desc LLVMMSP430Info LLVMMipsDesc LLVMMipsInfo LLVMPTXDesc LLVMPTXInfo LLVMPowerPCDesc LLVMPowerPCInfo LLVMSparcDesc LLVMSparcInfo LLVMSupport LLVMSystemZDesc LLVMSystemZInfo LLVMTarget LLVMX86AsmParser LLVMX86Desc LLVMX86Disassembler LLVMX86Info LLVMXCoreDesc LLVMXCoreInfo)
41 set(MSVC_LIB_DEPS_LLVMMCJIT LLVMCore LLVMExecutionEngine LLVMRuntimeDyld LLVMSupport LLVMTarget)
42 set(MSVC_LIB_DEPS_LLVMMCParser LLVMMC LLVMSupport)
43 set(MSVC_LIB_DEPS_LLVMMSP430AsmPrinter LLVMMC LLVMSupport)
44 set(MSVC_LIB_DEPS_LLVMMSP430CodeGen LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMMSP430AsmPrinter LLVMMSP430Desc LLVMMSP430Info LLVMSelectionDAG LLVMSupport LLVMTarget)
45 set(MSVC_LIB_DEPS_LLVMMSP430Desc LLVMMC LLVMMSP430Info)
46 set(MSVC_LIB_DEPS_LLVMMSP430Info LLVMMC LLVMSupport LLVMTarget)
47 set(MSVC_LIB_DEPS_LLVMMipsAsmPrinter LLVMMC LLVMSupport)
48 set(MSVC_LIB_DEPS_LLVMMipsCodeGen LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMMipsAsmPrinter LLVMMipsDesc LLVMMipsInfo LLVMSelectionDAG LLVMSupport LLVMTarget)
49 set(MSVC_LIB_DEPS_LLVMMipsDesc LLVMMC LLVMMipsInfo LLVMSupport)
50 set(MSVC_LIB_DEPS_LLVMMipsInfo LLVMMC LLVMSupport LLVMTarget)
51 set(MSVC_LIB_DEPS_LLVMObject LLVMSupport)
52 set(MSVC_LIB_DEPS_LLVMPTXCodeGen LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMPTXDesc LLVMPTXInfo LLVMSelectionDAG LLVMSupport LLVMTarget)
53 set(MSVC_LIB_DEPS_LLVMPTXDesc LLVMMC LLVMPTXInfo LLVMSupport)
54 set(MSVC_LIB_DEPS_LLVMPTXInfo LLVMMC LLVMSupport LLVMTarget)
55 set(MSVC_LIB_DEPS_LLVMPowerPCAsmPrinter LLVMMC LLVMSupport)
56 set(MSVC_LIB_DEPS_LLVMPowerPCCodeGen LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMPowerPCAsmPrinter LLVMPowerPCDesc LLVMPowerPCInfo LLVMSelectionDAG LLVMSupport LLVMTarget)
57 set(MSVC_LIB_DEPS_LLVMPowerPCDesc LLVMMC LLVMPowerPCInfo LLVMSupport)
58 set(MSVC_LIB_DEPS_LLVMPowerPCInfo LLVMMC LLVMSupport LLVMTarget)
59 set(MSVC_LIB_DEPS_LLVMRuntimeDyld LLVMObject LLVMSupport)
60 set(MSVC_LIB_DEPS_LLVMScalarOpts LLVMAnalysis LLVMCore LLVMInstCombine LLVMSupport LLVMTarget LLVMTransformUtils)
61 set(MSVC_LIB_DEPS_LLVMSelectionDAG LLVMAnalysis LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget LLVMTransformUtils)
62 set(MSVC_LIB_DEPS_LLVMSparcCodeGen LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSparcDesc LLVMSparcInfo LLVMSupport LLVMTarget)
63 set(MSVC_LIB_DEPS_LLVMSparcDesc LLVMMC LLVMSparcInfo LLVMSupport)
64 set(MSVC_LIB_DEPS_LLVMSparcInfo LLVMMC LLVMSupport LLVMTarget)
65 set(MSVC_LIB_DEPS_LLVMSupport )
66 set(MSVC_LIB_DEPS_LLVMSystemZCodeGen LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystemZDesc LLVMSystemZInfo LLVMTarget)
67 set(MSVC_LIB_DEPS_LLVMSystemZDesc LLVMMC LLVMSystemZInfo)
68 set(MSVC_LIB_DEPS_LLVMSystemZInfo LLVMMC LLVMSupport LLVMTarget)
69 set(MSVC_LIB_DEPS_LLVMTarget LLVMCore LLVMMC LLVMSupport)
70 set(MSVC_LIB_DEPS_LLVMTransformUtils LLVMAnalysis LLVMCore LLVMSupport LLVMTarget LLVMipa)
71 set(MSVC_LIB_DEPS_LLVMX86AsmParser LLVMMC LLVMMCParser LLVMSupport LLVMX86Desc LLVMX86Info)
72 set(MSVC_LIB_DEPS_LLVMX86AsmPrinter LLVMMC LLVMSupport LLVMX86Utils)
73 set(MSVC_LIB_DEPS_LLVMX86CodeGen LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget LLVMX86AsmPrinter LLVMX86Desc LLVMX86Info LLVMX86Utils)
74 set(MSVC_LIB_DEPS_LLVMX86Desc LLVMMC LLVMSupport LLVMX86AsmPrinter LLVMX86Info)
75 set(MSVC_LIB_DEPS_LLVMX86Disassembler LLVMMC LLVMSupport LLVMX86Info)
76 set(MSVC_LIB_DEPS_LLVMX86Info LLVMMC LLVMSupport LLVMTarget)
77 set(MSVC_LIB_DEPS_LLVMX86Utils LLVMCore LLVMSupport)
78 set(MSVC_LIB_DEPS_LLVMXCoreCodeGen LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget LLVMXCoreDesc LLVMXCoreInfo)
79 set(MSVC_LIB_DEPS_LLVMXCoreDesc LLVMMC LLVMXCoreInfo)
80 set(MSVC_LIB_DEPS_LLVMXCoreInfo LLVMMC LLVMSupport LLVMTarget)
81 set(MSVC_LIB_DEPS_LLVMipa LLVMAnalysis LLVMCore LLVMSupport)
82 set(MSVC_LIB_DEPS_LLVMipo LLVMAnalysis LLVMCore LLVMScalarOpts LLVMSupport LLVMTarget LLVMTransformUtils LLVMipa)
5757 ValueTracking.cpp
5858 )
5959
60 add_llvm_library_dependencies(LLVMAnalysis
61 LLVMCore
62 LLVMSupport
63 LLVMTarget
64 )
65
6066 add_subdirectory(IPA)
44 GlobalsModRef.cpp
55 IPA.cpp
66 )
7
8 add_llvm_library_dependencies(LLVMipa
9 LLVMAnalysis
10 LLVMCore
11 LLVMSupport
12 )
22 ArchiveReader.cpp
33 ArchiveWriter.cpp
44 )
5
6 add_llvm_library_dependencies(LLVMArchive
7 LLVMBitReader
8 LLVMCore
9 LLVMSupport
10 )
33 LLParser.cpp
44 Parser.cpp
55 )
6
7 add_llvm_library_dependencies(LLVMAsmParser
8 LLVMCore
9 LLVMSupport
10 )
11 BitReader.cpp
22 BitcodeReader.cpp
33 )
4
5 add_llvm_library_dependencies(LLVMBitReader
6 LLVMCore
7 LLVMSupport
8 )
33 BitcodeWriterPass.cpp
44 ValueEnumerator.cpp
55 )
6
7 add_llvm_library_dependencies(LLVMBitWriter
8 LLVMCore
9 LLVMSupport
10 )
1111 Win64Exception.cpp
1212 )
1313
14 add_llvm_library_dependencies(LLVMAsmPrinter
15 LLVMAnalysis
16 LLVMCodeGen
17 LLVMCore
18 LLVMMC
19 LLVMMCParser
20 LLVMSupport
21 LLVMTarget
22 )
9696 VirtRegRewriter.cpp
9797 )
9898
99 add_llvm_library_dependencies(LLVMCodeGen
100 LLVMAnalysis
101 LLVMCore
102 LLVMMC
103 LLVMScalarOpts
104 LLVMSupport
105 LLVMTarget
106 LLVMTransformUtils
107 )
108
99109 add_subdirectory(SelectionDAG)
100110 add_subdirectory(AsmPrinter)
2020 TargetLowering.cpp
2121 TargetSelectionDAGInfo.cpp
2222 )
23
24 add_llvm_library_dependencies(LLVMSelectionDAG
25 LLVMAnalysis
26 LLVMCodeGen
27 LLVMCore
28 LLVMMC
29 LLVMSupport
30 LLVMTarget
31 LLVMTransformUtils
32 )
33 TargetSelect.cpp
44 )
55
6 add_llvm_library_dependencies(LLVMExecutionEngine
7 LLVMCore
8 LLVMMC
9 LLVMSupport
10 LLVMTarget
11 )
12
613 add_subdirectory(Interpreter)
714 add_subdirectory(JIT)
815 add_subdirectory(MCJIT)
1111 Interpreter.cpp
1212 )
1313
14 add_llvm_library_dependencies(LLVMInterpreter
15 LLVMCodeGen
16 LLVMCore
17 LLVMExecutionEngine
18 LLVMSupport
19 LLVMTarget
20 )
21
1422 if( LLVM_ENABLE_FFI )
1523 target_link_libraries( LLVMInterpreter ${FFI_LIBRARY_PATH} )
1624 endif()
99 JITMemoryManager.cpp
1010 OProfileJITEventListener.cpp
1111 )
12
13 add_llvm_library_dependencies(LLVMJIT
14 LLVMCore
15 LLVMExecutionEngine
16 LLVMRuntimeDyld
17 LLVMSupport
18 LLVMTarget
19 )
11 MCJIT.cpp
22 Intercept.cpp
33 )
4
5 add_llvm_library_dependencies(LLVMMCJIT
6 LLVMCore
7 LLVMExecutionEngine
8 LLVMRuntimeDyld
9 LLVMSupport
10 LLVMTarget
11 )
11 RuntimeDyld.cpp
22 RuntimeDyldMachO.cpp
33 )
4
5 add_llvm_library_dependencies(LLVMRuntimeDyld
6 LLVMObject
7 LLVMSupport
8 )
33 LinkModules.cpp
44 Linker.cpp
55 )
6
7 add_llvm_library_dependencies(LLVMLinker
8 LLVMArchive
9 LLVMBitReader
10 LLVMCore
11 LLVMSupport
12 LLVMTransformUtils
13 )
4141 MCTargetAsmLexer.cpp
4242 )
4343
44 add_llvm_library_dependencies(LLVMMC
45 LLVMObject
46 LLVMSupport
47 )
48
4449 add_subdirectory(MCParser)
4550 add_subdirectory(MCDisassembler)
None
1 add_llvm_library(LLVMMCDisassembler
21 Disassembler.cpp
32 EDDisassembler.cpp
54 EDOperand.cpp
65 EDToken.cpp
76 )
7
8 add_llvm_library_dependencies(LLVMMCDisassembler
9 LLVMARMAsmParser
10 LLVMARMDesc
11 LLVMARMDisassembler
12 LLVMARMInfo
13 LLVMAlphaDesc
14 LLVMAlphaInfo
15 LLVMBlackfinDesc
16 LLVMBlackfinInfo
17 LLVMCBackendInfo
18 LLVMCellSPUDesc
19 LLVMCellSPUInfo
20 LLVMCppBackendInfo
21 LLVMMBlazeAsmParser
22 LLVMMBlazeDesc
23 LLVMMBlazeDisassembler
24 LLVMMBlazeInfo
25 LLVMMC
26 LLVMMCParser
27 LLVMMSP430Desc
28 LLVMMSP430Info
29 LLVMMipsDesc
30 LLVMMipsInfo
31 LLVMPTXDesc
32 LLVMPTXInfo
33 LLVMPowerPCDesc
34 LLVMPowerPCInfo
35 LLVMSparcDesc
36 LLVMSparcInfo
37 LLVMSupport
38 LLVMSystemZDesc
39 LLVMSystemZInfo
40 LLVMTarget
41 LLVMX86AsmParser
42 LLVMX86Desc
43 LLVMX86Disassembler
44 LLVMX86Info
45 LLVMXCoreDesc
46 LLVMXCoreInfo
47 )
88 MCAsmParserExtension.cpp
99 MCTargetAsmParser.cpp
1010 )
11
12 add_llvm_library_dependencies(LLVMMCParser
13 LLVMMC
14 LLVMSupport
15 )
77 Object.cpp
88 ObjectFile.cpp
99 )
10
11 add_llvm_library_dependencies(LLVMObject
12 LLVMCore
13 LLVMSupport
14 )
33 ARMAsmLexer.cpp
44 ARMAsmParser.cpp
55 )
6
67 add_dependencies(LLVMARMAsmParser ARMCommonTableGen)
8
9 add_llvm_library_dependencies(LLVMARMAsmParser
10 LLVMARMDesc
11 LLVMARMInfo
12 LLVMMC
13 LLVMMCParser
14 LLVMSupport
15 )
4949 Thumb2SizeReduction.cpp
5050 )
5151
52 add_llvm_library_dependencies(LLVMARMCodeGen
53 LLVMARMAsmPrinter
54 LLVMARMDesc
55 LLVMARMInfo
56 LLVMAnalysis
57 LLVMAsmPrinter
58 LLVMCodeGen
59 LLVMCore
60 LLVMMC
61 LLVMSelectionDAG
62 LLVMSupport
63 LLVMTarget
64 )
65
5266 # workaround for hanging compilation on MSVC10
5367 if( MSVC_VERSION EQUAL 1600 )
5468 set_property(
1111 )
1212 endif()
1313 add_dependencies(LLVMARMDisassembler ARMCommonTableGen)
14
15 add_llvm_library_dependencies(LLVMARMDisassembler
16 LLVMARMCodeGen
17 LLVMARMDesc
18 LLVMARMInfo
19 LLVMMC
20 LLVMSupport
21 )
22 add_llvm_library(LLVMARMAsmPrinter
33 ARMInstPrinter.cpp
44 )
5
56 add_dependencies(LLVMARMAsmPrinter ARMCommonTableGen)
7
8 add_llvm_library_dependencies(LLVMARMAsmPrinter
9 LLVMMC
10 LLVMSupport
11 )
1010 # Hack: we need to include 'main' target directory to grab private headers
1111 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_BINARY_DIR}/..)
1212
13 target_link_libraries(LLVMARMDesc LLVMARMAsmPrinter)
13 add_llvm_library_dependencies(LLVMARMDesc
14 LLVMARMInfo
15 LLVMARMAsmPrinter
16 LLVMMC
17 LLVMSupport
18 )
44 )
55
66 add_dependencies(LLVMARMInfo ARMCodeGenTable_gen)
7
8 add_llvm_library_dependencies(LLVMARMInfo
9 LLVMMC
10 LLVMSupport
11 LLVMTarget
12 )
2121 AlphaSelectionDAGInfo.cpp
2222 )
2323
24 add_llvm_library_dependencies(LLVMAlphaCodeGen
25 LLVMAlphaDesc
26 LLVMAlphaInfo
27 LLVMAsmPrinter
28 LLVMCodeGen
29 LLVMCore
30 LLVMMC
31 LLVMSelectionDAG
32 LLVMSupport
33 LLVMTarget
34 )
35
2436 add_subdirectory(TargetInfo)
2537 add_subdirectory(MCTargetDesc)
11 AlphaMCTargetDesc.cpp
22 AlphaMCAsmInfo.cpp
33 )
4
5 add_llvm_library_dependencies(LLVMAlphaDesc
6 LLVMAlphaInfo
7 LLVMMC
8 )
9
410 add_dependencies(LLVMAlphaDesc AlphaCommonTableGen)
22 add_llvm_library(LLVMAlphaInfo
33 AlphaTargetInfo.cpp
44 )
5
6 add_llvm_library_dependencies(LLVMAlphaInfo
7 LLVMMC
8 LLVMSupport
9 LLVMTarget
10 )
11
512 add_dependencies(LLVMAlphaInfo AlphaCommonTableGen)
2121 BlackfinSelectionDAGInfo.cpp
2222 )
2323
24 add_llvm_library_dependencies(LLVMBlackfinCodeGen
25 LLVMAsmPrinter
26 LLVMBlackfinDesc
27 LLVMBlackfinInfo
28 LLVMCodeGen
29 LLVMCore
30 LLVMMC
31 LLVMSelectionDAG
32 LLVMSupport
33 LLVMTarget
34 )
35
2436 add_subdirectory(TargetInfo)
2537 add_subdirectory(MCTargetDesc)
11 BlackfinMCTargetDesc.cpp
22 BlackfinMCAsmInfo.cpp
33 )
4
5 add_llvm_library_dependencies(LLVMBlackfinDesc
6 LLVMBlackfinInfo
7 LLVMMC
8 )
9
410 add_dependencies(LLVMBlackfinDesc BlackfinCommonTableGen)
33 BlackfinTargetInfo.cpp
44 )
55
6 add_llvm_library_dependencies(LLVMBlackfinInfo
7 LLVMMC
8 LLVMSupport
9 LLVMTarget
10 )
11
612 add_dependencies(LLVMBlackfinInfo BlackfinCodeGenTable_gen)
11 CBackend.cpp
22 )
33
4 add_llvm_library_dependencies(LLVMCBackend
5 LLVMAnalysis
6 LLVMCBackendInfo
7 LLVMCodeGen
8 LLVMCore
9 LLVMMC
10 LLVMScalarOpts
11 LLVMSupport
12 LLVMTarget
13 LLVMTransformUtils
14 )
15
416 add_subdirectory(TargetInfo)
33 CBackendTargetInfo.cpp
44 )
55
6 add_llvm_library_dependencies(LLVMCBackendInfo
7 LLVMMC
8 LLVMSupport
9 LLVMTarget
10 )
1111 TargetRegisterInfo.cpp
1212 TargetRegistry.cpp
1313 TargetSubtargetInfo.cpp
14 )
15
16 add_llvm_library_dependencies(LLVMTarget
17 LLVMCore
18 LLVMMC
19 LLVMSupport
1420 )
1521
1622 set(LLVM_ENUM_ASM_PRINTERS "")
2222 SPUNopFiller.cpp
2323 )
2424
25 add_llvm_library_dependencies(LLVMCellSPUCodeGen
26 LLVMAsmPrinter
27 LLVMCellSPUDesc
28 LLVMCellSPUInfo
29 LLVMCodeGen
30 LLVMCore
31 LLVMMC
32 LLVMSelectionDAG
33 LLVMSupport
34 LLVMTarget
35 )
36
2537 add_subdirectory(TargetInfo)
2638 add_subdirectory(MCTargetDesc)
11 SPUMCTargetDesc.cpp
22 SPUMCAsmInfo.cpp
33 )
4
5 add_llvm_library_dependencies(LLVMCellSPUDesc
6 LLVMCellSPUInfo
7 LLVMMC
8 )
9
410 add_dependencies(LLVMCellSPUDesc CellSPUCommonTableGen)
33 CellSPUTargetInfo.cpp
44 )
55
6 add_llvm_library_dependencies(LLVMCellSPUInfo
7 LLVMMC
8 LLVMSupport
9 LLVMTarget
10 )
11
612 add_dependencies(LLVMCellSPUInfo CellSPUCodeGenTable_gen)
11 CPPBackend.cpp
22 )
33
4 add_llvm_library_dependencies(LLVMCppBackend
5 LLVMCore
6 LLVMCppBackendInfo
7 LLVMSupport
8 LLVMTarget
9 )
10
411 add_subdirectory(TargetInfo)
33 CppBackendTargetInfo.cpp
44 )
55
6 add_llvm_library_dependencies(LLVMCppBackendInfo
7 LLVMMC
8 LLVMTarget
9 )
44 MBlazeAsmLexer.cpp
55 MBlazeAsmParser.cpp
66 )
7
8 add_llvm_library_dependencies(LLVMMBlazeAsmParser
9 LLVMMBlazeInfo
10 LLVMMC
11 LLVMMCParser
12 LLVMSupport
13 )
14
715 add_dependencies(LLVMMBlazeAsmParser MBlazeCommonTableGen)
8
2828 MBlazeELFWriterInfo.cpp
2929 )
3030
31 add_llvm_library_dependencies(LLVMMBlazeCodeGen
32 LLVMAsmPrinter
33 LLVMCodeGen
34 LLVMCore
35 LLVMMBlazeAsmPrinter
36 LLVMMBlazeDesc
37 LLVMMBlazeInfo
38 LLVMMC
39 LLVMSelectionDAG
40 LLVMSupport
41 LLVMTarget
42 )
43
3144 add_subdirectory(AsmParser)
3245 add_subdirectory(Disassembler)
3346 add_subdirectory(InstPrinter)
1212 )
1313 endif()
1414
15 add_llvm_library_dependencies(LLVMMBlazeDisassembler
16 LLVMMBlazeCodeGen
17 LLVMMBlazeDesc
18 LLVMMBlazeInfo
19 LLVMMC
20 LLVMSupport
21 )
22
1523 add_dependencies(LLVMMBlazeDisassembler MBlazeCommonTableGen)
11 ${CMAKE_CURRENT_SOURCE_DIR}/.. )
22
33 add_llvm_library(LLVMMBlazeAsmPrinter
4 MBlazeInstPrinter.cpp
4 MBlazeInstPrinter.cpp
5 )
6
7 add_llvm_library_dependencies(LLVMMBlazeAsmPrinter
8 LLVMMC
9 LLVMSupport
510 )
611
712 add_dependencies(LLVMMBlazeAsmPrinter MBlazeCommonTableGen)
33 MBlazeMCCodeEmitter.cpp
44 MBlazeMCTargetDesc.cpp
55 )
6
7 add_llvm_library_dependencies(LLVMMBlazeDesc
8 LLVMMBlazeAsmPrinter
9 LLVMMBlazeInfo
10 LLVMMC
11 LLVMSupport
12 )
13
614 add_dependencies(LLVMMBlazeDesc MBlazeCommonTableGen)
7
8 target_link_libraries(LLVMMBlazeDesc LLVMMBlazeAsmPrinter)
44 MBlazeTargetInfo.cpp
55 )
66
7 add_llvm_library_dependencies(LLVMMBlazeInfo
8 LLVMMC
9 LLVMSupport
10 LLVMTarget
11 )
12
713 add_dependencies(LLVMMBlazeInfo MBlazeCodeGenTable_gen)
2121 MSP430MCInstLower.cpp
2222 )
2323
24 add_llvm_library_dependencies(LLVMMSP430CodeGen
25 LLVMAsmPrinter
26 LLVMCodeGen
27 LLVMCore
28 LLVMMC
29 LLVMMSP430AsmPrinter
30 LLVMMSP430Desc
31 LLVMMSP430Info
32 LLVMSelectionDAG
33 LLVMSupport
34 LLVMTarget
35 )
36
2437 add_subdirectory(InstPrinter)
2538 add_subdirectory(TargetInfo)
2639 add_subdirectory(MCTargetDesc)
22 add_llvm_library(LLVMMSP430AsmPrinter
33 MSP430InstPrinter.cpp
44 )
5
6 add_llvm_library_dependencies(LLVMMSP430AsmPrinter
7 LLVMMC
8 LLVMSupport
9 )
10
511 add_dependencies(LLVMMSP430AsmPrinter MSP430CommonTableGen)
11 MSP430MCTargetDesc.cpp
22 MSP430MCAsmInfo.cpp
33 )
4
5 add_llvm_library_dependencies(LLVMMSP430Desc
6 LLVMMC
7 LLVMMSP430AsmPrinter
8 LLVMMSP430Info
9 )
10
411 add_dependencies(LLVMMSP430Desc MSP430CommonTableGen)
5
6 target_link_libraries(LLVMMSP430Desc LLVMMSP430AsmPrinter)
33 MSP430TargetInfo.cpp
44 )
55
6 add_llvm_library_dependencies(LLVMMSP430Info
7 LLVMMC
8 LLVMSupport
9 LLVMTarget
10 )
11
612 add_dependencies(LLVMMSP430Info MSP430CodeGenTable_gen)
2727 MipsSelectionDAGInfo.cpp
2828 )
2929
30 add_llvm_library_dependencies(LLVMMipsCodeGen
31 LLVMAsmPrinter
32 LLVMCodeGen
33 LLVMCore
34 LLVMMC
35 LLVMMipsAsmPrinter
36 LLVMMipsDesc
37 LLVMMipsInfo
38 LLVMSelectionDAG
39 LLVMSupport
40 LLVMTarget
41 )
42
3043 add_subdirectory(InstPrinter)
3144 add_subdirectory(TargetInfo)
3245 add_subdirectory(MCTargetDesc)
22 add_llvm_library(LLVMMipsAsmPrinter
33 MipsInstPrinter.cpp
44 )
5
6 add_llvm_library_dependencies(LLVMMipsAsmPrinter
7 LLVMMC
8 LLVMSupport
9 )
10
511 add_dependencies(LLVMMipsAsmPrinter MipsCommonTableGen)
11 MipsMCTargetDesc.cpp
22 MipsMCAsmInfo.cpp
33 )
4
5 add_llvm_library_dependencies(LLVMMipsDesc
6 LLVMMC
7 LLVMMipsAsmPrinter
8 LLVMMipsInfo
9 LLVMSupport
10 )
11
412 add_dependencies(LLVMMipsDesc MipsCommonTableGen)
5
6 target_link_libraries(LLVMMipsDesc LLVMMipsAsmPrinter)
33 MipsTargetInfo.cpp
44 )
55
6 add_llvm_library_dependencies(LLVMMipsInfo
7 LLVMMC
8 LLVMSupport
9 LLVMTarget
10 )
11
612 add_dependencies(LLVMMipsInfo MipsCodeGenTable_gen)
2020 PTXTargetMachine.cpp
2121 )
2222
23 add_llvm_library_dependencies(LLVMPTXCodeGen
24 LLVMAnalysis
25 LLVMAsmPrinter
26 LLVMCodeGen
27 LLVMCore
28 LLVMMC
29 LLVMPTXDesc
30 LLVMPTXInfo
31 LLVMSelectionDAG
32 LLVMSupport
33 LLVMTarget
34 )
35
2336 add_subdirectory(TargetInfo)
2437 add_subdirectory(MCTargetDesc)
11 PTXMCTargetDesc.cpp
22 PTXMCAsmInfo.cpp
33 )
4
5 add_llvm_library_dependencies(LLVMPTXDesc
6 LLVMMC
7 LLVMPTXInfo
8 LLVMSupport
9 )
10
411 add_dependencies(LLVMPTXDesc PTXCommonTableGen)
33 PTXTargetInfo.cpp
44 )
55
6 add_llvm_library_dependencies(LLVMPTXInfo
7 LLVMMC
8 LLVMSupport
9 LLVMTarget
10 )
11
612 add_dependencies(LLVMPTXInfo PTXCodeGenTable_gen)
2626 PPCSelectionDAGInfo.cpp
2727 )
2828
29 add_llvm_library_dependencies(LLVMPowerPCCodeGen
30 LLVMAnalysis
31 LLVMAsmPrinter
32 LLVMCodeGen
33 LLVMCore
34 LLVMMC
35 LLVMPowerPCAsmPrinter
36 LLVMPowerPCDesc
37 LLVMPowerPCInfo
38 LLVMSelectionDAG
39 LLVMSupport
40 LLVMTarget
41 )
42
2943 add_subdirectory(InstPrinter)
3044 add_subdirectory(TargetInfo)
3145 add_subdirectory(MCTargetDesc)
22 add_llvm_library(LLVMPowerPCAsmPrinter
33 PPCInstPrinter.cpp
44 )
5
6 add_llvm_library_dependencies(LLVMPowerPCAsmPrinter
7 LLVMMC
8 LLVMSupport
9 )
10
511 add_dependencies(LLVMPowerPCAsmPrinter PowerPCCommonTableGen)
44 PPCMCCodeEmitter.cpp
55 PPCPredicates.cpp
66 )
7
8 add_llvm_library_dependencies(LLVMPowerPCDesc
9 LLVMMC
10 LLVMPowerPCAsmPrinter
11 LLVMPowerPCInfo
12 LLVMSupport
13 )
14
715 add_dependencies(LLVMPowerPCDesc PowerPCCommonTableGen)
8
9 target_link_libraries(LLVMPowerPCDesc LLVMPowerPCAsmPrinter)
33 PowerPCTargetInfo.cpp
44 )
55
6 add_llvm_library_dependencies(LLVMPowerPCInfo
7 LLVMMC
8 LLVMSupport
9 LLVMTarget
10 )
11
612 add_dependencies(LLVMPowerPCInfo PowerPCCodeGenTable_gen)
2121 SparcSelectionDAGInfo.cpp
2222 )
2323
24 add_llvm_library_dependencies(LLVMSparcCodeGen
25 LLVMAsmPrinter
26 LLVMCodeGen
27 LLVMCore
28 LLVMMC
29 LLVMSelectionDAG
30 LLVMSparcDesc
31 LLVMSparcInfo
32 LLVMSupport
33 LLVMTarget
34 )
35
2436 add_subdirectory(TargetInfo)
2537 add_subdirectory(MCTargetDesc)
11 SparcMCTargetDesc.cpp
22 SparcMCAsmInfo.cpp
33 )
4
5 add_llvm_library_dependencies(LLVMSparcDesc
6 LLVMMC
7 LLVMSparcInfo
8 LLVMSupport
9 )
10
411 add_dependencies(LLVMSparcDesc SparcCommonTableGen)
33 SparcTargetInfo.cpp
44 )
55
6 add_llvm_library_dependencies(LLVMSparcInfo
7 LLVMMC
8 LLVMSupport
9 LLVMTarget
10 )
11
612 add_dependencies(LLVMSparcInfo SparcCodeGenTable_gen)
1919 SystemZSelectionDAGInfo.cpp
2020 )
2121
22 add_llvm_library_dependencies(LLVMSystemZCodeGen
23 LLVMAsmPrinter
24 LLVMCodeGen
25 LLVMCore
26 LLVMMC
27 LLVMSelectionDAG
28 LLVMSupport
29 LLVMSystemZDesc
30 LLVMSystemZInfo
31 LLVMTarget
32 )
33
2234 add_subdirectory(TargetInfo)
2335 add_subdirectory(MCTargetDesc)
11 SystemZMCTargetDesc.cpp
22 SystemZMCAsmInfo.cpp
33 )
4
5 add_llvm_library_dependencies(LLVMSystemZDesc
6 LLVMMC
7 LLVMSystemZInfo
8 )
9
410 add_dependencies(LLVMSystemZDesc SystemZCommonTableGen)
511
612 # Hack: we need to include 'main' target directory to grab private headers
33 SystemZTargetInfo.cpp
44 )
55
6 add_llvm_library_dependencies(LLVMSystemZInfo
7 LLVMMC
8 LLVMSupport
9 LLVMTarget
10 )
11
612 add_dependencies(LLVMSystemZInfo SystemZCodeGenTable_gen)
33 X86AsmLexer.cpp
44 X86AsmParser.cpp
55 )
6
7 add_llvm_library_dependencies(LLVMX86AsmParser
8 LLVMMC
9 LLVMMCParser
10 LLVMSupport
11 LLVMX86Desc
12 LLVMX86Info
13 )
14
615 add_dependencies(LLVMX86AsmParser X86CommonTableGen)
5050
5151 add_llvm_target(X86CodeGen ${sources})
5252
53 add_llvm_library_dependencies(LLVMX86CodeGen
54 LLVMAnalysis
55 LLVMAsmPrinter
56 LLVMCodeGen
57 LLVMCore
58 LLVMMC
59 LLVMSelectionDAG
60 LLVMSupport
61 LLVMTarget
62 LLVMX86AsmPrinter
63 LLVMX86Desc
64 )
65
5366 add_subdirectory(AsmParser)
5467 add_subdirectory(Disassembler)
5568 add_subdirectory(InstPrinter)
33 X86Disassembler.cpp
44 X86DisassemblerDecoder.c
55 )
6
7 add_llvm_library_dependencies(LLVMX86Disassembler
8 LLVMMC
9 LLVMSupport
10 LLVMX86Info
11 )
12
613 # workaround for hanging compilation on MSVC9 and 10
714 if( MSVC_VERSION EQUAL 1400 OR MSVC_VERSION EQUAL 1500 OR MSVC_VERSION EQUAL 1600 )
815 set_property(
1017 PROPERTY COMPILE_FLAGS "/Od"
1118 )
1219 endif()
20
1321 add_dependencies(LLVMX86Disassembler X86CommonTableGen)
44 X86IntelInstPrinter.cpp
55 X86InstComments.cpp
66 )
7
8 add_llvm_library_dependencies(LLVMX86AsmPrinter
9 LLVMMC
10 LLVMSupport
11 LLVMX86Utils
12 )
13
714 add_dependencies(LLVMX86AsmPrinter X86CommonTableGen)
44 X86MCCodeEmitter.cpp
55 X86MachObjectWriter.cpp
66 )
7
8 add_llvm_library_dependencies(LLVMX86Desc
9 LLVMMC
10 LLVMSupport
11 LLVMX86AsmPrinter
12 LLVMX86AsmPrinter
13 LLVMX86Info
14 )
15
716 add_dependencies(LLVMX86Desc X86CommonTableGen)
817
918 # Hack: we need to include 'main' target directory to grab private headers
1019 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_BINARY_DIR}/..)
11
12 target_link_libraries(LLVMX86Desc LLVMX86AsmPrinter)
33 X86TargetInfo.cpp
44 )
55
6 add_llvm_library_dependencies(LLVMX86Info
7 LLVMMC
8 LLVMSupport
9 LLVMTarget
10 )
11
612 add_dependencies(LLVMX86Info X86CodeGenTable_gen)
22 add_llvm_library(LLVMX86Utils
33 X86ShuffleDecode.cpp
44 )
5
6 add_llvm_library_dependencies(LLVMX86Utils
7 LLVMCore
8 LLVMSupport
9 )
10
511 add_dependencies(LLVMX86Utils X86CodeGenTable_gen)
2020 XCoreSelectionDAGInfo.cpp
2121 )
2222
23 add_llvm_library_dependencies(LLVMXCoreCodeGen
24 LLVMAsmPrinter
25 LLVMCodeGen
26 LLVMCore
27 LLVMMC
28 LLVMSelectionDAG
29 LLVMSupport
30 LLVMTarget
31 LLVMXCoreDesc
32 LLVMXCoreInfo
33 )
34
2335 add_subdirectory(TargetInfo)
2436 add_subdirectory(MCTargetDesc)
11 XCoreMCTargetDesc.cpp
22 XCoreMCAsmInfo.cpp
33 )
4
5 add_llvm_library_dependencies(LLVMXCoreDesc
6 LLVMMC
7 LLVMXCoreInfo
8 )
9
410 add_dependencies(LLVMXCoreDesc XCoreCommonTableGen)
511
612 # Hack: we need to include 'main' target directory to grab private headers
33 XCoreTargetInfo.cpp
44 )
55
6 add_llvm_library_dependencies(LLVMXCoreInfo
7 LLVMMC
8 LLVMSupport
9 LLVMTarget
10 )
11
612 add_dependencies(LLVMXCoreInfo XCoreCodeGenTable_gen)
1919 StripDeadPrototypes.cpp
2020 StripSymbols.cpp
2121 )
22
23 add_llvm_library_dependencies(LLVMipo
24 LLVMAnalysis
25 LLVMCore
26 LLVMScalarOpts
27 LLVMSupport
28 LLVMTarget
29 LLVMTransformUtils
30 LLVMipa
31 )
1212 InstCombineSimplifyDemanded.cpp
1313 InstCombineVectorOps.cpp
1414 )
15
16 add_llvm_library_dependencies(LLVMInstCombine
17 LLVMAnalysis
18 LLVMCore
19 LLVMSupport
20 LLVMTarget
21 LLVMTransformUtils
22 )
55 PathProfiling.cpp
66 ProfilingUtils.cpp
77 )
8
9 add_llvm_library_dependencies(LLVMInstrumentation
10 LLVMAnalysis
11 LLVMCore
12 LLVMSupport
13 LLVMTransformUtils
14 )
3131 TailDuplication.cpp
3232 TailRecursionElimination.cpp
3333 )
34
35 add_llvm_library_dependencies(LLVMScalarOpts
36 LLVMAnalysis
37 LLVMCore
38 LLVMInstCombine
39 LLVMSupport
40 LLVMTarget
41 LLVMTransformUtils
42 )
2626 ValueMapper.cpp
2727 )
2828
29 add_llvm_library_dependencies(LLVMTransformUtils
30 LLVMAnalysis
31 LLVMCore
32 LLVMSupport
33 LLVMTarget
34 LLVMipa
35 )
3535 ValueTypes.cpp
3636 Verifier.cpp
3737 )
38
39 add_llvm_library_dependencies(LLVMCore LLVMSupport)
137137 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE
138138 WORLD_READ WORLD_EXECUTE
139139 DESTINATION bin)
140
141
142 # Regeneration of library dependencies.
143
144 # See the comments at the end of cmake/modules/LLVM-Config.cmake for
145 # notes and guidelines.
146
147 set(LLVMLibDeps ${LLVM_MAIN_SRC_DIR}/cmake/modules/LLVMLibDeps.cmake)
148 set(LLVMLibDeps_TMP ${CMAKE_CURRENT_BINARY_DIR}/LLVMLibDeps.cmake.tmp)
149
150 add_custom_command(OUTPUT ${LLVMLibDeps_TMP}
151 COMMAND sed -e s'@\\.a@@g' -e s'@\\.so@@g' -e 's@libLLVM@LLVM@g' -e 's@: @ @' -e 's@\\\(.*\\\)@set\(MSVC_LIB_DEPS_\\1\)@' ${FINAL_LIBDEPS} > ${LLVMLibDeps_TMP}
152 COMMAND ${CMAKE_COMMAND} -E copy_if_different ${LLVMLibDeps_TMP} ${LLVMLibDeps}
153 DEPENDS ${FINAL_LIBDEPS}
154 COMMENT "Updating cmake library dependencies file ${LLVMLibDeps}"
155 )
156
157 if( LLVM_TARGETS_TO_BUILD STREQUAL LLVM_ALL_TARGETS )
158 add_custom_target(llvmlibdeps.target ALL DEPENDS ${LLVMLibDeps_TMP})
159 add_dependencies(llvmlibdeps.target llvm-config.target)
160 set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} llvmlibdeps.target)
161 endif()
162
163 set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} PARENT_SCOPE)