blob: 2171796a184feecccd22f4dff92792b8c6613511 [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
6if(HAVE_DIA_SDK)
7 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 Turner6ba65de2016-04-29 17:22:58 +000031 Raw/ByteStream.cpp
32 Raw/MappedBlockStream.cpp
Zachary Turner1822af542016-04-27 23:41:42 +000033 Raw/ModInfo.cpp
Zachary Turner0a43efe2016-04-25 17:38:08 +000034 Raw/PDBFile.cpp
Zachary Turner2f09b502016-04-29 17:28:47 +000035 Raw/DbiStream.cpp
36 Raw/InfoStream.cpp
Zachary Turner0eace0b2016-05-02 18:09:14 +000037 Raw/NameHashTable.cpp
Zachary Turner2f09b502016-04-29 17:28:47 +000038 Raw/NameMap.cpp
Zachary Turner819e77d2016-05-06 20:51:57 +000039 Raw/RawError.cpp
Zachary Turner6ba65de2016-04-29 17:22:58 +000040 Raw/RawSession.cpp
Zachary Turnerf5c59652016-05-03 00:28:21 +000041 Raw/StreamReader.cpp
42 Raw/TpiStream.cpp)
Zachary Turner0a43efe2016-04-25 17:38:08 +000043
Zachary Turner3bd47ce2015-02-11 03:28:02 +000044list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB")
Zachary Turnercffff262015-02-10 21:17:52 +000045
Zachary Turner0e9e6632015-02-06 20:30:52 +000046add_llvm_library(LLVMDebugInfoPDB
Zachary Turner819e77d2016-05-06 20:51:57 +000047 GenericError.cpp
Zachary Turnera5549172015-02-10 22:43:25 +000048 IPDBSourceFile.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000049 PDB.cpp
Zachary Turner20dbd0d2015-04-27 17:19:51 +000050 PDBContext.cpp
Zachary Turnera5549172015-02-10 22:43:25 +000051 PDBExtras.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000052 PDBInterfaceAnchors.cpp
53 PDBSymbol.cpp
Zachary Turner21473f72015-02-08 00:29:29 +000054 PDBSymbolAnnotation.cpp
55 PDBSymbolBlock.cpp
56 PDBSymbolCompiland.cpp
57 PDBSymbolCompilandDetails.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000058 PDBSymbolCompilandEnv.cpp
59 PDBSymbolCustom.cpp
Zachary Turner21473f72015-02-08 00:29:29 +000060 PDBSymbolData.cpp
61 PDBSymbolExe.cpp
62 PDBSymbolFunc.cpp
63 PDBSymbolFuncDebugEnd.cpp
64 PDBSymbolFuncDebugStart.cpp
65 PDBSymbolLabel.cpp
66 PDBSymbolPublicSymbol.cpp
67 PDBSymbolThunk.cpp
68 PDBSymbolTypeArray.cpp
69 PDBSymbolTypeBaseClass.cpp
70 PDBSymbolTypeBuiltin.cpp
71 PDBSymbolTypeCustom.cpp
72 PDBSymbolTypeDimension.cpp
73 PDBSymbolTypeEnum.cpp
74 PDBSymbolTypeFriend.cpp
75 PDBSymbolTypeFunctionArg.cpp
76 PDBSymbolTypeFunctionSig.cpp
77 PDBSymbolTypeManaged.cpp
78 PDBSymbolTypePointer.cpp
79 PDBSymbolTypeTypedef.cpp
80 PDBSymbolTypeUDT.cpp
81 PDBSymbolTypeVTable.cpp
82 PDBSymbolTypeVTableShape.cpp
83 PDBSymbolUnknown.cpp
84 PDBSymbolUsingNamespace.cpp
Zachary Turner9a818ad2015-02-22 22:03:38 +000085 PDBSymDumper.cpp
Zachary Turnercffff262015-02-10 21:17:52 +000086 ${PDB_IMPL_SOURCES}
87
88 ADDITIONAL_HEADER_DIRS
89 ${LIBPDB_ADDITIONAL_HEADER_DIRS}
Zachary Turner0e9e6632015-02-06 20:30:52 +000090 )
Zachary Turnercffff262015-02-10 21:17:52 +000091
Chris Bieneman6a1b54a2015-03-23 20:03:57 +000092target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")