blob: e9fd29ccc4caf373ac43384440a3c73cbd133ff7 [file] [log] [blame]
Zachary Turnercffff262015-02-10 21:17:52 +00001macro(add_pdb_impl_folder group)
2 list(APPEND PDB_IMPL_SOURCES ${ARGN})
3 source_group(${group} FILES ${ARGN})
4endmacro()
5
Michal Gorny89b6f162017-01-02 18:19:35 +00006if(LLVM_ENABLE_DIA_SDK)
Zachary Turnercffff262015-02-10 21:17:52 +00007 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()
Dan Liew7b62aec2015-06-19 21:50:27 +000012 file(TO_CMAKE_PATH "${LIBPDB_LINK_FOLDERS}\\diaguids.lib" LIBPDB_ADDITIONAL_LIBRARIES)
Zachary Turnercffff262015-02-10 21:17:52 +000013
14 add_pdb_impl_folder(DIA
15 DIA/DIADataStream.cpp
16 DIA/DIAEnumDebugStreams.cpp
17 DIA/DIAEnumLineNumbers.cpp
18 DIA/DIAEnumSourceFiles.cpp
19 DIA/DIAEnumSymbols.cpp
Zachary Turner819e77d2016-05-06 20:51:57 +000020 DIA/DIAError.cpp
Zachary Turnercffff262015-02-10 21:17:52 +000021 DIA/DIALineNumber.cpp
22 DIA/DIARawSymbol.cpp
23 DIA/DIASession.cpp
24 DIA/DIASourceFile.cpp
25 )
26
Zachary Turner3bd47ce2015-02-11 03:28:02 +000027 set(LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/DIA")
Daniel Sandersd41718e2016-04-22 12:04:42 +000028endif()
Zachary Turnera12b3d42016-04-21 20:58:35 +000029
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000030add_pdb_impl_folder(Native
Zachary Turner67c56012017-04-27 16:11:19 +000031 Native/DbiModuleDescriptor.cpp
32 Native/DbiModuleDescriptorBuilder.cpp
Zachary Turner1eb9a022017-05-04 23:53:29 +000033 Native/DbiModuleList.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000034 Native/DbiStream.cpp
35 Native/DbiStreamBuilder.cpp
36 Native/EnumTables.cpp
37 Native/GlobalsStream.cpp
38 Native/GSI.cpp
39 Native/Hash.cpp
40 Native/HashTable.cpp
41 Native/InfoStream.cpp
42 Native/InfoStreamBuilder.cpp
Zachary Turner67c56012017-04-27 16:11:19 +000043 Native/ModuleDebugStream.cpp
Adrian McCarthy65d26882017-03-15 20:17:58 +000044 Native/NativeCompilandSymbol.cpp
45 Native/NativeEnumModules.cpp
Adrian McCarthy4d93d662017-03-29 19:27:08 +000046 Native/NativeExeSymbol.cpp
Adrian McCarthy0beb3322017-02-09 21:51:19 +000047 Native/NativeRawSymbol.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000048 Native/NamedStreamMap.cpp
49 Native/NativeSession.cpp
50 Native/PDBFile.cpp
51 Native/PDBFileBuilder.cpp
Zachary Turnere204a6c2017-05-02 18:00:13 +000052 Native/PDBStringTable.cpp
53 Native/PDBStringTableBuilder.cpp
Zachary Turner7b327d02017-02-16 23:35:45 +000054 Native/PDBTypeServerHandler.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000055 Native/PublicsStream.cpp
56 Native/RawError.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000057 Native/SymbolStream.cpp
58 Native/TpiHashing.cpp
59 Native/TpiStream.cpp
60 Native/TpiStreamBuilder.cpp)
Zachary Turner0a43efe2016-04-25 17:38:08 +000061
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000062list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/Native")
Zachary Turner3bd47ce2015-02-11 03:28:02 +000063list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB")
Zachary Turnercffff262015-02-10 21:17:52 +000064
Zachary Turner0e9e6632015-02-06 20:30:52 +000065add_llvm_library(LLVMDebugInfoPDB
Zachary Turner819e77d2016-05-06 20:51:57 +000066 GenericError.cpp
Zachary Turnera5549172015-02-10 22:43:25 +000067 IPDBSourceFile.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000068 PDB.cpp
Zachary Turner20dbd0d2015-04-27 17:19:51 +000069 PDBContext.cpp
Zachary Turnera5549172015-02-10 22:43:25 +000070 PDBExtras.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000071 PDBInterfaceAnchors.cpp
72 PDBSymbol.cpp
Zachary Turner21473f72015-02-08 00:29:29 +000073 PDBSymbolAnnotation.cpp
74 PDBSymbolBlock.cpp
75 PDBSymbolCompiland.cpp
76 PDBSymbolCompilandDetails.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000077 PDBSymbolCompilandEnv.cpp
78 PDBSymbolCustom.cpp
Zachary Turner21473f72015-02-08 00:29:29 +000079 PDBSymbolData.cpp
80 PDBSymbolExe.cpp
81 PDBSymbolFunc.cpp
82 PDBSymbolFuncDebugEnd.cpp
83 PDBSymbolFuncDebugStart.cpp
84 PDBSymbolLabel.cpp
85 PDBSymbolPublicSymbol.cpp
86 PDBSymbolThunk.cpp
87 PDBSymbolTypeArray.cpp
88 PDBSymbolTypeBaseClass.cpp
89 PDBSymbolTypeBuiltin.cpp
90 PDBSymbolTypeCustom.cpp
91 PDBSymbolTypeDimension.cpp
92 PDBSymbolTypeEnum.cpp
93 PDBSymbolTypeFriend.cpp
94 PDBSymbolTypeFunctionArg.cpp
95 PDBSymbolTypeFunctionSig.cpp
96 PDBSymbolTypeManaged.cpp
97 PDBSymbolTypePointer.cpp
98 PDBSymbolTypeTypedef.cpp
99 PDBSymbolTypeUDT.cpp
100 PDBSymbolTypeVTable.cpp
101 PDBSymbolTypeVTableShape.cpp
102 PDBSymbolUnknown.cpp
103 PDBSymbolUsingNamespace.cpp
Zachary Turner9a818ad2015-02-22 22:03:38 +0000104 PDBSymDumper.cpp
Zachary Turnerc883a8c2017-04-12 23:18:21 +0000105 UDTLayout.cpp
Zachary Turnercffff262015-02-10 21:17:52 +0000106 ${PDB_IMPL_SOURCES}
107
108 ADDITIONAL_HEADER_DIRS
109 ${LIBPDB_ADDITIONAL_HEADER_DIRS}
Zachary Turner0e9e6632015-02-06 20:30:52 +0000110 )
Zachary Turnercffff262015-02-10 21:17:52 +0000111
Chris Bieneman6a1b54a2015-03-23 20:03:57 +0000112target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")