blob: f6a529a69a8b0ec86395b0b822ddc51655fc7046 [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
Zachary Turner679aead2018-03-13 17:46:06 +000017 DIA/DIAEnumInjectedSources.cpp
Zachary Turnercffff262015-02-10 21:17:52 +000018 DIA/DIAEnumLineNumbers.cpp
Aaron Smith523de052018-03-22 04:08:15 +000019 DIA/DIAEnumSectionContribs.cpp
Zachary Turnercffff262015-02-10 21:17:52 +000020 DIA/DIAEnumSourceFiles.cpp
21 DIA/DIAEnumSymbols.cpp
Aaron Smith89bca9e2017-11-16 14:33:09 +000022 DIA/DIAEnumTables.cpp
Zachary Turner819e77d2016-05-06 20:51:57 +000023 DIA/DIAError.cpp
Zachary Turner679aead2018-03-13 17:46:06 +000024 DIA/DIAInjectedSource.cpp
Zachary Turnercffff262015-02-10 21:17:52 +000025 DIA/DIALineNumber.cpp
26 DIA/DIARawSymbol.cpp
Aaron Smith523de052018-03-22 04:08:15 +000027 DIA/DIASectionContrib.cpp
Zachary Turnercffff262015-02-10 21:17:52 +000028 DIA/DIASession.cpp
29 DIA/DIASourceFile.cpp
Aaron Smith89bca9e2017-11-16 14:33:09 +000030 DIA/DIATable.cpp
Zachary Turnercffff262015-02-10 21:17:52 +000031 )
32
Zachary Turner3bd47ce2015-02-11 03:28:02 +000033 set(LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/DIA")
Daniel Sandersd41718e2016-04-22 12:04:42 +000034endif()
Zachary Turnera12b3d42016-04-21 20:58:35 +000035
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000036add_pdb_impl_folder(Native
Zachary Turner67c56012017-04-27 16:11:19 +000037 Native/DbiModuleDescriptor.cpp
38 Native/DbiModuleDescriptorBuilder.cpp
Zachary Turner1eb9a022017-05-04 23:53:29 +000039 Native/DbiModuleList.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000040 Native/DbiStream.cpp
41 Native/DbiStreamBuilder.cpp
42 Native/EnumTables.cpp
43 Native/GlobalsStream.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000044 Native/Hash.cpp
45 Native/HashTable.cpp
46 Native/InfoStream.cpp
47 Native/InfoStreamBuilder.cpp
Zachary Turner67c56012017-04-27 16:11:19 +000048 Native/ModuleDebugStream.cpp
Adrian McCarthy8d090fc2017-07-12 19:38:11 +000049 Native/NativeBuiltinSymbol.cpp
Adrian McCarthy65d26882017-03-15 20:17:58 +000050 Native/NativeCompilandSymbol.cpp
51 Native/NativeEnumModules.cpp
Adrian McCarthyb41f03e2017-08-04 22:37:58 +000052 Native/NativeEnumSymbol.cpp
53 Native/NativeEnumTypes.cpp
Adrian McCarthy4d93d662017-03-29 19:27:08 +000054 Native/NativeExeSymbol.cpp
Adrian McCarthy0beb3322017-02-09 21:51:19 +000055 Native/NativeRawSymbol.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000056 Native/NamedStreamMap.cpp
57 Native/NativeSession.cpp
58 Native/PDBFile.cpp
59 Native/PDBFileBuilder.cpp
Zachary Turnere204a6c2017-05-02 18:00:13 +000060 Native/PDBStringTable.cpp
61 Native/PDBStringTableBuilder.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000062 Native/PublicsStream.cpp
Zachary Turner946204c2017-08-09 04:23:25 +000063 Native/GSIStreamBuilder.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000064 Native/RawError.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000065 Native/SymbolStream.cpp
66 Native/TpiHashing.cpp
67 Native/TpiStream.cpp
Nico Weber086b1c82018-04-04 00:50:22 +000068 Native/TpiStreamBuilder.cpp
69 )
Zachary Turner0a43efe2016-04-25 17:38:08 +000070
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000071list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/Native")
Zachary Turner3bd47ce2015-02-11 03:28:02 +000072list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB")
Zachary Turnercffff262015-02-10 21:17:52 +000073
Zachary Turner0e9e6632015-02-06 20:30:52 +000074add_llvm_library(LLVMDebugInfoPDB
Zachary Turner819e77d2016-05-06 20:51:57 +000075 GenericError.cpp
Zachary Turnera5549172015-02-10 22:43:25 +000076 IPDBSourceFile.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000077 PDB.cpp
Zachary Turner20dbd0d2015-04-27 17:19:51 +000078 PDBContext.cpp
Zachary Turnera5549172015-02-10 22:43:25 +000079 PDBExtras.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000080 PDBInterfaceAnchors.cpp
81 PDBSymbol.cpp
Zachary Turner21473f72015-02-08 00:29:29 +000082 PDBSymbolAnnotation.cpp
83 PDBSymbolBlock.cpp
84 PDBSymbolCompiland.cpp
85 PDBSymbolCompilandDetails.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000086 PDBSymbolCompilandEnv.cpp
87 PDBSymbolCustom.cpp
Zachary Turner21473f72015-02-08 00:29:29 +000088 PDBSymbolData.cpp
89 PDBSymbolExe.cpp
90 PDBSymbolFunc.cpp
91 PDBSymbolFuncDebugEnd.cpp
92 PDBSymbolFuncDebugStart.cpp
93 PDBSymbolLabel.cpp
94 PDBSymbolPublicSymbol.cpp
95 PDBSymbolThunk.cpp
96 PDBSymbolTypeArray.cpp
97 PDBSymbolTypeBaseClass.cpp
98 PDBSymbolTypeBuiltin.cpp
99 PDBSymbolTypeCustom.cpp
100 PDBSymbolTypeDimension.cpp
101 PDBSymbolTypeEnum.cpp
102 PDBSymbolTypeFriend.cpp
103 PDBSymbolTypeFunctionArg.cpp
104 PDBSymbolTypeFunctionSig.cpp
105 PDBSymbolTypeManaged.cpp
106 PDBSymbolTypePointer.cpp
107 PDBSymbolTypeTypedef.cpp
108 PDBSymbolTypeUDT.cpp
109 PDBSymbolTypeVTable.cpp
110 PDBSymbolTypeVTableShape.cpp
111 PDBSymbolUnknown.cpp
112 PDBSymbolUsingNamespace.cpp
Zachary Turner9a818ad2015-02-22 22:03:38 +0000113 PDBSymDumper.cpp
Zachary Turnerc883a8c2017-04-12 23:18:21 +0000114 UDTLayout.cpp
Zachary Turnercffff262015-02-10 21:17:52 +0000115 ${PDB_IMPL_SOURCES}
116
117 ADDITIONAL_HEADER_DIRS
118 ${LIBPDB_ADDITIONAL_HEADER_DIRS}
Zachary Turner0e9e6632015-02-06 20:30:52 +0000119 )
Zachary Turnercffff262015-02-10 21:17:52 +0000120
Chris Bieneman6a1b54a2015-03-23 20:03:57 +0000121target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")