summaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorTomi Lähteenmäki <lihis@lihis.net>2025-03-28 11:53:14 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2025-04-05 22:37:52 +0300
commit4bc6b2701c39f88ba013c37856f1f90d4bbc9dca (patch)
treed6bb59360673abbf1a9ba177d1e6eb6ac09308c2 /test cases
parent1dde32681a88e6272b53b62adfb18d12926be3e3 (diff)
downloadmeson-4bc6b2701c39f88ba013c37856f1f90d4bbc9dca.tar.gz
cmake/interpreter: Don't add __CMake_build to includes
Don't add "<project_source_dir>/<subproject>/__CMake_build" directory to include directories. Fixes #12351
Diffstat (limited to 'test cases')
-rw-r--r--test cases/cmake/28 include directories/main.c9
-rw-r--r--test cases/cmake/28 include directories/meson.build17
-rw-r--r--test cases/cmake/28 include directories/subprojects/cmTest/CMakeLists.txt6
-rw-r--r--test cases/cmake/28 include directories/subprojects/cmTest/include/cmTest.h3
-rw-r--r--test cases/cmake/28 include directories/subprojects/cmTest/src/cmTest.c7
5 files changed, 42 insertions, 0 deletions
diff --git a/test cases/cmake/28 include directories/main.c b/test cases/cmake/28 include directories/main.c
new file mode 100644
index 000000000..bb7fe2966
--- /dev/null
+++ b/test cases/cmake/28 include directories/main.c
@@ -0,0 +1,9 @@
+#include <stdint.h>
+#include <cmTest.h>
+
+int main(void)
+{
+ cmTestFunc();
+ return 0;
+}
+
diff --git a/test cases/cmake/28 include directories/meson.build b/test cases/cmake/28 include directories/meson.build
new file mode 100644
index 000000000..e2c92d70f
--- /dev/null
+++ b/test cases/cmake/28 include directories/meson.build
@@ -0,0 +1,17 @@
+project('include directories test', 'c')
+
+cm = import('cmake')
+
+sub_pro = cm.subproject('cmTest')
+sub_dep = sub_pro.dependency('cmTest')
+
+missing_inc_dir_arg = '-Werror=missing-include-dirs'
+has_missing_inc_dir = meson.get_compiler('c').has_argument(missing_inc_dir_arg)
+if not has_missing_inc_dir
+ error('MESON_SKIP_TEST: Compiler does not support ' + missing_inc_dir_arg)
+else
+ add_project_arguments(missing_inc_dir_arg, language: 'c')
+endif
+
+exe1 = executable('exe1', ['main.c'], dependencies: [sub_dep])
+test('test1', exe1)
diff --git a/test cases/cmake/28 include directories/subprojects/cmTest/CMakeLists.txt b/test cases/cmake/28 include directories/subprojects/cmTest/CMakeLists.txt
new file mode 100644
index 000000000..66ea3cb30
--- /dev/null
+++ b/test cases/cmake/28 include directories/subprojects/cmTest/CMakeLists.txt
@@ -0,0 +1,6 @@
+cmake_minimum_required(VERSION ${CMAKE_VERSION})
+
+project(cmTest C)
+
+add_library(cmTest src/cmTest.c)
+target_include_directories(cmTest PUBLIC include)
diff --git a/test cases/cmake/28 include directories/subprojects/cmTest/include/cmTest.h b/test cases/cmake/28 include directories/subprojects/cmTest/include/cmTest.h
new file mode 100644
index 000000000..3af821cc3
--- /dev/null
+++ b/test cases/cmake/28 include directories/subprojects/cmTest/include/cmTest.h
@@ -0,0 +1,3 @@
+#pragma once
+
+void cmTestFunc(void);
diff --git a/test cases/cmake/28 include directories/subprojects/cmTest/src/cmTest.c b/test cases/cmake/28 include directories/subprojects/cmTest/src/cmTest.c
new file mode 100644
index 000000000..f77b694cc
--- /dev/null
+++ b/test cases/cmake/28 include directories/subprojects/cmTest/src/cmTest.c
@@ -0,0 +1,7 @@
+#include "include/cmTest.h"
+#include <stdio.h>
+
+void cmTestFunc(void)
+{
+ printf ("Hello\n");
+}