blob: 9d5eb69dbf5a1b2bb57e009e926befaf77e435fc [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
20 DIA/DIALineNumber.cpp
21 DIA/DIARawSymbol.cpp
22 DIA/DIASession.cpp
23 DIA/DIASourceFile.cpp
24 )
25
Zachary Turner3bd47ce2015-02-11 03:28:02 +000026 set(LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/DIA")
Zachary Turnercffff262015-02-10 21:17:52 +000027endif()
28
Zachary Turnera12b3d42016-04-21 20:58:35 +000029add_pdb_impl_folder(Raw
30 Raw/PDBFile.cpp
31 Raw/PDBStream.cpp
32 Raw/RawSession.cpp)
33
Zachary Turner3bd47ce2015-02-11 03:28:02 +000034list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB")
Zachary Turnercffff262015-02-10 21:17:52 +000035
Zachary Turner0e9e6632015-02-06 20:30:52 +000036add_llvm_library(LLVMDebugInfoPDB
Zachary Turnera5549172015-02-10 22:43:25 +000037 IPDBSourceFile.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000038 PDB.cpp
Zachary Turner20dbd0d2015-04-27 17:19:51 +000039 PDBContext.cpp
Zachary Turnera5549172015-02-10 22:43:25 +000040 PDBExtras.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000041 PDBInterfaceAnchors.cpp
42 PDBSymbol.cpp
Zachary Turner21473f72015-02-08 00:29:29 +000043 PDBSymbolAnnotation.cpp
44 PDBSymbolBlock.cpp
45 PDBSymbolCompiland.cpp
46 PDBSymbolCompilandDetails.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000047 PDBSymbolCompilandEnv.cpp
48 PDBSymbolCustom.cpp
Zachary Turner21473f72015-02-08 00:29:29 +000049 PDBSymbolData.cpp
50 PDBSymbolExe.cpp
51 PDBSymbolFunc.cpp
52 PDBSymbolFuncDebugEnd.cpp
53 PDBSymbolFuncDebugStart.cpp
54 PDBSymbolLabel.cpp
55 PDBSymbolPublicSymbol.cpp
56 PDBSymbolThunk.cpp
57 PDBSymbolTypeArray.cpp
58 PDBSymbolTypeBaseClass.cpp
59 PDBSymbolTypeBuiltin.cpp
60 PDBSymbolTypeCustom.cpp
61 PDBSymbolTypeDimension.cpp
62 PDBSymbolTypeEnum.cpp
63 PDBSymbolTypeFriend.cpp
64 PDBSymbolTypeFunctionArg.cpp
65 PDBSymbolTypeFunctionSig.cpp
66 PDBSymbolTypeManaged.cpp
67 PDBSymbolTypePointer.cpp
68 PDBSymbolTypeTypedef.cpp
69 PDBSymbolTypeUDT.cpp
70 PDBSymbolTypeVTable.cpp
71 PDBSymbolTypeVTableShape.cpp
72 PDBSymbolUnknown.cpp
73 PDBSymbolUsingNamespace.cpp
Zachary Turner9a818ad2015-02-22 22:03:38 +000074 PDBSymDumper.cpp
Zachary Turnercffff262015-02-10 21:17:52 +000075 ${PDB_IMPL_SOURCES}
76
77 ADDITIONAL_HEADER_DIRS
78 ${LIBPDB_ADDITIONAL_HEADER_DIRS}
Zachary Turner0e9e6632015-02-06 20:30:52 +000079 )
Zachary Turnercffff262015-02-10 21:17:52 +000080
Chris Bieneman6a1b54a2015-03-23 20:03:57 +000081target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")