Hello,
According to CMakeLists.txt supported version range it should work with 3.8 and newer versions. But on old 3.15.1 (default in OpenWRT 19.07) it broke in setup_target() function when specifying VERSION, SOVERSION and DEBUG_POSTFIX properties for INTERFACE type fmt-header-only target.
-- {fmt} version: 12.2.0
-- Build type: Release
CMake Error at CMakeLists.txt:259 (set_target_properties):
INTERFACE_LIBRARY targets may only have whitelisted properties. The
property "VERSION" is not allowed.
Call Stack (most recent call first):
CMakeLists.txt:418 (setup_target)
CMake Error at CMakeLists.txt:259 (set_target_properties):
INTERFACE_LIBRARY targets may only have whitelisted properties. The
property "SOVERSION" is not allowed.
Call Stack (most recent call first):
CMakeLists.txt:418 (setup_target)
CMake Error at CMakeLists.txt:259 (set_target_properties):
INTERFACE_LIBRARY targets may only have whitelisted properties. The
property "DEBUG_POSTFIX" is not allowed.
Call Stack (most recent call first):
CMakeLists.txt:418 (setup_target)
This worked fine on 12.1.0. Not sure if it is best way, but can be fixed by not setting shared library specific properties for INTERFACE header-only targets. Patch in attachment
001-fix-cmake.patch
Hello,
According to CMakeLists.txt supported version range it should work with 3.8 and newer versions. But on old 3.15.1 (default in OpenWRT 19.07) it broke in setup_target() function when specifying VERSION, SOVERSION and DEBUG_POSTFIX properties for INTERFACE type fmt-header-only target.
This worked fine on 12.1.0. Not sure if it is best way, but can be fixed by not setting shared library specific properties for INTERFACE header-only targets. Patch in attachment
001-fix-cmake.patch