aboutsummaryrefslogtreecommitdiff
path: root/test cases/cmake
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2020-01-23 15:23:13 +0000
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2020-09-10 07:20:41 +0000
commit88e13c5f7c8e977ed879cabaa2800c211a536b60 (patch)
tree3e168d5b347d8925cc78885de845febc2cc92fa4 /test cases/cmake
parent79b2eeb1baae4097335997c191e1eb9626f27ce5 (diff)
downloadmeson-88e13c5f7c8e977ed879cabaa2800c211a536b60.zip
meson-88e13c5f7c8e977ed879cabaa2800c211a536b60.tar.gz
meson-88e13c5f7c8e977ed879cabaa2800c211a536b60.tar.bz2
Split tests out from 'common' which require a native compiler
Split out tests (and parts of tests) which require a native compiler from the 'common' suite to a new suite called 'native', so we can selectively avoid running those tests when only a cross-compiler is available. Also move test '211 cmake module' to 'cmake' suite, since it appears that the way we use cmake requires a native compiler.
Diffstat (limited to 'test cases/cmake')
-rw-r--r--test cases/cmake/211 cmake module/cmake_project/CMakeLists.txt4
-rw-r--r--test cases/cmake/211 cmake module/meson.build31
-rw-r--r--test cases/cmake/211 cmake module/projectConfig.cmake.in4
-rw-r--r--test cases/cmake/211 cmake module/test.json6
4 files changed, 45 insertions, 0 deletions
diff --git a/test cases/cmake/211 cmake module/cmake_project/CMakeLists.txt b/test cases/cmake/211 cmake module/cmake_project/CMakeLists.txt
new file mode 100644
index 0000000..cd91584
--- /dev/null
+++ b/test cases/cmake/211 cmake module/cmake_project/CMakeLists.txt
@@ -0,0 +1,4 @@
+cmake_minimum_required(VERSION 2.8)
+project(cmakeMeson C)
+
+find_package(cmakeModule REQUIRED) \ No newline at end of file
diff --git a/test cases/cmake/211 cmake module/meson.build b/test cases/cmake/211 cmake module/meson.build
new file mode 100644
index 0000000..68f9993
--- /dev/null
+++ b/test cases/cmake/211 cmake module/meson.build
@@ -0,0 +1,31 @@
+project('cmakeModule', 'c', version: '1.0.0')
+
+if build_machine.system() == 'cygwin'
+ error('MESON_SKIP_TEST CMake is broken on Cygwin.')
+endif
+
+cmake_bin = find_program('cmake', required: false)
+if not cmake_bin.found()
+ error('MESON_SKIP_TEST CMake not installed.')
+endif
+
+cc = meson.get_compiler('c')
+if cc.get_id() == 'clang-cl' and meson.backend() == 'ninja' and build_machine.system() == 'windows'
+ error('MESON_SKIP_TEST CMake installation nor operational for vs2017 clangclx64ninja')
+endif
+
+cmake = import('cmake')
+
+cmake.write_basic_package_version_file(version: '0.0.1',
+ name: 'cmakeModule',
+)
+
+conf = configuration_data()
+conf.set('MYVAR', 'my variable value')
+conf.set_quoted('MYQUOTEDVAR', 'my quoted variable value')
+
+cmake.configure_package_config_file(
+ input: 'projectConfig.cmake.in',
+ name: 'cmakeModule',
+ configuration: conf,
+)
diff --git a/test cases/cmake/211 cmake module/projectConfig.cmake.in b/test cases/cmake/211 cmake module/projectConfig.cmake.in
new file mode 100644
index 0000000..fa3dfca
--- /dev/null
+++ b/test cases/cmake/211 cmake module/projectConfig.cmake.in
@@ -0,0 +1,4 @@
+@PACKAGE_INIT@
+
+set(MYVAR "@MYVAR@")
+set(MYQUOTEDVAR @MYQUOTEDVAR@)
diff --git a/test cases/cmake/211 cmake module/test.json b/test cases/cmake/211 cmake module/test.json
new file mode 100644
index 0000000..2a5625a
--- /dev/null
+++ b/test cases/cmake/211 cmake module/test.json
@@ -0,0 +1,6 @@
+{
+ "installed": [
+ {"type": "file", "file": "usr/lib/cmake/cmakeModule/cmakeModuleConfig.cmake"},
+ {"type": "file", "file": "usr/lib/cmake/cmakeModule/cmakeModuleConfigVersion.cmake"}
+ ]
+}