• 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  file(TO_CMAKE_PATH "${LIBPDB_LINK_FOLDERS}\\diaguids.lib" LIBPDB_ADDITIONAL_LIBRARIES)
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  PDBContext.cpp
36  PDBExtras.cpp
37  PDBInterfaceAnchors.cpp
38  PDBSymbol.cpp
39  PDBSymbolAnnotation.cpp
40  PDBSymbolBlock.cpp
41  PDBSymbolCompiland.cpp
42  PDBSymbolCompilandDetails.cpp
43  PDBSymbolCompilandEnv.cpp
44  PDBSymbolCustom.cpp
45  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
70  PDBSymDumper.cpp
71  ${PDB_IMPL_SOURCES}
72
73  ADDITIONAL_HEADER_DIRS
74  ${LIBPDB_ADDITIONAL_HEADER_DIRS}
75  )
76
77target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")
78