42 lines
1.6 KiB
CMake
42 lines
1.6 KiB
CMake
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
# SPDX-FileCopyrightText: 2025 ai-ad4 and the FreePDFEditor contributors
|
|
# spike/CMakeLists.txt
|
|
#
|
|
# M0 feasibility spikes (§14). Each spike is its own executable so it can be run
|
|
# independently and its results reported separately by CI. The spikes link only
|
|
# against the leaf libraries they exercise (QPDF here), not against Qt.
|
|
|
|
find_package(QPDF CONFIG QUIET)
|
|
|
|
if(NOT QPDF_FOUND)
|
|
message(STATUS
|
|
"QPDF not found — Spike A (verbatim round-trip) will not be built. "
|
|
"Install qpdf (vcpkg, system package, or from source) to enable it.")
|
|
return()
|
|
endif()
|
|
|
|
add_executable(spike_a_verbatim_roundtrip
|
|
common/SpikeRunner.cpp
|
|
common/SpikeRunner.h
|
|
A_verbatim_roundtrip/main.cpp
|
|
A_verbatim_roundtrip/Roundtrip.cpp
|
|
A_verbatim_roundtrip/Roundtrip.h
|
|
)
|
|
target_link_libraries(spike_a_verbatim_roundtrip PRIVATE QPDF::qpdf)
|
|
target_compile_features(spike_a_verbatim_roundtrip PRIVATE cxx_std_20)
|
|
freepdfeditor_apply_warnings(spike_a_verbatim_roundtrip)
|
|
freepdfeditor_apply_hardening(spike_a_verbatim_roundtrip)
|
|
|
|
# Spike C (hb-subset growth of an existing subset font) is left as a placeholder
|
|
# until HarfBuzz is wired in; it is exercised from a standalone harness in CI.
|
|
if(FALSE)
|
|
find_package(harfbuzz CONFIG QUIET)
|
|
if(harfbuzz_FOUND)
|
|
add_executable(spike_c_subset_growth
|
|
common/SpikeRunner.cpp
|
|
common/SpikeRunner.h
|
|
C_subset_growth/main.cpp
|
|
)
|
|
target_link_libraries(spike_c_subset_growth PRIVATE harfbuzz::harfbuzz harfbuzz::harfbuzz-subset)
|
|
endif()
|
|
endif() |