dwarfdump: Added macro support to llvm-dwarfdump tool.
[oota-llvm.git] / lib / DebugInfo / PDB / CMakeLists.txt
1 macro(add_pdb_impl_folder group)
2   list(APPEND PDB_IMPL_SOURCES ${ARGN})
3   source_group(${group} FILES ${ARGN})
4 endmacro()
5
6 if(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
28 endif()
29
30 list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB")
31
32 add_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
77 target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")