Может ли 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.