xref: /openbsd-src/gnu/llvm/llvm/lib/DebugInfo/PDB/CMakeLists.txt (revision 1a8dbaac879b9f3335ad7fb25429ce63ac1d6bac)
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/NativeEnumModules.cpp
56  Native/NativeEnumTypes.cpp
57  Native/NativeExeSymbol.cpp
58  Native/NativeRawSymbol.cpp
59  Native/NativeSymbolEnumerator.cpp
60  Native/NativeTypeArray.cpp
61  Native/NativeTypeBuiltin.cpp
62  Native/NativeTypeEnum.cpp
63  Native/NativeTypeFunctionSig.cpp
64  Native/NativeTypePointer.cpp
65  Native/NativeTypeTypedef.cpp
66  Native/NativeTypeUDT.cpp
67  Native/NativeTypeVTShape.cpp
68  Native/NamedStreamMap.cpp
69  Native/NativeSession.cpp
70  Native/PDBFile.cpp
71  Native/PDBFileBuilder.cpp
72  Native/PDBStringTable.cpp
73  Native/PDBStringTableBuilder.cpp
74  Native/PublicsStream.cpp
75  Native/GSIStreamBuilder.cpp
76  Native/RawError.cpp
77  Native/SymbolCache.cpp
78  Native/SymbolStream.cpp
79  Native/TpiHashing.cpp
80  Native/TpiStream.cpp
81  Native/TpiStreamBuilder.cpp
82  )
83
84list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/Native")
85list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB")
86
87add_llvm_component_library(LLVMDebugInfoPDB
88  GenericError.cpp
89  IPDBSourceFile.cpp
90  PDB.cpp
91  PDBContext.cpp
92  PDBExtras.cpp
93  PDBInterfaceAnchors.cpp
94  PDBSymbol.cpp
95  PDBSymbolAnnotation.cpp
96  PDBSymbolBlock.cpp
97  PDBSymbolCompiland.cpp
98  PDBSymbolCompilandDetails.cpp
99  PDBSymbolCompilandEnv.cpp
100  PDBSymbolCustom.cpp
101  PDBSymbolData.cpp
102  PDBSymbolExe.cpp
103  PDBSymbolFunc.cpp
104  PDBSymbolFuncDebugEnd.cpp
105  PDBSymbolFuncDebugStart.cpp
106  PDBSymbolLabel.cpp
107  PDBSymbolPublicSymbol.cpp
108  PDBSymbolThunk.cpp
109  PDBSymbolTypeArray.cpp
110  PDBSymbolTypeBaseClass.cpp
111  PDBSymbolTypeBuiltin.cpp
112  PDBSymbolTypeCustom.cpp
113  PDBSymbolTypeDimension.cpp
114  PDBSymbolTypeEnum.cpp
115  PDBSymbolTypeFriend.cpp
116  PDBSymbolTypeFunctionArg.cpp
117  PDBSymbolTypeFunctionSig.cpp
118  PDBSymbolTypeManaged.cpp
119  PDBSymbolTypePointer.cpp
120  PDBSymbolTypeTypedef.cpp
121  PDBSymbolTypeUDT.cpp
122  PDBSymbolTypeVTable.cpp
123  PDBSymbolTypeVTableShape.cpp
124  PDBSymbolUnknown.cpp
125  PDBSymbolUsingNamespace.cpp
126  PDBSymDumper.cpp
127  UDTLayout.cpp
128  ${PDB_IMPL_SOURCES}
129
130  ADDITIONAL_HEADER_DIRS
131  ${LIBPDB_ADDITIONAL_HEADER_DIRS}
132  )
133
134target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")
135