Может ли CMake сгенерировать файл конфигурации?
Мне нужно, чтобы файл конфигурации переходил с C++ на JS, я пытаюсь использовать emscripten в проекте. Emscripte поставляется с инструментом под названием emconfigure, который заменяет конфигурацию autoconf,
Но проект, который я создаю, использует cmake как систему сборки, а в настоящее время (январь-12) emscripten поддерживает только autoconf, поэтому я обхожу его, создавая конфигурацию и делая порт на make, поэтому есть способ создать файл конфигурации из cmake? Я не говорю о файлах make... но сам файл конфигурации.
Ответы
Ответ 1
Да, это возможно:
configure_file(<input> <output>
[COPYONLY] [ESCAPE_QUOTES] [@ONLY]
[NEWLINE_STYLE [UNIX|DOS|WIN32|LF|CRLF] ])
Example.h.in
#ifndef EXAMPLE_H
#define EXAMPLE_H
/*
* These values are automatically set according to their cmake variables.
*/
#define EXAMPLE "${EXAMPLE}"
#define VERSION "${VERSION}"
#define NUMBER ${NUMBER}
#endif /* EXAMPLE_H */
В вашем файле cmake:
set(EXAMPLE "This is an example")
set(VERSION "1.0")
set(NUMBER 3)
configure_file(Example.h.in Example.h)
Настроен Example.h
:
#ifndef EXAMPLE_H
#define EXAMPLE_H
/*
* These values are automatically set according to their cmake variables.
*/
#define EXAMPLE "This is an example"
#define VERSION "1.0"
#define NUMBER 3
#endif /* EXAMPLE_H */
Документация:
Ответ 2
yes cmake генерирует вам файлы, необходимые для создания проекта, в зависимости от вашей целевой платформы. однако вам нужно написать файлы CMakelist.txt для CMake самостоятельно или вы должны получить их от кого-то другого. если emscripten имеет их, и у вас установлен cmake, перейдите в корень вашего каталога cource и запустите cmake, чтобы просмотреть список аргументов, которые вы можете использовать
Ответ 3
Фактически, не генерируйте "набор", но вы можете использовать функции, которые делают все, что он делает, как в случае с типами данных vereficação, заголовками vereficar и другими.
Ну, я пойду по ссылке на мой проект, который содержит все эти функции. Я предлагаю, чтобы вы изучили это, отправьте мне электронное письмо или что-то еще, чтобы ответить на ваши вопросы.
Здесь
Также проверьте папку /deps/cmake, чтобы просмотреть созданные нами функции.
Ответ 4
Cmake - это система сборки. Он генерирует Makefile. Посмотрите здесь, чтобы узнать больше об этом. Но чтобы ответить на ваш вопрос ненадолго, вы не можете создавать файлы конфигурации с помощью cmake.