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(${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
50 Native/GlobalsStream.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
83 Native/PDBFileBuilder.cpp
84 Native/PDBStringTable.cpp
85 Native/PDBStringTableBuilder.cpp
86 Native/PublicsStream.cpp
87 Native/GSIStreamBuilder.cpp
89 Native/SymbolCache.cpp
90 Native/SymbolStream.cpp
93 Native/TpiStreamBuilder.cpp
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
105 PDBInterfaceAnchors.cpp
107 PDBSymbolAnnotation.cpp
109 PDBSymbolCompiland.cpp
110 PDBSymbolCompilandDetails.cpp
111 PDBSymbolCompilandEnv.cpp
116 PDBSymbolFuncDebugEnd.cpp
117 PDBSymbolFuncDebugStart.cpp
119 PDBSymbolPublicSymbol.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
134 PDBSymbolTypeVTable.cpp
135 PDBSymbolTypeVTableShape.cpp
137 PDBSymbolUsingNamespace.cpp
142 ADDITIONAL_HEADER_DIRS
143 ${LIBPDB_ADDITIONAL_HEADER_DIRS}
153 target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")