diff options
| author | David Fort <contact@hardening-consulting.com> | 2018-02-16 09:16:56 +0100 |
|---|---|---|
| committer | Jussi Pakkanen <jpakkane@gmail.com> | 2019-01-17 20:48:28 +0200 |
| commit | ceaebf6bac171317fffc2c6bf1bffbc9968a48cc (patch) | |
| tree | b60c72b8963f78c3ce998b52f9f6053aa2c1cfa1 /test cases | |
| parent | 267792174c9921e6be296086b0c806a684432a1b (diff) | |
| download | meson-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')
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@) |
