blob: 68d3402c560343febd3b05322a19ef902a9a1a01 [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()
12 set(LIBPDB_ADDITIONAL_LIBRARIES "${LIBPDB_LINK_FOLDERS}\\diaguids.lib")
13
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 +000027
28endif()
29
Zachary Turner3bd47ce2015-02-11 03:28:02 +000030list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB")
Zachary Turnercffff262015-02-10 21:17:52 +000031
Zachary Turner0e9e6632015-02-06 20:30:52 +000032add_llvm_library(LLVMDebugInfoPDB
Zachary Turnera5549172015-02-10 22:43:25 +000033 IPDBSourceFile.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000034 PDB.cpp
Zachary Turner20dbd0d2015-04-27 17:19:51 +000035 PDBContext.cpp
Zachary Turnera5549172015-02-10 22:43:25 +000036 PDBExtras.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000037 PDBInterfaceAnchors.cpp
38 PDBSymbol.cpp
Zachary Turner21473f72015-02-08 00:29:29 +000039 PDBSymbolAnnotation.cpp
40 PDBSymbolBlock.cpp
41 PDBSymbolCompiland.cpp
42 PDBSymbolCompilandDetails.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000043 PDBSymbolCompilandEnv.cpp
44 PDBSymbolCustom.cpp
Zachary Turner21473f72015-02-08 00:29:29 +000045 PDBSymbolData.cpp
46 PDBSymbolExe.cpp
47 PDBSymbolFunc.cpp
48 PDBSymbolFuncDebugEnd.cpp
49 PDBSymbolFuncDebugStart.cpp
50 PDBSymbolLabel.cpp
51 PDBSymbolPublicSymbol.cpp
52 PDBSymbolThunk.cpp
53 PDBSymbolTypeArray.cpp
54 PDBSymbolTypeBaseClass.cpp
55 PDBSymbolTypeBuiltin.cpp
56 PDBSymbolTypeCustom.cpp
57 PDBSymbolTypeDimension.cpp
58 PDBSymbolTypeEnum.cpp
59 PDBSymbolTypeFriend.cpp
60 PDBSymbolTypeFunctionArg.cpp
61 PDBSymbolTypeFunctionSig.cpp
62 PDBSymbolTypeManaged.cpp
63 PDBSymbolTypePointer.cpp
64 PDBSymbolTypeTypedef.cpp
65 PDBSymbolTypeUDT.cpp
66 PDBSymbolTypeVTable.cpp
67 PDBSymbolTypeVTableShape.cpp
68 PDBSymbolUnknown.cpp
69 PDBSymbolUsingNamespace.cpp
Zachary Turner9a818ad2015-02-22 22:03:38 +000070 PDBSymDumper.cpp
Zachary Turnercffff262015-02-10 21:17:52 +000071 ${PDB_IMPL_SOURCES}
72
73 ADDITIONAL_HEADER_DIRS
74 ${LIBPDB_ADDITIONAL_HEADER_DIRS}
Zachary Turner0e9e6632015-02-06 20:30:52 +000075 )
Zachary Turnercffff262015-02-10 21:17:52 +000076
Chris Bieneman6a1b54a2015-03-23 20:03:57 +000077target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")