mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 06:53:01 +00:00
build-support/meson: explicitly use ambiant CMake during cross compilation
Thanks to Qyriad, it was found out that Nixpkgs was unable to cross compile when CMake was needed at cross compilation time with Meson because Meson refuse to use the ambiant CMake. A simple fix is to always provide the ambiant CMake and trust the packager to pass the right CMake, otherwise the rest of the build would probably fail in mysterious ways. An example of package that required this fix is the Lix, a Nix implementation, that uses `toml11` discovered via CMake during the Meson configure phase. Co-authored-by: Qyriad <qyriad@qyriad.me> Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
This commit is contained in:
parent
4f554f0ff0
commit
d4c673a92b
@ -23,6 +23,10 @@ let
|
|||||||
[binaries]
|
[binaries]
|
||||||
llvm-config = 'llvm-config-native'
|
llvm-config = 'llvm-config-native'
|
||||||
rust = ['rustc', '--target', '${stdenv.targetPlatform.rust.rustcTargetSpec}']
|
rust = ['rustc', '--target', '${stdenv.targetPlatform.rust.rustcTargetSpec}']
|
||||||
|
# Meson refuses to consider any CMake binary during cross compilation if it's
|
||||||
|
# not explicitly specified here, in the cross file.
|
||||||
|
# https://github.com/mesonbuild/meson/blob/0ed78cf6fa6d87c0738f67ae43525e661b50a8a2/mesonbuild/cmake/executor.py#L72
|
||||||
|
cmake = 'cmake'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
crossFlags = optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--cross-file=${crossFile}" ];
|
crossFlags = optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--cross-file=${crossFile}" ];
|
||||||
|
Loading…
Reference in New Issue
Block a user