1macro(add_pdb_impl_folder group) 2 list(APPEND PDB_IMPL_SOURCES ${ARGN}) 3 source_group(${group} FILES ${ARGN}) 4endmacro() 5 6if(LLVM_ENABLE_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/DIAEnumFrameData.cpp 18 DIA/DIAEnumInjectedSources.cpp 19 DIA/DIAEnumLineNumbers.cpp 20 DIA/DIAEnumSectionContribs.cpp 21 DIA/DIAEnumSourceFiles.cpp 22 DIA/DIAEnumSymbols.cpp 23 DIA/DIAEnumTables.cpp 24 DIA/DIAError.cpp 25 DIA/DIAFrameData.cpp 26 DIA/DIAInjectedSource.cpp 27 DIA/DIALineNumber.cpp 28 DIA/DIARawSymbol.cpp 29 DIA/DIASectionContrib.cpp 30 DIA/DIASession.cpp 31 DIA/DIASourceFile.cpp 32 DIA/DIATable.cpp 33 ) 34 35 set(LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/DIA") 36endif() 37 38add_pdb_impl_folder(Native 39 Native/DbiModuleDescriptor.cpp 40 Native/DbiModuleDescriptorBuilder.cpp 41 Native/DbiModuleList.cpp 42 Native/DbiStream.cpp 43 Native/DbiStreamBuilder.cpp 44 Native/EnumTables.cpp 45 Native/GlobalsStream.cpp 46 Native/Hash.cpp 47 Native/HashTable.cpp 48 Native/InfoStream.cpp 49 Native/InfoStreamBuilder.cpp 50 Native/InjectedSourceStream.cpp 51 Native/ModuleDebugStream.cpp 52 Native/NativeCompilandSymbol.cpp 53 Native/NativeEnumGlobals.cpp 54 Native/NativeEnumInjectedSources.cpp 55 Native/NativeEnumModules.cpp 56 Native/NativeEnumTypes.cpp 57 Native/NativeExeSymbol.cpp 58 Native/NativeRawSymbol.cpp 59 Native/NativeSymbolEnumerator.cpp 60 Native/NativeTypeArray.cpp 61 Native/NativeTypeBuiltin.cpp 62 Native/NativeTypeEnum.cpp 63 Native/NativeTypeFunctionSig.cpp 64 Native/NativeTypePointer.cpp 65 Native/NativeTypeTypedef.cpp 66 Native/NativeTypeUDT.cpp 67 Native/NativeTypeVTShape.cpp 68 Native/NamedStreamMap.cpp 69 Native/NativeSession.cpp 70 Native/PDBFile.cpp 71 Native/PDBFileBuilder.cpp 72 Native/PDBStringTable.cpp 73 Native/PDBStringTableBuilder.cpp 74 Native/PublicsStream.cpp 75 Native/GSIStreamBuilder.cpp 76 Native/RawError.cpp 77 Native/SymbolCache.cpp 78 Native/SymbolStream.cpp 79 Native/TpiHashing.cpp 80 Native/TpiStream.cpp 81 Native/TpiStreamBuilder.cpp 82 ) 83 84list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/Native") 85list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB") 86 87add_llvm_component_library(LLVMDebugInfoPDB 88 GenericError.cpp 89 IPDBSourceFile.cpp 90 PDB.cpp 91 PDBContext.cpp 92 PDBExtras.cpp 93 PDBInterfaceAnchors.cpp 94 PDBSymbol.cpp 95 PDBSymbolAnnotation.cpp 96 PDBSymbolBlock.cpp 97 PDBSymbolCompiland.cpp 98 PDBSymbolCompilandDetails.cpp 99 PDBSymbolCompilandEnv.cpp 100 PDBSymbolCustom.cpp 101 PDBSymbolData.cpp 102 PDBSymbolExe.cpp 103 PDBSymbolFunc.cpp 104 PDBSymbolFuncDebugEnd.cpp 105 PDBSymbolFuncDebugStart.cpp 106 PDBSymbolLabel.cpp 107 PDBSymbolPublicSymbol.cpp 108 PDBSymbolThunk.cpp 109 PDBSymbolTypeArray.cpp 110 PDBSymbolTypeBaseClass.cpp 111 PDBSymbolTypeBuiltin.cpp 112 PDBSymbolTypeCustom.cpp 113 PDBSymbolTypeDimension.cpp 114 PDBSymbolTypeEnum.cpp 115 PDBSymbolTypeFriend.cpp 116 PDBSymbolTypeFunctionArg.cpp 117 PDBSymbolTypeFunctionSig.cpp 118 PDBSymbolTypeManaged.cpp 119 PDBSymbolTypePointer.cpp 120 PDBSymbolTypeTypedef.cpp 121 PDBSymbolTypeUDT.cpp 122 PDBSymbolTypeVTable.cpp 123 PDBSymbolTypeVTableShape.cpp 124 PDBSymbolUnknown.cpp 125 PDBSymbolUsingNamespace.cpp 126 PDBSymDumper.cpp 127 UDTLayout.cpp 128 ${PDB_IMPL_SOURCES} 129 130 ADDITIONAL_HEADER_DIRS 131 ${LIBPDB_ADDITIONAL_HEADER_DIRS} 132 ) 133 134target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}") 135