blob: 1a995e6b3517a8ae22803d1b276f2642266e0217 [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
Zachary Turner0a43efe2016-04-25 17:38:08 +000030add_pdb_impl_folder(Raw
Zachary Turner2f09b502016-04-29 17:28:47 +000031 Raw/DbiStream.cpp
Zachary Turnerdbeaea72016-07-11 21:45:26 +000032 Raw/DbiStreamBuilder.cpp
Zachary Turner93839cb2016-06-02 05:07:49 +000033 Raw/EnumTables.cpp
Bob Haarman653baa22016-10-21 19:43:19 +000034 Raw/GlobalsStream.cpp
35 Raw/GSI.cpp
Rui Ueyama170988f2016-06-08 23:11:14 +000036 Raw/Hash.cpp
Zachary Turner11036a92017-01-19 23:31:24 +000037 Raw/HashTable.cpp
Zachary Turner2f09b502016-04-29 17:28:47 +000038 Raw/InfoStream.cpp
Zachary Turnerdbeaea72016-07-11 21:45:26 +000039 Raw/InfoStreamBuilder.cpp
Zachary Turner06c2b4b2016-05-09 17:45:21 +000040 Raw/ModInfo.cpp
41 Raw/ModStream.cpp
Zachary Turnerf04d6e82017-01-20 22:41:15 +000042 Raw/NamedStreamMap.cpp
Zachary Turner06c2b4b2016-05-09 17:45:21 +000043 Raw/PDBFile.cpp
Zachary Turnerdbeaea72016-07-11 21:45:26 +000044 Raw/PDBFileBuilder.cpp
Rui Ueyama1f6b6e22016-05-13 21:21:53 +000045 Raw/PublicsStream.cpp
Zachary Turner819e77d2016-05-06 20:51:57 +000046 Raw/RawError.cpp
Zachary Turner6ba65de2016-04-29 17:22:58 +000047 Raw/RawSession.cpp
Zachary Turnerf04d6e82017-01-20 22:41:15 +000048 Raw/StringTable.cpp
49 Raw/StringTableBuilder.cpp
Rui Ueyama0fcd8262016-05-20 19:55:17 +000050 Raw/SymbolStream.cpp
Zachary Turner620961d2016-09-14 23:00:02 +000051 Raw/TpiHashing.cpp
Zachary Turnerc6d54da2016-09-09 17:46:17 +000052 Raw/TpiStream.cpp
53 Raw/TpiStreamBuilder.cpp)
Zachary Turner0a43efe2016-04-25 17:38:08 +000054
Zachary Turner8dbe3622016-05-27 01:54:44 +000055list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/Raw")
Zachary Turner3bd47ce2015-02-11 03:28:02 +000056list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB")
Zachary Turnercffff262015-02-10 21:17:52 +000057
Zachary Turner0e9e6632015-02-06 20:30:52 +000058add_llvm_library(LLVMDebugInfoPDB
Zachary Turner819e77d2016-05-06 20:51:57 +000059 GenericError.cpp
Zachary Turnera5549172015-02-10 22:43:25 +000060 IPDBSourceFile.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000061 PDB.cpp
Zachary Turner20dbd0d2015-04-27 17:19:51 +000062 PDBContext.cpp
Zachary Turnera5549172015-02-10 22:43:25 +000063 PDBExtras.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000064 PDBInterfaceAnchors.cpp
65 PDBSymbol.cpp
Zachary Turner21473f72015-02-08 00:29:29 +000066 PDBSymbolAnnotation.cpp
67 PDBSymbolBlock.cpp
68 PDBSymbolCompiland.cpp
69 PDBSymbolCompilandDetails.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000070 PDBSymbolCompilandEnv.cpp
71 PDBSymbolCustom.cpp
Zachary Turner21473f72015-02-08 00:29:29 +000072 PDBSymbolData.cpp
73 PDBSymbolExe.cpp
74 PDBSymbolFunc.cpp
75 PDBSymbolFuncDebugEnd.cpp
76 PDBSymbolFuncDebugStart.cpp
77 PDBSymbolLabel.cpp
78 PDBSymbolPublicSymbol.cpp
79 PDBSymbolThunk.cpp
80 PDBSymbolTypeArray.cpp
81 PDBSymbolTypeBaseClass.cpp
82 PDBSymbolTypeBuiltin.cpp
83 PDBSymbolTypeCustom.cpp
84 PDBSymbolTypeDimension.cpp
85 PDBSymbolTypeEnum.cpp
86 PDBSymbolTypeFriend.cpp
87 PDBSymbolTypeFunctionArg.cpp
88 PDBSymbolTypeFunctionSig.cpp
89 PDBSymbolTypeManaged.cpp
90 PDBSymbolTypePointer.cpp
91 PDBSymbolTypeTypedef.cpp
92 PDBSymbolTypeUDT.cpp
93 PDBSymbolTypeVTable.cpp
94 PDBSymbolTypeVTableShape.cpp
95 PDBSymbolUnknown.cpp
96 PDBSymbolUsingNamespace.cpp
Zachary Turner9a818ad2015-02-22 22:03:38 +000097 PDBSymDumper.cpp
Zachary Turnercffff262015-02-10 21:17:52 +000098 ${PDB_IMPL_SOURCES}
99
100 ADDITIONAL_HEADER_DIRS
101 ${LIBPDB_ADDITIONAL_HEADER_DIRS}
Zachary Turner0e9e6632015-02-06 20:30:52 +0000102 )
Zachary Turnercffff262015-02-10 21:17:52 +0000103
Chris Bieneman6a1b54a2015-03-23 20:03:57 +0000104target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")