Расширение переменных в Cmake - PullRequest
0 голосов
/ 21 февраля 2019

Я новый пользователь cmake, пытаюсь определить файл ресурсов для отображения информации о версии в моем исполняемом файле.У меня проблемы с получением переменных для правильного расширения.Я использую следующий код в моем CMakeLists.txt

set(
FILE_VERSION_MAJOR " 1"
FILE_VERSION_MINOR " 2"
FILE_VERSION_PATCH " 3")

set(FILE_VERSION ${FILE_VERSION_MAJOR}, ${FILE_VERSION_MINOR}, ${FILE_VERSION_PATCH}, 0)

configure_file(
  src/resource.rc.in
  resource.rc
  )

, который подключается к этой строке в моем resource.rc.in

#define VER_FILE_VERSION @FILE_VERSION@

, что приводит к следующему в моем resource.rcfile

#define VER_FILE_VERSION 
@FILE_VERSION_MAJOR@,;@FILE_VERSION_MINOR@,;@FILE_VERSION_PATCH@,;0

Как получить, чтобы окончательный VER_FILE_VERSION отображался как 1, 2, 3, 0 в моем файле resource.rc?

* Обратите внимание, мой вопрос не об использованиикомандная строка

1 Ответ

0 голосов
/ 21 февраля 2019

Здесь есть две проблемы:

  1. вы пропустили кавычки при настройке FILE_VERSION.Поэтому, когда вы использовали ',' без кавычек, вы объявили список
  2. , ваш первый набор пытается установить несколько переменных.это не работает.

С этим CMakeLists.txt все работает как положено:

cmake_minimum_required(VERSION 3.1)

project(Test)

set(FILE_VERSION_MAJOR "1")
set(FILE_VERSION_MINOR "2")
set(FILE_VERSION_PATCH "3")

set(FILE_VERSION "${FILE_VERSION_MAJOR}, ${FILE_VERSION_MINOR}, ${FILE_VERSION_PATCH}")

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