blob: 00ad1caa46fa0f10d8b93ce870137a6e203101ad [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
26 set(LIBPDB_ADDITIONAL_HEADER_DIRS "../../../include/llvm/DebugInfo/PDB/DIA/")
27
28endif()
29
30list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "../../../include/llvm/DebugInfo/PDB")
31
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 Turnera5549172015-02-10 22:43:25 +000035 PDBExtras.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000036 PDBInterfaceAnchors.cpp
37 PDBSymbol.cpp
Zachary Turner21473f72015-02-08 00:29:29 +000038 PDBSymbolAnnotation.cpp
39 PDBSymbolBlock.cpp
40 PDBSymbolCompiland.cpp
41 PDBSymbolCompilandDetails.cpp
Zachary Turner0e9e6632015-02-06 20:30:52 +000042 PDBSymbolCompilandEnv.cpp
43 PDBSymbolCustom.cpp
Zachary Turner21473f72015-02-08 00:29:29 +000044 PDBSymbolData.cpp
45 PDBSymbolExe.cpp
46 PDBSymbolFunc.cpp
47 PDBSymbolFuncDebugEnd.cpp
48 PDBSymbolFuncDebugStart.cpp
49 PDBSymbolLabel.cpp
50 PDBSymbolPublicSymbol.cpp
51 PDBSymbolThunk.cpp
52 PDBSymbolTypeArray.cpp
53 PDBSymbolTypeBaseClass.cpp
54 PDBSymbolTypeBuiltin.cpp
55 PDBSymbolTypeCustom.cpp
56 PDBSymbolTypeDimension.cpp
57 PDBSymbolTypeEnum.cpp
58 PDBSymbolTypeFriend.cpp
59 PDBSymbolTypeFunctionArg.cpp
60 PDBSymbolTypeFunctionSig.cpp
61 PDBSymbolTypeManaged.cpp
62 PDBSymbolTypePointer.cpp
63 PDBSymbolTypeTypedef.cpp
64 PDBSymbolTypeUDT.cpp
65 PDBSymbolTypeVTable.cpp
66 PDBSymbolTypeVTableShape.cpp
67 PDBSymbolUnknown.cpp
68 PDBSymbolUsingNamespace.cpp
Zachary Turnercffff262015-02-10 21:17:52 +000069 ${PDB_IMPL_SOURCES}
70
71 ADDITIONAL_HEADER_DIRS
72 ${LIBPDB_ADDITIONAL_HEADER_DIRS}
Zachary Turner0e9e6632015-02-06 20:30:52 +000073 )
Zachary Turnercffff262015-02-10 21:17:52 +000074
75target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")