CMake не определяет переменные - PullRequest
0 голосов
/ 10 мая 2019

При попытке определить переменные версии проекта в config.h для включения в исходные файлы, CMake не определяет их

CMakeLists.txt выглядит так

cmake_minimum_required(VERSION 3.0)
project(podder VERSION 1.0 LANGUAGES CXX)

configure_file(config.h.in config.h ESCAPE_QUOTES)

config.h.in

#ifndef HAVE_CONFIG_H
#define HAVE_CONFIG_H

#cmakedefine ${CMAKE_PROJECT_VERSION}

#endif

И сгенерированный config.h выглядит так

#ifndef HAVE_CONFIG_H
#define HAVE_CONFIG_H

/* #undef  */

#endif

1 Ответ

0 голосов
/ 19 мая 2019

То, что вы хотите:

#ifndef HAVE_CONFIG_H
#define HAVE_CONFIG_H

#cmakedefine PROJECT_VERSION ${PROJECT_VERSION}

#endif

Синтаксис: #cmakedefine VAR ..., где VAR - это имя переменной (без $()), и вычисляется выражение ..., см. configure_file() .Если переменная VAR не определена или имеет значение false, она заменяется на /* #undef VAR */.

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