I was wondering if it’s possible somehow to use the advanced grammar options to change build parameters depending on the architecture? I have a part in one of my snaps in which I tried the following:
aom:
plugin: cmake
cmake-parameters:
- -DCMAKE_INSTALL_PREFIX=/usr
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_C_FLAGS_RELEASE=-s
- -DCMAKE_CXX_FLAGS_RELEASE=-s
- -DCONFIG_MULTITHREAD=1
- -DBUILD_SHARED_LIBS=1
- -DENABLE_DOCS=0
- -DENABLE_EXAMPLES=0
- -DENABLE_TESTS=0
- on armhf:
- -DAOM_TARGET_CPU=armv7
- -DAOM_NEON_INTRIN_FLAG=-mfpu=neon
But I ended up getting an error with snapcraft complaining the schema was invalid:
Failed to load plugin: properties failed to load for aom: The 'cmake-parameters[9]' property does not match the required schema: {'on armhf': ['-DAOM_TARGET_CPU=armv7', '-DAOM_NEON_INTRIN_FLAG=-mfpu=neon']} is not of type 'string'
I’m aware that I can achieve this using override-build
, but it would be nice if this were possible using the advanced grammar syntax, if it’s not already possible.