Может ли CMake генерировать файл конфигурации? - PullRequest
10 голосов
/ 17 января 2012

Мне нужен файл конфигурации для переноса из C ++ в JS, я пытаюсь использовать emscripten в проекте.Emscripte поставляется с инструментом emconfigure, который заменяет autoconf configure,

Но проект, который я создаю, использует cmake в качестве системы сборки, и в настоящее время (12 января) emscripten поддерживает только autoconf - так что яобойдя его, сгенерировав configure и сделав порт на make, есть ли способ создать файл конфигурации из cmake ??Я не говорю о файлах make .. но сам файл конфигурации.

Ответы [ 4 ]

23 голосов
/ 04 октября 2014

Да, он может:

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 */

Документация:

0 голосов
/ 17 января 2012

Cmake - это система сборки. Он генерирует Makefiles. Посмотрите здесь для получения дополнительной информации об этом. Но если коротко ответить на ваш вопрос, вы не можете сгенерировать файлы конфигурации с помощью cmake.

0 голосов
/ 17 января 2012

Фактически, не генерируйте «набор», но вы можете использовать функции, которые делают все, что он делает, как в случае с типами данных vereficação, заголовками vereficar и т. Д.

Хорошо, я пойду по ссылке на мой проект, который содержит все эти функции. Я предлагаю, чтобы вы изучили это, пришлите мне электронное письмо или что-нибудь, чтобы ответить на ваши вопросы.

Здесь: введите описание ссылки здесь

Проверьте также папку / deps / cmake для просмотра созданных нами функций.

0 голосов
/ 17 января 2012

да cmake генерирует вам файлы, необходимые для построения проекта, в зависимости от вашей целевой платформы. однако вам нужно написать файлы CMakelist.txt для CMake самостоятельно или получить их от кого-то другого. если у emscripten они есть и у вас установлен cmake, перейдите в корень вашего каталога Cource и запустите cmake, чтобы увидеть список аргументов, которые вы можете использовать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...