From 1debf766f8ab6bda5a984597288c38f903d9f8ec Mon Sep 17 00:00:00 2001 From: fhgffy <102001626+fhgffy@users.noreply.github.com> Date: Tue, 6 Oct 2026 04:23:59 +0800 Subject: [PATCH] cmake: propagate public header directory to target consumers --- CMakeLists.txt | 1 + tests/CMakeLists.txt | 3 +++ tests/Makefile.am | 2 +- tests/test_cmake_target.c | 9 +++++++++ 4 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 tests/test_cmake_target.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 773e0374..5ddf054f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -116,6 +116,7 @@ if(BUILD_SHARED_LIBS) else() add_library(qrencode ${QRENCODE_SRCS} ${QRENCODE_HDRS}) endif() +target_include_directories(qrencode INTERFACE "$") if(CMAKE_USE_PTHREADS_INIT) target_link_libraries(qrencode Threads::Threads) endif() diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 4c4a5e81..71951e1d 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -79,3 +79,6 @@ if(TARGET ICONV::ICONV) endif() endif() +add_executable(test_cmake_target test_cmake_target.c) +target_link_libraries(test_cmake_target qrencode) +add_test(test_cmake_target test_cmake_target) diff --git a/tests/Makefile.am b/tests/Makefile.am index c7cfad1b..2f4fcf4b 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -23,7 +23,7 @@ noinst_PROGRAMS += pthread_qrencode endif TESTS = $(check_PROGRAMS) -EXTRA_DIST = test_all.sh test_basic.sh test_configure.sh frame URI_testset.inc CMakeLists.txt +EXTRA_DIST = test_all.sh test_basic.sh test_configure.sh frame URI_testset.inc CMakeLists.txt test_cmake_target.c libdecoder_a_SOURCES = decoder.c decoder.h datachunk.c datachunk.h rsecc_decoder.c rsecc_decoder.h diff --git a/tests/test_cmake_target.c b/tests/test_cmake_target.c new file mode 100644 index 00000000..45aba11b --- /dev/null +++ b/tests/test_cmake_target.c @@ -0,0 +1,9 @@ +#include + +int main(void) +{ + QRcode *code = QRcode_encodeString("CMake target", 0, QR_ECLEVEL_L, QR_MODE_8, 1); + if(code == 0) return 1; + QRcode_free(code); + return 0; +}