On Windows, the following snippet creates a main-1.2.3.elf
(with both GCC and MSVC). However on Linux, it creates main.elf-1.2.3
. I tried to also set OUTPUT_NAME main-1.2.3
to override the version string it added, but that creates main-1.2.3.elf-1.2.3
. Is there a way I can both set the VERSION
property and control the OUTPUT_NAME
of an executable on Linux?
cmake_minimum_required(VERSION 3.28)
project(Project)
add_executable(main main.c)
set_target_properties(
main
PROPERTIES
VERSION 1.2.3
SUFFIX .elf
)