1macro(add_pdb_impl_folder group) 2 list(APPEND PDB_IMPL_SOURCES ${ARGN}) 3 source_group(${group} FILES ${ARGN}) 4endmacro() 5 6if(HAVE_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/DIAEnumLineNumbers.cpp 18 DIA/DIAEnumSourceFiles.cpp 19 DIA/DIAEnumSymbols.cpp 20 DIA/DIALineNumber.cpp 21 DIA/DIARawSymbol.cpp 22 DIA/DIASession.cpp 23 DIA/DIASourceFile.cpp 24 ) 25 26 set(LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/DIA") 27 28endif() 29 30list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB") 31 32add_llvm_library(LLVMDebugInfoPDB 33 IPDBSourceFile.cpp 34 PDB.cpp 35 PDBContext.cpp 36 PDBExtras.cpp 37 PDBInterfaceAnchors.cpp 38 PDBSymbol.cpp 39 PDBSymbolAnnotation.cpp 40 PDBSymbolBlock.cpp 41 PDBSymbolCompiland.cpp 42 PDBSymbolCompilandDetails.cpp 43 PDBSymbolCompilandEnv.cpp 44 PDBSymbolCustom.cpp 45 PDBSymbolData.cpp 46 PDBSymbolExe.cpp 47 PDBSymbolFunc.cpp 48 PDBSymbolFuncDebugEnd.cpp 49 PDBSymbolFuncDebugStart.cpp 50 PDBSymbolLabel.cpp 51 PDBSymbolPublicSymbol.cpp 52 PDBSymbolThunk.cpp 53 PDBSymbolTypeArray.cpp 54 PDBSymbolTypeBaseClass.cpp 55 PDBSymbolTypeBuiltin.cpp 56 PDBSymbolTypeCustom.cpp 57 PDBSymbolTypeDimension.cpp 58 PDBSymbolTypeEnum.cpp 59 PDBSymbolTypeFriend.cpp 60 PDBSymbolTypeFunctionArg.cpp 61 PDBSymbolTypeFunctionSig.cpp 62 PDBSymbolTypeManaged.cpp 63 PDBSymbolTypePointer.cpp 64 PDBSymbolTypeTypedef.cpp 65 PDBSymbolTypeUDT.cpp 66 PDBSymbolTypeVTable.cpp 67 PDBSymbolTypeVTableShape.cpp 68 PDBSymbolUnknown.cpp 69 PDBSymbolUsingNamespace.cpp 70 PDBSymDumper.cpp 71 ${PDB_IMPL_SOURCES} 72 73 ADDITIONAL_HEADER_DIRS 74 ${LIBPDB_ADDITIONAL_HEADER_DIRS} 75 ) 76 77target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}") 78