1 macro(add_pdb_impl_folder group)
2 list(APPEND PDB_IMPL_SOURCES ${ARGN})
3 source_group(${group} FILES ${ARGN})
6 if(LLVM_ENABLE_DIA_SDK)
7 include_directories(SYSTEM ${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")
17 file(TO_CMAKE_PATH "${LIBPDB_LINK_FOLDERS}\\diaguids.lib" LIBPDB_ADDITIONAL_LIBRARIES)
19 add_pdb_impl_folder(DIA
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
31 DIA/DIAInjectedSource.cpp
34 DIA/DIASectionContrib.cpp
40 set(LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/DIA")
43 add_pdb_impl_folder(Native
44 Native/DbiModuleDescriptor.cpp
45 Native/DbiModuleDescriptorBuilder.cpp
46 Native/DbiModuleList.cpp
48 Native/DbiStreamBuilder.cpp
51 Native/GlobalsStream.cpp
55 Native/InfoStreamBuilder.cpp
56 Native/InjectedSourceStream.cpp
58 Native/LinePrinter.cpp
59 Native/ModuleDebugStream.cpp
60 Native/NativeCompilandSymbol.cpp
61 Native/NativeEnumGlobals.cpp
62 Native/NativeEnumInjectedSources.cpp
63 Native/NativeEnumLineNumbers.cpp
64 Native/NativeEnumModules.cpp
65 Native/NativeEnumTypes.cpp
66 Native/NativeEnumSymbols.cpp
67 Native/NativeExeSymbol.cpp
68 Native/NativeFunctionSymbol.cpp
69 Native/NativeInlineSiteSymbol.cpp
70 Native/NativeLineNumber.cpp
71 Native/NativePublicSymbol.cpp
72 Native/NativeRawSymbol.cpp
73 Native/NativeSourceFile.cpp
74 Native/NativeSymbolEnumerator.cpp
75 Native/NativeTypeArray.cpp
76 Native/NativeTypeBuiltin.cpp
77 Native/NativeTypeEnum.cpp
78 Native/NativeTypeFunctionSig.cpp
79 Native/NativeTypePointer.cpp
80 Native/NativeTypeTypedef.cpp
81 Native/NativeTypeUDT.cpp
82 Native/NativeTypeVTShape.cpp
83 Native/NamedStreamMap.cpp
84 Native/NativeSession.cpp
86 Native/PDBFileBuilder.cpp
87 Native/PDBStringTable.cpp
88 Native/PDBStringTableBuilder.cpp
89 Native/PublicsStream.cpp
90 Native/GSIStreamBuilder.cpp
92 Native/SymbolCache.cpp
93 Native/SymbolStream.cpp
96 Native/TpiStreamBuilder.cpp
99 list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/Native")
100 list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB")
102 add_llvm_component_library(LLVMDebugInfoPDB
108 PDBInterfaceAnchors.cpp
110 PDBSymbolAnnotation.cpp
112 PDBSymbolCompiland.cpp
113 PDBSymbolCompilandDetails.cpp
114 PDBSymbolCompilandEnv.cpp
119 PDBSymbolFuncDebugEnd.cpp
120 PDBSymbolFuncDebugStart.cpp
122 PDBSymbolPublicSymbol.cpp
124 PDBSymbolTypeArray.cpp
125 PDBSymbolTypeBaseClass.cpp
126 PDBSymbolTypeBuiltin.cpp
127 PDBSymbolTypeCustom.cpp
128 PDBSymbolTypeDimension.cpp
129 PDBSymbolTypeEnum.cpp
130 PDBSymbolTypeFriend.cpp
131 PDBSymbolTypeFunctionArg.cpp
132 PDBSymbolTypeFunctionSig.cpp
133 PDBSymbolTypeManaged.cpp
134 PDBSymbolTypePointer.cpp
135 PDBSymbolTypeTypedef.cpp
137 PDBSymbolTypeVTable.cpp
138 PDBSymbolTypeVTableShape.cpp
140 PDBSymbolUsingNamespace.cpp
145 ADDITIONAL_HEADER_DIRS
146 ${LIBPDB_ADDITIONAL_HEADER_DIRS}
156 target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")