blob: 76230bbf6d1e25e59b30728ee3a6ddb551438957 [file] [log] [blame]
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