CMake / w Ninja генерирует файлы сборки, но не исполняемый файл - PullRequest
2 голосов
/ 04 апреля 2020

Моя первая попытка CMake и мне нужна помощь

CMake / w Ninja & clang ++ создает файлы сборки, но без исполняемого файла

/ CMakeLists.txt

cmake_minimum_required(VERSION 3.17)

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

project(Example)

include(find_compiler)

add_subdirectory(src)

src / CMakeLists.txt

add_executable(Example main.cpp)

Я не уверен, что делать. Спасибо.

1 Ответ

1 голос
/ 04 апреля 2020

Основная цель fo CMake состоит в том, чтобы создать все файлы, связанные со сборкой, необходимые для создания вашего исполняемого файла (т.е. для настройки системы сборки), а не для его сборки, поэтому ожидается поведение, которое вы испытываете.

(я полагаю, вы использовали генератор Ninja, то есть вы выполнили cmake с -G Ninja в качестве одного из параметров)

Для того, чтобы действительно построить свой исполняемый файл, вы должны выполнить ninja после успешной настройки (т.е. успешный запуск cmake):

$ cd build_folder
$ cmake -G Ninja source_folder
$ ninja

если все пойдет хорошо, у вас должен быть Example исполняемый файл в папке сборки.

Вы также можете начать фактическое построение, используя CMake, используя следующие команды set fo:

$ cd build_folder
$ cmake -G Ninja source_folder
$ cmake --build .

ура,

...