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/NativeEnumLineNumbers.cpp 56 Native/NativeEnumModules.cpp 57 Native/NativeEnumTypes.cpp 58 Native/NativeExeSymbol.cpp 59 Native/NativeFunctionSymbol.cpp 60 Native/NativeLineNumber.cpp 61 Native/NativePublicSymbol.cpp 62 Native/NativeRawSymbol.cpp 63 Native/NativeSourceFile.cpp 64 Native/NativeSymbolEnumerator.cpp 65 Native/NativeTypeArray.cpp 66 Native/NativeTypeBuiltin.cpp 67 Native/NativeTypeEnum.cpp 68 Native/NativeTypeFunctionSig.cpp 69 Native/NativeTypePointer.cpp 70 Native/NativeTypeTypedef.cpp 71 Native/NativeTypeUDT.cpp 72 Native/NativeTypeVTShape.cpp 73 Native/NamedStreamMap.cpp 74 Native/NativeSession.cpp 75 Native/PDBFile.cpp 76 Native/PDBFileBuilder.cpp 77 Native/PDBStringTable.cpp 78 Native/PDBStringTableBuilder.cpp 79 Native/PublicsStream.cpp 80 Native/GSIStreamBuilder.cpp 81 Native/RawError.cpp 82 Native/SymbolCache.cpp 83 Native/SymbolStream.cpp 84 Native/TpiHashing.cpp 85 Native/TpiStream.cpp 86 Native/TpiStreamBuilder.cpp 87 ) 88 89list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/Native") 90list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB") 91 92add_llvm_component_library(LLVMDebugInfoPDB 93 GenericError.cpp 94 IPDBSourceFile.cpp 95 PDB.cpp 96 PDBContext.cpp 97 PDBExtras.cpp 98 PDBInterfaceAnchors.cpp 99 PDBSymbol.cpp 100 PDBSymbolAnnotation.cpp 101 PDBSymbolBlock.cpp 102 PDBSymbolCompiland.cpp 103 PDBSymbolCompilandDetails.cpp 104 PDBSymbolCompilandEnv.cpp 105 PDBSymbolCustom.cpp 106 PDBSymbolData.cpp 107 PDBSymbolExe.cpp 108 PDBSymbolFunc.cpp 109 PDBSymbolFuncDebugEnd.cpp 110 PDBSymbolFuncDebugStart.cpp 111 PDBSymbolLabel.cpp 112 PDBSymbolPublicSymbol.cpp 113 PDBSymbolThunk.cpp 114 PDBSymbolTypeArray.cpp 115 PDBSymbolTypeBaseClass.cpp 116 PDBSymbolTypeBuiltin.cpp 117 PDBSymbolTypeCustom.cpp 118 PDBSymbolTypeDimension.cpp 119 PDBSymbolTypeEnum.cpp 120 PDBSymbolTypeFriend.cpp 121 PDBSymbolTypeFunctionArg.cpp 122 PDBSymbolTypeFunctionSig.cpp 123 PDBSymbolTypeManaged.cpp 124 PDBSymbolTypePointer.cpp 125 PDBSymbolTypeTypedef.cpp 126 PDBSymbolTypeUDT.cpp 127 PDBSymbolTypeVTable.cpp 128 PDBSymbolTypeVTableShape.cpp 129 PDBSymbolUnknown.cpp 130 PDBSymbolUsingNamespace.cpp 131 PDBSymDumper.cpp 132 UDTLayout.cpp 133 ${PDB_IMPL_SOURCES} 134 135 ADDITIONAL_HEADER_DIRS 136 ${LIBPDB_ADDITIONAL_HEADER_DIRS} 137 ) 138 139target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}") 140