ladybird/Libraries/LibGC/CMakeLists.txt
Ali Mohammad Pur 76f17f7703 LibGC: Add support for coordinated multi-heap collection
Allow having separate GC heaps and implement coordinated marking between
them; this is useful for keeping wasm and js GC heaps separated with a
clear boundary.
2026-06-19 17:01:47 +02:00

33 lines
928 B
CMake

set(SOURCES
BlockAllocator.cpp
Cell.cpp
CellAllocator.cpp
ConservativeHashMap.cpp
ConservativeHashTable.cpp
ConservativeRangeProvider.cpp
ConservativeVector.cpp
CrossHeapMember.cpp
Root.cpp
RootHashMap.cpp
RootHashTable.cpp
RootVector.cpp
Heap.cpp
HeapGroup.cpp
HeapBlock.cpp
Timer.cpp
WeakBlock.cpp
WeakContainer.cpp
)
ladybird_lib(LibGC gc EXPLICIT_SYMBOL_EXPORT)
target_link_libraries(LibGC PRIVATE LibCore)
target_link_libraries(LibGC PUBLIC LibSync LibThreading)
if(cpptrace_FOUND AND LADYBIRD_ENABLE_CPPTRACE)
target_link_libraries(LibGC PRIVATE cpptrace::cpptrace)
target_compile_definitions(LibGC PRIVATE LIBGC_HAS_CPPTRACE=1)
endif()
# TODO: Use ladybird_generate_export_header and annotate entire LibGC with export macros
include(GenerateExportHeader)
generate_export_header(LibGC EXPORT_MACRO_NAME GC_API EXPORT_FILE_NAME "Export.h")