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