blob: e1753018c7df34709150ee35d99203bc51bd5614 [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
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000033 Native/DbiStream.cpp
34 Native/DbiStreamBuilder.cpp
35 Native/EnumTables.cpp
36 Native/GlobalsStream.cpp
37 Native/GSI.cpp
38 Native/Hash.cpp
39 Native/HashTable.cpp
40 Native/InfoStream.cpp
41 Native/InfoStreamBuilder.cpp
Zachary Turner67c56012017-04-27 16:11:19 +000042 Native/ModuleDebugStream.cpp
Adrian McCarthy65d26882017-03-15 20:17:58 +000043 Native/NativeCompilandSymbol.cpp
44 Native/NativeEnumModules.cpp
Adrian McCarthy4d93d662017-03-29 19:27:08 +000045 Native/NativeExeSymbol.cpp
Adrian McCarthy0beb3322017-02-09 21:51:19 +000046 Native/NativeRawSymbol.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000047 Native/NamedStreamMap.cpp
48 Native/NativeSession.cpp
49 Native/PDBFile.cpp
50 Native/PDBFileBuilder.cpp
Zachary Turnere204a6c2017-05-02 18:00:13 +000051 Native/PDBStringTable.cpp
52 Native/PDBStringTableBuilder.cpp
Zachary Turner7b327d02017-02-16 23:35:45 +000053 Native/PDBTypeServerHandler.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000054 Native/PublicsStream.cpp
55 Native/RawError.cpp
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000056 Native/SymbolStream.cpp
57 Native/TpiHashing.cpp
58 Native/TpiStream.cpp
59 Native/TpiStreamBuilder.cpp)
Zachary Turner0a43efe2016-04-25 17:38:08 +000060
Adrian McCarthy6b6b8c42017-01-25 22:38:55 +000061list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/Native")
Zachary Turner3bd47ce2015-02-11 03:28:02 +000062list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB")
Zachary Turnercffff262015-02-10 21:17:52 +000063
Zachary Turner0e9e6632015-02-06 20:30:52 +000064add_llvm_library(LLVMDebugInfoPDB
Zachary Turner819e77d2016-05-06 20:51:57 +000065 GenericError.cpp
Zachary Turnera5549172015-02-10 22:43:25 +000066 IPDBSourceFile.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000067 PDB.cpp
Zachary Turner20dbd0d2015-04-27 17:19:51 +000068 PDBContext.cpp
Zachary Turnera5549172015-02-10 22:43:25 +000069 PDBExtras.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000070 PDBInterfaceAnchors.cpp
71 PDBSymbol.cpp
Zachary Turner21473f72015-02-08 00:29:29 +000072 PDBSymbolAnnotation.cpp
73 PDBSymbolBlock.cpp
74 PDBSymbolCompiland.cpp
75 PDBSymbolCompilandDetails.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000076 PDBSymbolCompilandEnv.cpp
77 PDBSymbolCustom.cpp
Zachary Turner21473f72015-02-08 00:29:29 +000078 PDBSymbolData.cpp
79 PDBSymbolExe.cpp
80 PDBSymbolFunc.cpp
81 PDBSymbolFuncDebugEnd.cpp
82 PDBSymbolFuncDebugStart.cpp
83 PDBSymbolLabel.cpp
84 PDBSymbolPublicSymbol.cpp
85 PDBSymbolThunk.cpp
86 PDBSymbolTypeArray.cpp
87 PDBSymbolTypeBaseClass.cpp
88 PDBSymbolTypeBuiltin.cpp
89 PDBSymbolTypeCustom.cpp
90 PDBSymbolTypeDimension.cpp
91 PDBSymbolTypeEnum.cpp
92 PDBSymbolTypeFriend.cpp
93 PDBSymbolTypeFunctionArg.cpp
94 PDBSymbolTypeFunctionSig.cpp
95 PDBSymbolTypeManaged.cpp
96 PDBSymbolTypePointer.cpp
97 PDBSymbolTypeTypedef.cpp
98 PDBSymbolTypeUDT.cpp
99 PDBSymbolTypeVTable.cpp
100 PDBSymbolTypeVTableShape.cpp
101 PDBSymbolUnknown.cpp
102 PDBSymbolUsingNamespace.cpp
Zachary Turner9a818ad2015-02-22 22:03:38 +0000103 PDBSymDumper.cpp
Zachary Turnerc883a8c2017-04-12 23:18:21 +0000104 UDTLayout.cpp
Zachary Turnercffff262015-02-10 21:17:52 +0000105 ${PDB_IMPL_SOURCES}
106
107 ADDITIONAL_HEADER_DIRS
108 ${LIBPDB_ADDITIONAL_HEADER_DIRS}
Zachary Turner0e9e6632015-02-06 20:30:52 +0000109 )
Zachary Turnercffff262015-02-10 21:17:52 +0000110
Chris Bieneman6a1b54a2015-03-23 20:03:57 +0000111target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")