Home | History | Annotate | Download | only in PDB
      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/DIAError.cpp
     21     DIA/DIALineNumber.cpp
     22     DIA/DIARawSymbol.cpp
     23     DIA/DIASession.cpp
     24     DIA/DIASourceFile.cpp
     25     )
     26 
     27     set(LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/DIA")
     28 endif()
     29 
     30 add_pdb_impl_folder(Raw
     31   Raw/DbiStream.cpp
     32   Raw/DbiStreamBuilder.cpp
     33   Raw/EnumTables.cpp
     34   Raw/Hash.cpp
     35   Raw/IndexedStreamData.cpp
     36   Raw/InfoStream.cpp
     37   Raw/InfoStreamBuilder.cpp
     38   Raw/MappedBlockStream.cpp
     39   Raw/ModInfo.cpp
     40   Raw/ModStream.cpp
     41   Raw/NameHashTable.cpp
     42   Raw/NameMap.cpp
     43   Raw/PDBFile.cpp
     44   Raw/PDBFileBuilder.cpp
     45   Raw/PublicsStream.cpp
     46   Raw/RawError.cpp
     47   Raw/RawSession.cpp
     48   Raw/SymbolStream.cpp
     49   Raw/TpiStream.cpp)
     50 
     51 list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/Raw")
     52 list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB")
     53 
     54 add_llvm_library(LLVMDebugInfoPDB
     55   GenericError.cpp
     56   IPDBSourceFile.cpp
     57   PDB.cpp
     58   PDBContext.cpp
     59   PDBExtras.cpp
     60   PDBInterfaceAnchors.cpp
     61   PDBSymbol.cpp
     62   PDBSymbolAnnotation.cpp
     63   PDBSymbolBlock.cpp
     64   PDBSymbolCompiland.cpp
     65   PDBSymbolCompilandDetails.cpp
     66   PDBSymbolCompilandEnv.cpp
     67   PDBSymbolCustom.cpp
     68   PDBSymbolData.cpp
     69   PDBSymbolExe.cpp
     70   PDBSymbolFunc.cpp
     71   PDBSymbolFuncDebugEnd.cpp
     72   PDBSymbolFuncDebugStart.cpp
     73   PDBSymbolLabel.cpp
     74   PDBSymbolPublicSymbol.cpp
     75   PDBSymbolThunk.cpp
     76   PDBSymbolTypeArray.cpp
     77   PDBSymbolTypeBaseClass.cpp
     78   PDBSymbolTypeBuiltin.cpp
     79   PDBSymbolTypeCustom.cpp
     80   PDBSymbolTypeDimension.cpp
     81   PDBSymbolTypeEnum.cpp
     82   PDBSymbolTypeFriend.cpp
     83   PDBSymbolTypeFunctionArg.cpp
     84   PDBSymbolTypeFunctionSig.cpp
     85   PDBSymbolTypeManaged.cpp
     86   PDBSymbolTypePointer.cpp
     87   PDBSymbolTypeTypedef.cpp
     88   PDBSymbolTypeUDT.cpp
     89   PDBSymbolTypeVTable.cpp
     90   PDBSymbolTypeVTableShape.cpp
     91   PDBSymbolUnknown.cpp
     92   PDBSymbolUsingNamespace.cpp
     93   PDBSymDumper.cpp
     94   ${PDB_IMPL_SOURCES}
     95 
     96   ADDITIONAL_HEADER_DIRS
     97   ${LIBPDB_ADDITIONAL_HEADER_DIRS}
     98   )
     99 
    100 target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")
    101