blob: 0be05e9bda5e1f96c24026fec31391f1ac95db22 [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
Aaron Smith89bca9e2017-11-16 14:33:09 +000020 DIA/DIAEnumTables.cpp
Zachary Turner819e77d2016-05-06 20:51:57 +000021 DIA/DIAError.cpp
Zachary Turnercffff262015-02-10 21:17:52 +000022 DIA/DIALineNumber.cpp
23 DIA/DIARawSymbol.cpp
24 DIA/DIASession.cpp
25 DIA/DIASourceFile.cpp
Aaron Smith89bca9e2017-11-16 14:33:09 +000026 DIA/DIATable.cpp
Zachary Turnercffff262015-02-10 21:17:52 +000027 )
28
Zachary Turner3bd47ce2015-02-11 03:28:02 +000029 set(LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/DIA")
Daniel Sandersd41718e2016-04-22 12:04:42 +000030endif()
Zachary Turnera12b3d42016-04-21 20:58:35 +000031
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000032add_pdb_impl_folder(Native
Zachary Turner67c56012017-04-27 16:11:19 +000033 Native/DbiModuleDescriptor.cpp
34 Native/DbiModuleDescriptorBuilder.cpp
Zachary Turner1eb9a022017-05-04 23:53:29 +000035 Native/DbiModuleList.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000036 Native/DbiStream.cpp
37 Native/DbiStreamBuilder.cpp
38 Native/EnumTables.cpp
39 Native/GlobalsStream.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000040 Native/Hash.cpp
41 Native/HashTable.cpp
42 Native/InfoStream.cpp
43 Native/InfoStreamBuilder.cpp
Zachary Turner67c56012017-04-27 16:11:19 +000044 Native/ModuleDebugStream.cpp
Adrian McCarthy8d090fc2017-07-12 19:38:11 +000045 Native/NativeBuiltinSymbol.cpp
Adrian McCarthy65d26882017-03-15 20:17:58 +000046 Native/NativeCompilandSymbol.cpp
47 Native/NativeEnumModules.cpp
Adrian McCarthyb41f03e2017-08-04 22:37:58 +000048 Native/NativeEnumSymbol.cpp
49 Native/NativeEnumTypes.cpp
Adrian McCarthy4d93d662017-03-29 19:27:08 +000050 Native/NativeExeSymbol.cpp
Adrian McCarthy0beb3322017-02-09 21:51:19 +000051 Native/NativeRawSymbol.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000052 Native/NamedStreamMap.cpp
53 Native/NativeSession.cpp
54 Native/PDBFile.cpp
55 Native/PDBFileBuilder.cpp
Zachary Turnere204a6c2017-05-02 18:00:13 +000056 Native/PDBStringTable.cpp
57 Native/PDBStringTableBuilder.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000058 Native/PublicsStream.cpp
Zachary Turner946204c2017-08-09 04:23:25 +000059 Native/GSIStreamBuilder.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000060 Native/RawError.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000061 Native/SymbolStream.cpp
62 Native/TpiHashing.cpp
63 Native/TpiStream.cpp
64 Native/TpiStreamBuilder.cpp)
Zachary Turner0a43efe2016-04-25 17:38:08 +000065
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000066list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/Native")
Zachary Turner3bd47ce2015-02-11 03:28:02 +000067list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB")
Zachary Turnercffff262015-02-10 21:17:52 +000068
Zachary Turner0e9e6632015-02-06 20:30:52 +000069add_llvm_library(LLVMDebugInfoPDB
Zachary Turner819e77d2016-05-06 20:51:57 +000070 GenericError.cpp
Zachary Turnera5549172015-02-10 22:43:25 +000071 IPDBSourceFile.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000072 PDB.cpp
Zachary Turner20dbd0d2015-04-27 17:19:51 +000073 PDBContext.cpp
Zachary Turnera5549172015-02-10 22:43:25 +000074 PDBExtras.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000075 PDBInterfaceAnchors.cpp
76 PDBSymbol.cpp
Zachary Turner21473f72015-02-08 00:29:29 +000077 PDBSymbolAnnotation.cpp
78 PDBSymbolBlock.cpp
79 PDBSymbolCompiland.cpp
80 PDBSymbolCompilandDetails.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000081 PDBSymbolCompilandEnv.cpp
82 PDBSymbolCustom.cpp
Zachary Turner21473f72015-02-08 00:29:29 +000083 PDBSymbolData.cpp
84 PDBSymbolExe.cpp
85 PDBSymbolFunc.cpp
86 PDBSymbolFuncDebugEnd.cpp
87 PDBSymbolFuncDebugStart.cpp
88 PDBSymbolLabel.cpp
89 PDBSymbolPublicSymbol.cpp
90 PDBSymbolThunk.cpp
91 PDBSymbolTypeArray.cpp
92 PDBSymbolTypeBaseClass.cpp
93 PDBSymbolTypeBuiltin.cpp
94 PDBSymbolTypeCustom.cpp
95 PDBSymbolTypeDimension.cpp
96 PDBSymbolTypeEnum.cpp
97 PDBSymbolTypeFriend.cpp
98 PDBSymbolTypeFunctionArg.cpp
99 PDBSymbolTypeFunctionSig.cpp
100 PDBSymbolTypeManaged.cpp
101 PDBSymbolTypePointer.cpp
102 PDBSymbolTypeTypedef.cpp
103 PDBSymbolTypeUDT.cpp
104 PDBSymbolTypeVTable.cpp
105 PDBSymbolTypeVTableShape.cpp
106 PDBSymbolUnknown.cpp
107 PDBSymbolUsingNamespace.cpp
Zachary Turner9a818ad2015-02-22 22:03:38 +0000108 PDBSymDumper.cpp
Zachary Turnerc883a8c2017-04-12 23:18:21 +0000109 UDTLayout.cpp
Zachary Turnercffff262015-02-10 21:17:52 +0000110 ${PDB_IMPL_SOURCES}
111
112 ADDITIONAL_HEADER_DIRS
113 ${LIBPDB_ADDITIONAL_HEADER_DIRS}
Zachary Turner0e9e6632015-02-06 20:30:52 +0000114 )
Zachary Turnercffff262015-02-10 21:17:52 +0000115
Chris Bieneman6a1b54a2015-03-23 20:03:57 +0000116target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")