[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / lib / DebugInfo / PDB / CMakeLists.txt
blob090711c83404159f3bbf7440e72918cae860ecf5
1 macro(add_pdb_impl_folder group)
2   list(APPEND PDB_IMPL_SOURCES ${ARGN})
3   source_group(${group} FILES ${ARGN})
4 endmacro()
6 if(LLVM_ENABLE_DIA_SDK)
7   include_directories(${MSVC_DIA_SDK_DIR}/include)
8   set(LIBPDB_LINK_FOLDERS "${MSVC_DIA_SDK_DIR}\\lib")
10   if ("$ENV{VSCMD_ARG_TGT_ARCH}" STREQUAL "arm64")
11     set(LIBPDB_LINK_FOLDERS "${LIBPDB_LINK_FOLDERS}\\arm64")
12   elseif ("$ENV{VSCMD_ARG_TGT_ARCH}" STREQUAL "arm")
13     set(LIBPDB_LINK_FOLDERS "${LIBPDB_LINK_FOLDERS}\\arm")
14   elseif (CMAKE_SIZEOF_VOID_P EQUAL 8)
15     set(LIBPDB_LINK_FOLDERS "${LIBPDB_LINK_FOLDERS}\\amd64")
16   endif()
17   file(TO_CMAKE_PATH "${LIBPDB_LINK_FOLDERS}\\diaguids.lib" LIBPDB_ADDITIONAL_LIBRARIES)
19   add_pdb_impl_folder(DIA
20     DIA/DIADataStream.cpp
21     DIA/DIAEnumDebugStreams.cpp
22     DIA/DIAEnumFrameData.cpp
23     DIA/DIAEnumInjectedSources.cpp
24     DIA/DIAEnumLineNumbers.cpp
25     DIA/DIAEnumSectionContribs.cpp
26     DIA/DIAEnumSourceFiles.cpp
27     DIA/DIAEnumSymbols.cpp
28     DIA/DIAEnumTables.cpp
29     DIA/DIAError.cpp
30     DIA/DIAFrameData.cpp
31     DIA/DIAInjectedSource.cpp
32     DIA/DIALineNumber.cpp
33     DIA/DIARawSymbol.cpp
34     DIA/DIASectionContrib.cpp
35     DIA/DIASession.cpp
36     DIA/DIASourceFile.cpp
37     DIA/DIATable.cpp
38     )
40     set(LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/DIA")
41 endif()
43 add_pdb_impl_folder(Native
44   Native/DbiModuleDescriptor.cpp
45   Native/DbiModuleDescriptorBuilder.cpp
46   Native/DbiModuleList.cpp
47   Native/DbiStream.cpp
48   Native/DbiStreamBuilder.cpp
49   Native/EnumTables.cpp
50   Native/GlobalsStream.cpp
51   Native/Hash.cpp
52   Native/HashTable.cpp
53   Native/InfoStream.cpp
54   Native/InfoStreamBuilder.cpp
55   Native/InjectedSourceStream.cpp
56   Native/ModuleDebugStream.cpp
57   Native/NativeCompilandSymbol.cpp
58   Native/NativeEnumGlobals.cpp
59   Native/NativeEnumInjectedSources.cpp
60   Native/NativeEnumLineNumbers.cpp
61   Native/NativeEnumModules.cpp
62   Native/NativeEnumTypes.cpp
63   Native/NativeEnumSymbols.cpp
64   Native/NativeExeSymbol.cpp
65   Native/NativeFunctionSymbol.cpp
66   Native/NativeInlineSiteSymbol.cpp
67   Native/NativeLineNumber.cpp
68   Native/NativePublicSymbol.cpp
69   Native/NativeRawSymbol.cpp
70   Native/NativeSourceFile.cpp
71   Native/NativeSymbolEnumerator.cpp
72   Native/NativeTypeArray.cpp
73   Native/NativeTypeBuiltin.cpp
74   Native/NativeTypeEnum.cpp
75   Native/NativeTypeFunctionSig.cpp
76   Native/NativeTypePointer.cpp
77   Native/NativeTypeTypedef.cpp
78   Native/NativeTypeUDT.cpp
79   Native/NativeTypeVTShape.cpp
80   Native/NamedStreamMap.cpp
81   Native/NativeSession.cpp
82   Native/PDBFile.cpp
83   Native/PDBFileBuilder.cpp
84   Native/PDBStringTable.cpp
85   Native/PDBStringTableBuilder.cpp
86   Native/PublicsStream.cpp
87   Native/GSIStreamBuilder.cpp
88   Native/RawError.cpp
89   Native/SymbolCache.cpp
90   Native/SymbolStream.cpp
91   Native/TpiHashing.cpp
92   Native/TpiStream.cpp
93   Native/TpiStreamBuilder.cpp
94   )
96 list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/Native")
97 list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB")
99 add_llvm_component_library(LLVMDebugInfoPDB
100   GenericError.cpp
101   IPDBSourceFile.cpp
102   PDB.cpp
103   PDBContext.cpp
104   PDBExtras.cpp
105   PDBInterfaceAnchors.cpp
106   PDBSymbol.cpp
107   PDBSymbolAnnotation.cpp
108   PDBSymbolBlock.cpp
109   PDBSymbolCompiland.cpp
110   PDBSymbolCompilandDetails.cpp
111   PDBSymbolCompilandEnv.cpp
112   PDBSymbolCustom.cpp
113   PDBSymbolData.cpp
114   PDBSymbolExe.cpp
115   PDBSymbolFunc.cpp
116   PDBSymbolFuncDebugEnd.cpp
117   PDBSymbolFuncDebugStart.cpp
118   PDBSymbolLabel.cpp
119   PDBSymbolPublicSymbol.cpp
120   PDBSymbolThunk.cpp
121   PDBSymbolTypeArray.cpp
122   PDBSymbolTypeBaseClass.cpp
123   PDBSymbolTypeBuiltin.cpp
124   PDBSymbolTypeCustom.cpp
125   PDBSymbolTypeDimension.cpp
126   PDBSymbolTypeEnum.cpp
127   PDBSymbolTypeFriend.cpp
128   PDBSymbolTypeFunctionArg.cpp
129   PDBSymbolTypeFunctionSig.cpp
130   PDBSymbolTypeManaged.cpp
131   PDBSymbolTypePointer.cpp
132   PDBSymbolTypeTypedef.cpp
133   PDBSymbolTypeUDT.cpp
134   PDBSymbolTypeVTable.cpp
135   PDBSymbolTypeVTableShape.cpp
136   PDBSymbolUnknown.cpp
137   PDBSymbolUsingNamespace.cpp
138   PDBSymDumper.cpp
139   UDTLayout.cpp
140   ${PDB_IMPL_SOURCES}
142   ADDITIONAL_HEADER_DIRS
143   ${LIBPDB_ADDITIONAL_HEADER_DIRS}
145   LINK_COMPONENTS
146   BinaryFormat
147   Object
148   Support
149   DebugInfoCodeView
150   DebugInfoMSF
151   )
153 target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")