Details
Description
upgrading local builds from 11.8.6 -> 11.8.7, on
env:
$ distro
|
Name: Fedora Linux 44 (Forty Four)
|
Version: 44
|
Codename:
|
$ gcc --version
|
gcc (GCC) 16.1.1 20260501 (Red Hat 16.1.1-1)
|
$ ninja --version
|
1.13.2
|
$ cmake --version
|
cmake version 4.3.0
|
$
|
build:
cmake -LAH \
|
-S server.git-0aa0b76de961969cc331d7eda8f2b1adc4cb0ffd \
|
-B mdb-build \
|
-DCMAKE_POLICY_DEFAULT_CMP0056=NEW \
|
-DCMAKE_POLICY_DEFAULT_CMP0067=NEW \
|
-DMYSQL_MAINTAINER_MODE=NO
|
fails:
-- Configuring done (52.1s)
|
CMake Error:
|
Error evaluating generator expression:
|
$<:-Wno-declaration-after-statement>
|
Expression did not evaluate to a known generator expression
|
|
|
CMake Error:
|
Error evaluating generator expression:
|
$<:-Wno-declaration-after-statement>
|
Expression did not evaluate to a known generator expression
|
|
|
CMake Error:
|
Error evaluating generator expression:
|
$<:-Wno-declaration-after-statement>
|
Expression did not evaluate to a known generator expression
|
|
|
-- Generating done (0.7s)
|
CMake Generate step failed. Build files cannot be regenerated correctly.
|
source:
`storage/connect/CMakeLists.txt:320-323`:
SET_SOURCE_FILES_PROPERTIES(${MINIZIP_SOURCES} PROPERTIES COMPILE_FLAGS "\
|
$<${have_C__Wmissing_declarations}:-Wno-missing-declarations> \
|
$<${have_C__Wdeclaration_after_statement}:-Wno-declaration-after-statement> \
|
")
|
iiuc,
`have_C__Wdeclaration_after_statement` is set by `MY_CHECK_C_COMPILER_FLAG()` in `cmake/maintainer.cmake`. Unset when `MYSQL_MAINTAINER_MODE=NO`.
and,
`$<${var}:flag>` with empty `var` produces `$<:flag>` – not a known generator expression; CMake aborts generate with a fatal error.
given,
`$<BOOL:x>` evaluates empty to `0`, producing `$<0:flag>` (valid) instead of `$<:flag>` (invalid).
this
SET_SOURCE_FILES_PROPERTIES(${MINIZIP_SOURCES} PROPERTIES COMPILE_FLAGS "\
|
- $<${have_C__Wmissing_declarations}:-Wno-missing-declarations> \
|
- $<${have_C__Wdeclaration_after_statement}:-Wno-declaration-after-statement> \
|
+ $<$<BOOL:${have_C__Wmissing_declarations}>:-Wno-missing-declarations> \
|
+ $<$<BOOL:${have_C__Wdeclaration_after_statement}>:-Wno-declaration-after-statement> \
|
") |
seems to do the trick; build's ok
mariadb-lts-git_mariadb_11.8.7-0.git0aa0b76.fc44.x86_64.rpm
|