154 lines
4.2 KiB
CMake
154 lines
4.2 KiB
CMake
|
macro(add_pdb_impl_folder group)
|
||
|
list(APPEND PDB_IMPL_SOURCES ${ARGN})
|
||
|
source_group(${group} FILES ${ARGN})
|
||
|
endmacro()
|
||
|
|
||
|
if(LLVM_ENABLE_DIA_SDK)
|
||
|
include_directories(${MSVC_DIA_SDK_DIR}/include)
|
||
|
set(LIBPDB_LINK_FOLDERS "${MSVC_DIA_SDK_DIR}\\lib")
|
||
|
|
||
|
if ("$ENV{VSCMD_ARG_TGT_ARCH}" STREQUAL "arm64")
|
||
|
set(LIBPDB_LINK_FOLDERS "${LIBPDB_LINK_FOLDERS}\\arm64")
|
||
|
elseif ("$ENV{VSCMD_ARG_TGT_ARCH}" STREQUAL "arm")
|
||
|
set(LIBPDB_LINK_FOLDERS "${LIBPDB_LINK_FOLDERS}\\arm")
|
||
|
elseif (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||
|
set(LIBPDB_LINK_FOLDERS "${LIBPDB_LINK_FOLDERS}\\amd64")
|
||
|
endif()
|
||
|
file(TO_CMAKE_PATH "${LIBPDB_LINK_FOLDERS}\\diaguids.lib" LIBPDB_ADDITIONAL_LIBRARIES)
|
||
|
|
||
|
add_pdb_impl_folder(DIA
|
||
|
DIA/DIADataStream.cpp
|
||
|
DIA/DIAEnumDebugStreams.cpp
|
||
|
DIA/DIAEnumFrameData.cpp
|
||
|
DIA/DIAEnumInjectedSources.cpp
|
||
|
DIA/DIAEnumLineNumbers.cpp
|
||
|
DIA/DIAEnumSectionContribs.cpp
|
||
|
DIA/DIAEnumSourceFiles.cpp
|
||
|
DIA/DIAEnumSymbols.cpp
|
||
|
DIA/DIAEnumTables.cpp
|
||
|
DIA/DIAError.cpp
|
||
|
DIA/DIAFrameData.cpp
|
||
|
DIA/DIAInjectedSource.cpp
|
||
|
DIA/DIALineNumber.cpp
|
||
|
DIA/DIARawSymbol.cpp
|
||
|
DIA/DIASectionContrib.cpp
|
||
|
DIA/DIASession.cpp
|
||
|
DIA/DIASourceFile.cpp
|
||
|
DIA/DIATable.cpp
|
||
|
)
|
||
|
|
||
|
set(LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/DIA")
|
||
|
endif()
|
||
|
|
||
|
add_pdb_impl_folder(Native
|
||
|
Native/DbiModuleDescriptor.cpp
|
||
|
Native/DbiModuleDescriptorBuilder.cpp
|
||
|
Native/DbiModuleList.cpp
|
||
|
Native/DbiStream.cpp
|
||
|
Native/DbiStreamBuilder.cpp
|
||
|
Native/EnumTables.cpp
|
||
|
Native/GlobalsStream.cpp
|
||
|
Native/Hash.cpp
|
||
|
Native/HashTable.cpp
|
||
|
Native/InfoStream.cpp
|
||
|
Native/InfoStreamBuilder.cpp
|
||
|
Native/InjectedSourceStream.cpp
|
||
|
Native/ModuleDebugStream.cpp
|
||
|
Native/NativeCompilandSymbol.cpp
|
||
|
Native/NativeEnumGlobals.cpp
|
||
|
Native/NativeEnumInjectedSources.cpp
|
||
|
Native/NativeEnumLineNumbers.cpp
|
||
|
Native/NativeEnumModules.cpp
|
||
|
Native/NativeEnumTypes.cpp
|
||
|
Native/NativeEnumSymbols.cpp
|
||
|
Native/NativeExeSymbol.cpp
|
||
|
Native/NativeFunctionSymbol.cpp
|
||
|
Native/NativeInlineSiteSymbol.cpp
|
||
|
Native/NativeLineNumber.cpp
|
||
|
Native/NativePublicSymbol.cpp
|
||
|
Native/NativeRawSymbol.cpp
|
||
|
Native/NativeSourceFile.cpp
|
||
|
Native/NativeSymbolEnumerator.cpp
|
||
|
Native/NativeTypeArray.cpp
|
||
|
Native/NativeTypeBuiltin.cpp
|
||
|
Native/NativeTypeEnum.cpp
|
||
|
Native/NativeTypeFunctionSig.cpp
|
||
|
Native/NativeTypePointer.cpp
|
||
|
Native/NativeTypeTypedef.cpp
|
||
|
Native/NativeTypeUDT.cpp
|
||
|
Native/NativeTypeVTShape.cpp
|
||
|
Native/NamedStreamMap.cpp
|
||
|
Native/NativeSession.cpp
|
||
|
Native/PDBFile.cpp
|
||
|
Native/PDBFileBuilder.cpp
|
||
|
Native/PDBStringTable.cpp
|
||
|
Native/PDBStringTableBuilder.cpp
|
||
|
Native/PublicsStream.cpp
|
||
|
Native/GSIStreamBuilder.cpp
|
||
|
Native/RawError.cpp
|
||
|
Native/SymbolCache.cpp
|
||
|
Native/SymbolStream.cpp
|
||
|
Native/TpiHashing.cpp
|
||
|
Native/TpiStream.cpp
|
||
|
Native/TpiStreamBuilder.cpp
|
||
|
)
|
||
|
|
||
|
list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/Native")
|
||
|
list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB")
|
||
|
|
||
|
add_llvm_component_library(LLVMDebugInfoPDB
|
||
|
GenericError.cpp
|
||
|
IPDBSourceFile.cpp
|
||
|
PDB.cpp
|
||
|
PDBContext.cpp
|
||
|
PDBExtras.cpp
|
||
|
PDBInterfaceAnchors.cpp
|
||
|
PDBSymbol.cpp
|
||
|
PDBSymbolAnnotation.cpp
|
||
|
PDBSymbolBlock.cpp
|
||
|
PDBSymbolCompiland.cpp
|
||
|
PDBSymbolCompilandDetails.cpp
|
||
|
PDBSymbolCompilandEnv.cpp
|
||
|
PDBSymbolCustom.cpp
|
||
|
PDBSymbolData.cpp
|
||
|
PDBSymbolExe.cpp
|
||
|
PDBSymbolFunc.cpp
|
||
|
PDBSymbolFuncDebugEnd.cpp
|
||
|
PDBSymbolFuncDebugStart.cpp
|
||
|
PDBSymbolLabel.cpp
|
||
|
PDBSymbolPublicSymbol.cpp
|
||
|
PDBSymbolThunk.cpp
|
||
|
PDBSymbolTypeArray.cpp
|
||
|
PDBSymbolTypeBaseClass.cpp
|
||
|
PDBSymbolTypeBuiltin.cpp
|
||
|
PDBSymbolTypeCustom.cpp
|
||
|
PDBSymbolTypeDimension.cpp
|
||
|
PDBSymbolTypeEnum.cpp
|
||
|
PDBSymbolTypeFriend.cpp
|
||
|
PDBSymbolTypeFunctionArg.cpp
|
||
|
PDBSymbolTypeFunctionSig.cpp
|
||
|
PDBSymbolTypeManaged.cpp
|
||
|
PDBSymbolTypePointer.cpp
|
||
|
PDBSymbolTypeTypedef.cpp
|
||
|
PDBSymbolTypeUDT.cpp
|
||
|
PDBSymbolTypeVTable.cpp
|
||
|
PDBSymbolTypeVTableShape.cpp
|
||
|
PDBSymbolUnknown.cpp
|
||
|
PDBSymbolUsingNamespace.cpp
|
||
|
PDBSymDumper.cpp
|
||
|
UDTLayout.cpp
|
||
|
${PDB_IMPL_SOURCES}
|
||
|
|
||
|
ADDITIONAL_HEADER_DIRS
|
||
|
${LIBPDB_ADDITIONAL_HEADER_DIRS}
|
||
|
|
||
|
LINK_COMPONENTS
|
||
|
BinaryFormat
|
||
|
Object
|
||
|
Support
|
||
|
DebugInfoCodeView
|
||
|
DebugInfoMSF
|
||
|
)
|
||
|
|
||
|
target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")
|