summaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorDavid Fort <contact@hardening-consulting.com>2018-02-16 09:16:56 +0100
committerJussi Pakkanen <jpakkane@gmail.com>2019-01-17 20:48:28 +0200
commitceaebf6bac171317fffc2c6bf1bffbc9968a48cc (patch)
treeb60c72b8963f78c3ce998b52f9f6053aa2c1cfa1 /test cases
parent267792174c9921e6be296086b0c806a684432a1b (diff)
downloadmeson-ceaebf6bac171317fffc2c6bf1bffbc9968a48cc.tar.gz
add support for generating cmake files
This new cmake module allows to generate cmake package files. This may ease the porting for cmake projects that are exporting cmake package informations for other depending projects. The module uses as much as possible the templates provided by the cmake installation (and so cmake needs to be installed).
Diffstat (limited to 'test cases')
-rw-r--r--test cases/common/211 cmake module/cmake_project/CMakeLists.txt4
-rw-r--r--test cases/common/211 cmake module/installed_files.txt2
-rw-r--r--test cases/common/211 cmake module/meson.build31
-rw-r--r--test cases/common/211 cmake module/projectConfig.cmake.in4
4 files changed, 41 insertions, 0 deletions
diff --git a/test cases/common/211 cmake module/cmake_project/CMakeLists.txt b/test cases/common/211 cmake module/cmake_project/CMakeLists.txt
new file mode 100644
index 000000000..cd915846a
--- /dev/null
+++ b/test cases/common/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/common/211 cmake module/installed_files.txt b/test cases/common/211 cmake module/installed_files.txt
new file mode 100644
index 000000000..f8b11f017
--- /dev/null
+++ b/test cases/common/211 cmake module/installed_files.txt
@@ -0,0 +1,2 @@
+usr/lib/cmake/cmakeModule/cmakeModuleConfig.cmake
+usr/lib/cmake/cmakeModule/cmakeModuleConfigVersion.cmake \ No newline at end of file
diff --git a/test cases/common/211 cmake module/meson.build b/test cases/common/211 cmake module/meson.build
new file mode 100644
index 000000000..68f9993a6
--- /dev/null
+++ b/test cases/common/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/common/211 cmake module/projectConfig.cmake.in b/test cases/common/211 cmake module/projectConfig.cmake.in
new file mode 100644
index 000000000..fa3dfca0f
--- /dev/null
+++ b/test cases/common/211 cmake module/projectConfig.cmake.in
@@ -0,0 +1,4 @@
+@PACKAGE_INIT@
+
+set(MYVAR "@MYVAR@")
+set(MYQUOTEDVAR @MYQUOTEDVAR@)