Add a test case triggering warning after adding nasm language

pull/13864/head
Frank Richter 4 months ago
parent 11a4da4733
commit 4c0de66cf3
  1. 18
      test cases/cmake/28 cmake nasm dependency/main.c
  2. 21
      test cases/cmake/28 cmake nasm dependency/meson.build
  3. 5
      test cases/cmake/28 cmake nasm dependency/subprojects/cmTest.wrap
  4. 20
      test cases/cmake/28 cmake nasm dependency/subprojects/cmTest/CMakeLists.txt
  5. 8
      test cases/cmake/28 cmake nasm dependency/subprojects/cmTest/cmTest.c
  6. 4
      test cases/cmake/28 cmake nasm dependency/subprojects/cmTest/cmTestAsm.asm
  7. 9
      test cases/cmake/28 cmake nasm dependency/test.json

@ -0,0 +1,18 @@
#include <stdint.h>
#include <stdio.h>
int32_t cmTestFunc(void);
int main(void)
{
if (cmTestFunc() > 4200)
{
printf("Test success.\n");
return 0;
}
else
{
printf("Test failure.\n");
return 1;
}
}

@ -0,0 +1,21 @@
project('cmake nasm dependency', ['c', 'cpp'])
if meson.is_cross_build()
error('MESON_SKIP_TEST: skip this on cross builds')
endif
if get_option('backend').startswith('vs')
error('MESON_SKIP_TEST: nasm is not supported by vs backend')
endif
if not add_languages('nasm', required: false, native: false)
error('MESON_SKIP_TEST: nasm not found')
endif
# Using this dependency triggers CMakeToolchain.update_cmake_compiler_state(),
# and with nasm as a language, resulted in a warning
# "Failed to determine CMake compilers state" after nasm was added as a language.
sub_dep = dependency('cmTest')
exe1 = executable('exe1', ['main.c'], dependencies: [sub_dep])
test('test1', exe1)

@ -0,0 +1,5 @@
[wrap-file]
method = cmake
[provide]
cmTest = cmTest_dep

@ -0,0 +1,20 @@
cmake_minimum_required(VERSION ${CMAKE_VERSION})
project(cmTest)
#Detect processor
if ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "[Aa][Mm][Dd]64")
SET(TEST_PROCESSOR "x86_64")
elseif ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "[Xx]86_64")
SET(TEST_PROCESSOR "x86_64")
elseif ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "[Ii]386")
SET(TEST_PROCESSOR "x86")
elseif ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "[Ii]686")
SET(TEST_PROCESSOR "x86")
else ()
message(FATAL_ERROR "MESON_SKIP_TEST: Unsupported Assembler Platform ${CMAKE_SYSTEM_PROCESSOR}")
endif ()
enable_language(ASM_NASM)
add_library(cmTest STATIC cmTest.c cmTestAsm.asm)

@ -0,0 +1,8 @@
#include <stdint.h>
extern const int32_t cmTestArea;
int32_t cmTestFunc(void)
{
return cmTestArea;
}

@ -0,0 +1,4 @@
SECTION .rdata
GLOBAL cmTestArea
cmTestArea:
dd 4242

@ -0,0 +1,9 @@
{
"stdout": [
{
"line": ".*CMake Toolchain: Failed to determine CMake compilers state.*",
"match": "re",
"count": 0
}
]
}
Loading…
Cancel
Save