157 lines · plain
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(SYSTEM ${MSVC_DIA_SDK_DIR}/include)8 set(LIBPDB_LINK_FOLDERS "${MSVC_DIA_SDK_DIR}\\lib")9 10 if ("$ENV{VSCMD_ARG_TGT_ARCH}" STREQUAL "arm64")11 set(LIBPDB_LINK_FOLDERS "${LIBPDB_LINK_FOLDERS}\\arm64")12 elseif ("$ENV{VSCMD_ARG_TGT_ARCH}" STREQUAL "arm")13 set(LIBPDB_LINK_FOLDERS "${LIBPDB_LINK_FOLDERS}\\arm")14 elseif (CMAKE_SIZEOF_VOID_P EQUAL 8)15 set(LIBPDB_LINK_FOLDERS "${LIBPDB_LINK_FOLDERS}\\amd64")16 endif()17 file(TO_CMAKE_PATH "${LIBPDB_LINK_FOLDERS}\\diaguids.lib" LIBPDB_ADDITIONAL_LIBRARIES)18 19 add_pdb_impl_folder(DIA20 DIA/DIADataStream.cpp21 DIA/DIAEnumDebugStreams.cpp22 DIA/DIAEnumFrameData.cpp23 DIA/DIAEnumInjectedSources.cpp24 DIA/DIAEnumLineNumbers.cpp25 DIA/DIAEnumSectionContribs.cpp26 DIA/DIAEnumSourceFiles.cpp27 DIA/DIAEnumSymbols.cpp28 DIA/DIAEnumTables.cpp29 DIA/DIAError.cpp30 DIA/DIAFrameData.cpp31 DIA/DIAInjectedSource.cpp32 DIA/DIALineNumber.cpp33 DIA/DIARawSymbol.cpp34 DIA/DIASectionContrib.cpp35 DIA/DIASession.cpp36 DIA/DIASourceFile.cpp37 DIA/DIATable.cpp38 )39 40 set(LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/DIA")41endif()42 43add_pdb_impl_folder(Native44 Native/DbiModuleDescriptor.cpp45 Native/DbiModuleDescriptorBuilder.cpp46 Native/DbiModuleList.cpp47 Native/DbiStream.cpp48 Native/DbiStreamBuilder.cpp49 Native/EnumTables.cpp50 Native/FormatUtil.cpp51 Native/GlobalsStream.cpp52 Native/Hash.cpp53 Native/HashTable.cpp54 Native/InfoStream.cpp55 Native/InfoStreamBuilder.cpp56 Native/InjectedSourceStream.cpp57 Native/InputFile.cpp58 Native/LinePrinter.cpp59 Native/ModuleDebugStream.cpp60 Native/NativeCompilandSymbol.cpp61 Native/NativeEnumGlobals.cpp62 Native/NativeEnumInjectedSources.cpp63 Native/NativeEnumLineNumbers.cpp64 Native/NativeEnumModules.cpp65 Native/NativeEnumTypes.cpp66 Native/NativeEnumSymbols.cpp67 Native/NativeExeSymbol.cpp68 Native/NativeFunctionSymbol.cpp69 Native/NativeInlineSiteSymbol.cpp70 Native/NativeLineNumber.cpp71 Native/NativePublicSymbol.cpp72 Native/NativeRawSymbol.cpp73 Native/NativeSourceFile.cpp74 Native/NativeSymbolEnumerator.cpp75 Native/NativeTypeArray.cpp76 Native/NativeTypeBuiltin.cpp77 Native/NativeTypeEnum.cpp78 Native/NativeTypeFunctionSig.cpp79 Native/NativeTypePointer.cpp80 Native/NativeTypeTypedef.cpp81 Native/NativeTypeUDT.cpp82 Native/NativeTypeVTShape.cpp83 Native/NamedStreamMap.cpp84 Native/NativeSession.cpp85 Native/PDBFile.cpp86 Native/PDBFileBuilder.cpp87 Native/PDBStringTable.cpp88 Native/PDBStringTableBuilder.cpp89 Native/PublicsStream.cpp90 Native/GSIStreamBuilder.cpp91 Native/RawError.cpp92 Native/SymbolCache.cpp93 Native/SymbolStream.cpp94 Native/TpiHashing.cpp95 Native/TpiStream.cpp96 Native/TpiStreamBuilder.cpp97 )98 99list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/Native")100list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB")101 102add_llvm_component_library(LLVMDebugInfoPDB103 GenericError.cpp104 IPDBSourceFile.cpp105 PDB.cpp106 PDBContext.cpp107 PDBExtras.cpp108 PDBInterfaceAnchors.cpp109 PDBSymbol.cpp110 PDBSymbolAnnotation.cpp111 PDBSymbolBlock.cpp112 PDBSymbolCompiland.cpp113 PDBSymbolCompilandDetails.cpp114 PDBSymbolCompilandEnv.cpp115 PDBSymbolCustom.cpp116 PDBSymbolData.cpp117 PDBSymbolExe.cpp118 PDBSymbolFunc.cpp119 PDBSymbolFuncDebugEnd.cpp120 PDBSymbolFuncDebugStart.cpp121 PDBSymbolLabel.cpp122 PDBSymbolPublicSymbol.cpp123 PDBSymbolThunk.cpp124 PDBSymbolTypeArray.cpp125 PDBSymbolTypeBaseClass.cpp126 PDBSymbolTypeBuiltin.cpp127 PDBSymbolTypeCustom.cpp128 PDBSymbolTypeDimension.cpp129 PDBSymbolTypeEnum.cpp130 PDBSymbolTypeFriend.cpp131 PDBSymbolTypeFunctionArg.cpp132 PDBSymbolTypeFunctionSig.cpp133 PDBSymbolTypeManaged.cpp134 PDBSymbolTypePointer.cpp135 PDBSymbolTypeTypedef.cpp136 PDBSymbolTypeUDT.cpp137 PDBSymbolTypeVTable.cpp138 PDBSymbolTypeVTableShape.cpp139 PDBSymbolUnknown.cpp140 PDBSymbolUsingNamespace.cpp141 PDBSymDumper.cpp142 UDTLayout.cpp143 ${PDB_IMPL_SOURCES}144 145 ADDITIONAL_HEADER_DIRS146 ${LIBPDB_ADDITIONAL_HEADER_DIRS}147 148 LINK_COMPONENTS149 BinaryFormat150 Object151 Support152 DebugInfoCodeView153 DebugInfoMSF154 )155 156target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")157