109467b48Spatrickmacro(add_pdb_impl_folder group) 209467b48Spatrick list(APPEND PDB_IMPL_SOURCES ${ARGN}) 309467b48Spatrick source_group(${group} FILES ${ARGN}) 409467b48Spatrickendmacro() 509467b48Spatrick 609467b48Spatrickif(LLVM_ENABLE_DIA_SDK) 7*d415bd75Srobert include_directories(SYSTEM ${MSVC_DIA_SDK_DIR}/include) 809467b48Spatrick set(LIBPDB_LINK_FOLDERS "${MSVC_DIA_SDK_DIR}\\lib") 973471bf0Spatrick 1073471bf0Spatrick if ("$ENV{VSCMD_ARG_TGT_ARCH}" STREQUAL "arm64") 1173471bf0Spatrick set(LIBPDB_LINK_FOLDERS "${LIBPDB_LINK_FOLDERS}\\arm64") 1273471bf0Spatrick elseif ("$ENV{VSCMD_ARG_TGT_ARCH}" STREQUAL "arm") 1373471bf0Spatrick set(LIBPDB_LINK_FOLDERS "${LIBPDB_LINK_FOLDERS}\\arm") 1473471bf0Spatrick elseif (CMAKE_SIZEOF_VOID_P EQUAL 8) 1509467b48Spatrick set(LIBPDB_LINK_FOLDERS "${LIBPDB_LINK_FOLDERS}\\amd64") 1609467b48Spatrick endif() 1709467b48Spatrick file(TO_CMAKE_PATH "${LIBPDB_LINK_FOLDERS}\\diaguids.lib" LIBPDB_ADDITIONAL_LIBRARIES) 1809467b48Spatrick 1909467b48Spatrick add_pdb_impl_folder(DIA 2009467b48Spatrick DIA/DIADataStream.cpp 2109467b48Spatrick DIA/DIAEnumDebugStreams.cpp 2209467b48Spatrick DIA/DIAEnumFrameData.cpp 2309467b48Spatrick DIA/DIAEnumInjectedSources.cpp 2409467b48Spatrick DIA/DIAEnumLineNumbers.cpp 2509467b48Spatrick DIA/DIAEnumSectionContribs.cpp 2609467b48Spatrick DIA/DIAEnumSourceFiles.cpp 2709467b48Spatrick DIA/DIAEnumSymbols.cpp 2809467b48Spatrick DIA/DIAEnumTables.cpp 2909467b48Spatrick DIA/DIAError.cpp 3009467b48Spatrick DIA/DIAFrameData.cpp 3109467b48Spatrick DIA/DIAInjectedSource.cpp 3209467b48Spatrick DIA/DIALineNumber.cpp 3309467b48Spatrick DIA/DIARawSymbol.cpp 3409467b48Spatrick DIA/DIASectionContrib.cpp 3509467b48Spatrick DIA/DIASession.cpp 3609467b48Spatrick DIA/DIASourceFile.cpp 3709467b48Spatrick DIA/DIATable.cpp 3809467b48Spatrick ) 3909467b48Spatrick 4009467b48Spatrick set(LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/DIA") 4109467b48Spatrickendif() 4209467b48Spatrick 4309467b48Spatrickadd_pdb_impl_folder(Native 4409467b48Spatrick Native/DbiModuleDescriptor.cpp 4509467b48Spatrick Native/DbiModuleDescriptorBuilder.cpp 4609467b48Spatrick Native/DbiModuleList.cpp 4709467b48Spatrick Native/DbiStream.cpp 4809467b48Spatrick Native/DbiStreamBuilder.cpp 4909467b48Spatrick Native/EnumTables.cpp 50*d415bd75Srobert Native/FormatUtil.cpp 5109467b48Spatrick Native/GlobalsStream.cpp 5209467b48Spatrick Native/Hash.cpp 5309467b48Spatrick Native/HashTable.cpp 5409467b48Spatrick Native/InfoStream.cpp 5509467b48Spatrick Native/InfoStreamBuilder.cpp 5609467b48Spatrick Native/InjectedSourceStream.cpp 57*d415bd75Srobert Native/InputFile.cpp 58*d415bd75Srobert Native/LinePrinter.cpp 5909467b48Spatrick Native/ModuleDebugStream.cpp 6009467b48Spatrick Native/NativeCompilandSymbol.cpp 6109467b48Spatrick Native/NativeEnumGlobals.cpp 6209467b48Spatrick Native/NativeEnumInjectedSources.cpp 63097a140dSpatrick Native/NativeEnumLineNumbers.cpp 6409467b48Spatrick Native/NativeEnumModules.cpp 6509467b48Spatrick Native/NativeEnumTypes.cpp 6673471bf0Spatrick Native/NativeEnumSymbols.cpp 6709467b48Spatrick Native/NativeExeSymbol.cpp 68097a140dSpatrick Native/NativeFunctionSymbol.cpp 6973471bf0Spatrick Native/NativeInlineSiteSymbol.cpp 70097a140dSpatrick Native/NativeLineNumber.cpp 71097a140dSpatrick Native/NativePublicSymbol.cpp 7209467b48Spatrick Native/NativeRawSymbol.cpp 73097a140dSpatrick Native/NativeSourceFile.cpp 7409467b48Spatrick Native/NativeSymbolEnumerator.cpp 7509467b48Spatrick Native/NativeTypeArray.cpp 7609467b48Spatrick Native/NativeTypeBuiltin.cpp 7709467b48Spatrick Native/NativeTypeEnum.cpp 7809467b48Spatrick Native/NativeTypeFunctionSig.cpp 7909467b48Spatrick Native/NativeTypePointer.cpp 8009467b48Spatrick Native/NativeTypeTypedef.cpp 8109467b48Spatrick Native/NativeTypeUDT.cpp 8209467b48Spatrick Native/NativeTypeVTShape.cpp 8309467b48Spatrick Native/NamedStreamMap.cpp 8409467b48Spatrick Native/NativeSession.cpp 8509467b48Spatrick Native/PDBFile.cpp 8609467b48Spatrick Native/PDBFileBuilder.cpp 8709467b48Spatrick Native/PDBStringTable.cpp 8809467b48Spatrick Native/PDBStringTableBuilder.cpp 8909467b48Spatrick Native/PublicsStream.cpp 9009467b48Spatrick Native/GSIStreamBuilder.cpp 9109467b48Spatrick Native/RawError.cpp 9209467b48Spatrick Native/SymbolCache.cpp 9309467b48Spatrick Native/SymbolStream.cpp 9409467b48Spatrick Native/TpiHashing.cpp 9509467b48Spatrick Native/TpiStream.cpp 9609467b48Spatrick Native/TpiStreamBuilder.cpp 9709467b48Spatrick ) 9809467b48Spatrick 9909467b48Spatricklist(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/Native") 10009467b48Spatricklist(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB") 10109467b48Spatrick 10209467b48Spatrickadd_llvm_component_library(LLVMDebugInfoPDB 10309467b48Spatrick GenericError.cpp 10409467b48Spatrick IPDBSourceFile.cpp 10509467b48Spatrick PDB.cpp 10609467b48Spatrick PDBContext.cpp 10709467b48Spatrick PDBExtras.cpp 10809467b48Spatrick PDBInterfaceAnchors.cpp 10909467b48Spatrick PDBSymbol.cpp 11009467b48Spatrick PDBSymbolAnnotation.cpp 11109467b48Spatrick PDBSymbolBlock.cpp 11209467b48Spatrick PDBSymbolCompiland.cpp 11309467b48Spatrick PDBSymbolCompilandDetails.cpp 11409467b48Spatrick PDBSymbolCompilandEnv.cpp 11509467b48Spatrick PDBSymbolCustom.cpp 11609467b48Spatrick PDBSymbolData.cpp 11709467b48Spatrick PDBSymbolExe.cpp 11809467b48Spatrick PDBSymbolFunc.cpp 11909467b48Spatrick PDBSymbolFuncDebugEnd.cpp 12009467b48Spatrick PDBSymbolFuncDebugStart.cpp 12109467b48Spatrick PDBSymbolLabel.cpp 12209467b48Spatrick PDBSymbolPublicSymbol.cpp 12309467b48Spatrick PDBSymbolThunk.cpp 12409467b48Spatrick PDBSymbolTypeArray.cpp 12509467b48Spatrick PDBSymbolTypeBaseClass.cpp 12609467b48Spatrick PDBSymbolTypeBuiltin.cpp 12709467b48Spatrick PDBSymbolTypeCustom.cpp 12809467b48Spatrick PDBSymbolTypeDimension.cpp 12909467b48Spatrick PDBSymbolTypeEnum.cpp 13009467b48Spatrick PDBSymbolTypeFriend.cpp 13109467b48Spatrick PDBSymbolTypeFunctionArg.cpp 13209467b48Spatrick PDBSymbolTypeFunctionSig.cpp 13309467b48Spatrick PDBSymbolTypeManaged.cpp 13409467b48Spatrick PDBSymbolTypePointer.cpp 13509467b48Spatrick PDBSymbolTypeTypedef.cpp 13609467b48Spatrick PDBSymbolTypeUDT.cpp 13709467b48Spatrick PDBSymbolTypeVTable.cpp 13809467b48Spatrick PDBSymbolTypeVTableShape.cpp 13909467b48Spatrick PDBSymbolUnknown.cpp 14009467b48Spatrick PDBSymbolUsingNamespace.cpp 14109467b48Spatrick PDBSymDumper.cpp 14209467b48Spatrick UDTLayout.cpp 14309467b48Spatrick ${PDB_IMPL_SOURCES} 14409467b48Spatrick 14509467b48Spatrick ADDITIONAL_HEADER_DIRS 14609467b48Spatrick ${LIBPDB_ADDITIONAL_HEADER_DIRS} 14773471bf0Spatrick 14873471bf0Spatrick LINK_COMPONENTS 14973471bf0Spatrick BinaryFormat 15073471bf0Spatrick Object 15173471bf0Spatrick Support 15273471bf0Spatrick DebugInfoCodeView 15373471bf0Spatrick DebugInfoMSF 15409467b48Spatrick ) 15509467b48Spatrick 15609467b48Spatricktarget_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}") 157