Files
archived-Reclass/third_party/raw_pdb/src/CMakeLists.txt
IChooseYou 1d7d384b93 feat: PDB import via RawPDB, no msdia140.dll dependency
Replace DIA SDK COM-based PDB importer with RawPDB (MolecularMatters)
which reads PDB files directly via memory-mapped I/O. Adds File menu
"Import PDB..." dialog with type filtering, selection, and progress.

- Vendor raw_pdb into third_party/
- Two-phase API: enumeratePdbTypes() + importPdbSelected()
- Full recursive import of structs/unions/arrays/pointers/bitfields
- PDB import dialog with name filter, select-all, type count
- Benchmark: 1654 types from ntkrnlmp.pdb in 16ms
- Reorganize import/export files into src/imports/
2026-02-21 17:18:24 -07:00

113 lines
2.1 KiB
CMake

set(SOURCES
Foundation/PDB_ArrayView.h
Foundation/PDB_Assert.h
Foundation/PDB_BitOperators.h
Foundation/PDB_BitUtil.h
Foundation/PDB_CRT.h
Foundation/PDB_Forward.h
Foundation/PDB_Log.h
Foundation/PDB_Macros.h
Foundation/PDB_Memory.h
Foundation/PDB_Move.h
Foundation/PDB_Platform.h
Foundation/PDB_PointerUtil.h
Foundation/PDB_TypeTraits.h
Foundation/PDB_Warnings.h
PDB.cpp
PDB.h
PDB_CoalescedMSFStream.cpp
PDB_CoalescedMSFStream.h
PDB_DBIStream.cpp
PDB_DBIStream.h
PDB_DBITypes.cpp
PDB_DBITypes.h
PDB_DirectMSFStream.cpp
PDB_DirectMSFStream.h
PDB_ErrorCodes.h
PDB_GlobalSymbolStream.cpp
PDB_GlobalSymbolStream.h
PDB_ImageSectionStream.cpp
PDB_ImageSectionStream.h
PDB_InfoStream.cpp
PDB_InfoStream.h
PDB_IPIStream.cpp
PDB_IPIStream.h
PDB_IPITypes.h
PDB_ModuleInfoStream.cpp
PDB_ModuleInfoStream.h
PDB_ModuleLineStream.cpp
PDB_ModuleLineStream.h
PDB_ModuleSymbolStream.cpp
PDB_ModuleSymbolStream.h
PDB_NamesStream.cpp
PDB_NamesStream.h
PDB_PCH.cpp
PDB_PCH.h
PDB_PublicSymbolStream.cpp
PDB_PublicSymbolStream.h
PDB_RawFile.cpp
PDB_RawFile.h
PDB_SectionContributionStream.cpp
PDB_SectionContributionStream.h
PDB_SourceFileStream.cpp
PDB_SourceFileStream.h
PDB_TPIStream.cpp
PDB_TPIStream.h
PDB_TPITypes.h
PDB_Types.cpp
PDB_Types.h
PDB_Util.h
)
source_group(src FILES
${SOURCES}
)
add_library(raw_pdb
${SOURCES}
)
target_include_directories(raw_pdb
PUBLIC
.
)
target_precompile_headers(raw_pdb
PRIVATE
PDB_PCH.h
)
option(RAWPDB_BUILD_EXAMPLES "Build Examples" ON)
if (RAWPDB_BUILD_EXAMPLES)
add_subdirectory(Examples)
endif()
if (UNIX)
include(GNUInstallDirs)
install(
TARGETS raw_pdb
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
)
file(GLOB_RECURSE HEADER_FILES
"${CMAKE_CURRENT_SOURCE_DIR}/*.h"
)
file(GLOB_RECURSE HEADER_FILES_FOUNDATION
"${CMAKE_CURRENT_SOURCE_DIR}/Foundation/*.h"
)
install(
FILES ${HEADER_FILES}
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/raw_pdb/"
)
install(
FILES ${HEADER_FILES_FOUNDATION}
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/raw_pdb/Foundation"
)
endif (UNIX)