Raising minimum required CMake version to 2.8.12.2.
[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 "${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   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   ${PDB_IMPL_SOURCES}
70
71   ADDITIONAL_HEADER_DIRS
72   ${LIBPDB_ADDITIONAL_HEADER_DIRS}
73   )
74
75 target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")