Imported Upstream version 3.25.0
[platform/upstream/cmake.git] / Tests / RunCMake / NinjaMultiConfig / CompileCommands-check.cmake
1 set(expected_compile_commands
2 [==[^\[
3 {
4   "directory": "[^
5 ]*(/Tests/RunCMake/NinjaMultiConfig/CompileCommands-build|\\\\Tests\\\\RunCMake\\\\NinjaMultiConfig\\\\CompileCommands-build)",
6   "command": "[^
7 ]*Debug[^
8 ]*",
9   "file": "[^
10 ]*(/Tests/RunCMake/NinjaMultiConfig/main\.c|\\\\Tests\\\\RunCMake\\\\NinjaMultiConfig\\\\main\.c)"
11 },
12 {
13   "directory": "[^
14 ]*(/Tests/RunCMake/NinjaMultiConfig/CompileCommands-build|\\\\Tests\\\\RunCMake\\\\NinjaMultiConfig\\\\CompileCommands-build)",
15   "command": "[^
16 ]*Release[^
17 ]*",
18   "file": "[^
19 ]*(/Tests/RunCMake/NinjaMultiConfig/main\.c|\\\\Tests\\\\RunCMake\\\\NinjaMultiConfig\\\\main\.c)"
20 }
21 ]$]==])
22
23 file(READ "${RunCMake_TEST_BINARY_DIR}/compile_commands.json" actual_compile_commands)
24 if(NOT actual_compile_commands MATCHES "${expected_compile_commands}")
25   string(REPLACE "\n" "\n  " expected_compile_commands_formatted "${expected_compile_commands}")
26   string(REPLACE "\n" "\n  " actual_compile_commands_formatted "${actual_compile_commands}")
27   string(APPEND RunCMake_TEST_FAILED "Expected compile_commands.json to match:\n  ${expected_compile_commands_formatted}\nActual compile_commands.json:\n  ${actual_compile_commands_formatted}\n")
28 endif()