CMake: чтение номера сборки из файла для установки переменной

Я работаю над проектом, в котором номер сборки хранится в файле с именем BuildNumber.txt в корне проекта. Я хотел бы, чтобы CMake прочитал число из этого файла и установил переменную, которая может быть применена к заголовочному файлу.

setup.h.in

#define build_number "@BUILD_NUMBER@";

Используя файл configure_file, можно заменить заполнители в файле.in, как указано выше, на переменную CMake. Можно ли заставить CMake прочитать число из BuildNumber.txt в переменную?

2 ответа

Решение

Вы можете использовать команду CMake file (STRINGS ...) для этой цели. Предполагая, что номер сборки находится в файле BuildNumber.txt в одной строке следующая команда будет читать его в переменную CMake BUILD_NUMBER:

file (STRINGS "BuildNumber.txt" BUILD_NUMBER)

Также см. Ссылку на команду файла.

Я не знаю вашу ОС, но я предполагаю, что вы используете Windows или Linux.

if (UNIX)
  set (show_contents_prog cat)
elseif (WIN32)
  set (show_contents_prog type)
endif (WIN32)

execute_process(COMMAND ${show_contents_prog} input.txt OUTPUT_VARIABLE file_contents)

Я думаю, что это может помочь.

Другие вопросы по тегам