| project('cmakeSubTest', ['c', 'cpp']) |
| |
| # Fallback to a CMake subproject |
| sub_dep = dependency('cmModLib++', version: '>=1.2.3') |
| exe1 = executable('main', ['main.cpp'], dependencies: [sub_dep]) |
| test('test1', exe1) |
| |
| # Subproject contains both meson.build and CMakeLists.txt. It should default |
| # to meson but wrap force cmake. |
| subproject('force_cmake') |
| |
| testcase expect_error('Wrap method \'notfound\' is not supported, must be one of: meson, cmake, cargo') |
| subproject('broken_method') |
| endtestcase |
| |
| # With method=meson we can't use cmake.subproject() |
| cmake = import('cmake') |
| testcase expect_error('Wrap method is \'meson\' but we are trying to configure it with cmake') |
| cmake.subproject('meson_method') |
| endtestcase |
| |
| # cmake.subproject() force cmake method even if meson.build exists. |
| testcase expect_error('Subproject exists but has no CMakeLists.txt file.') |
| cmake.subproject('meson_subp') |
| endtestcase |
| |
| # Without specifying the method it defaults to meson even if CMakeLists.txt exists. |
| testcase expect_error('Subproject exists but has no meson.build file.') |
| subproject('cmake_subp') |
| endtestcase |