• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1macro(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 "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/DIA")
27
28endif()
29
30list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB")
31
32add_llvm_library(LLVMDebugInfoPDB
33  IPDBSourceFile.cpp
34  PDB.cpp
35  PDBExtras.cpp
36  PDBInterfaceAnchors.cpp
37  PDBSymbol.cpp
38  PDBSymbolAnnotation.cpp
39  PDBSymbolBlock.cpp
40  PDBSymbolCompiland.cpp
41  PDBSymbolCompilandDetails.cpp
42  PDBSymbolCompilandEnv.cpp
43  PDBSymbolCustom.cpp
44  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
69  PDBSymDumper.cpp
70  ${PDB_IMPL_SOURCES}
71
72  ADDITIONAL_HEADER_DIRS
73  ${LIBPDB_ADDITIONAL_HEADER_DIRS}
74  )
75
76target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")
77