Provide DIA implementation of DebugInfoPDB.
[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   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
28 endif()
29
30 list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "../../../include/llvm/DebugInfo/PDB")
31
32 add_llvm_library(LLVMDebugInfoPDB
33   PDB.cpp
34   PDBInterfaceAnchors.cpp
35   PDBSymbol.cpp
36   PDBSymbolAnnotation.cpp
37   PDBSymbolBlock.cpp
38   PDBSymbolCompiland.cpp
39   PDBSymbolCompilandDetails.cpp
40   PDBSymbolCompilandEnv.cpp
41   PDBSymbolCustom.cpp
42   PDBSymbolData.cpp
43   PDBSymbolExe.cpp
44   PDBSymbolFunc.cpp
45   PDBSymbolFuncDebugEnd.cpp
46   PDBSymbolFuncDebugStart.cpp
47   PDBSymbolLabel.cpp
48   PDBSymbolPublicSymbol.cpp
49   PDBSymbolThunk.cpp
50   PDBSymbolTypeArray.cpp
51   PDBSymbolTypeBaseClass.cpp
52   PDBSymbolTypeBuiltin.cpp
53   PDBSymbolTypeCustom.cpp
54   PDBSymbolTypeDimension.cpp
55   PDBSymbolTypeEnum.cpp
56   PDBSymbolTypeFriend.cpp
57   PDBSymbolTypeFunctionArg.cpp
58   PDBSymbolTypeFunctionSig.cpp
59   PDBSymbolTypeManaged.cpp
60   PDBSymbolTypePointer.cpp
61   PDBSymbolTypeTypedef.cpp
62   PDBSymbolTypeUDT.cpp
63   PDBSymbolTypeVTable.cpp
64   PDBSymbolTypeVTableShape.cpp
65   PDBSymbolUnknown.cpp
66   PDBSymbolUsingNamespace.cpp
67   ${PDB_IMPL_SOURCES}
68
69   ADDITIONAL_HEADER_DIRS
70   ${LIBPDB_ADDITIONAL_HEADER_DIRS}
71   )
72
73 target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")