Каждый add_executable()
вызов в вашем CMakeLists.txt
указывает отдельный исполняемый файл для сборки.Поскольку вам нужно три исполняемых файла, вам нужно три таких вызова.
Кроме того, каждому исполняемому файлу требуется свое имя.В случае, когда каждый исполняемый файл создается из своего собственного исходного файла, обычно имена источников и исполняемых файлов связаны между собой.В частности, я ожидал бы, что исполняемый файл, построенный из 1b.c
, будет иметь имя 1b
.
Собрав это вместе, вот один из способов сделать это:
cmake_minimum_required(VERSION 3.7)
project(CLion)
set(CMAKE_C_STANDARD 99)
add_executable(1a 1a.c)
add_executable(1b 1b.c)
add_executable(1c 1c.c)
Обратите внимание, что вы нене нужно использовать переменную для обозначения исходных файлов для исполняемого файла.Более того, если вы хотите использовать переменные, тогда в имени переменной SOURCE_FILES
нет ничего особенного.Например, вы могли бы излишне усложнить приведенный выше пример, введя исходные переменные для каждой цели, например:
cmake_minimum_required(VERSION 3.7)
project(CLion)
set(CMAKE_C_STANDARD 99)
set(SOURCES_1A 1a.c)
set(SOURCES_1B 1b.c)
set(SOURCES_1C 1c.c)
add_executable(1a ${SOURCES_1A})
add_executable(1b ${SOURCES_1B})
add_executable(1c ${SOURCES_1C})