ДмитрийAug. 9, 2019, 6:56 a.m.
Как получить значение переменной из CMakeLists.txt
Всем привет!
У меня в CMakeLists.txt указывается версия софта:
cmake_minimum_required(VERSION 3.8) project(my_project_name) set (VERSION_MAJOR 0) set (VERSION_MINOR 1) set (VERSION_PATCH 0) set (SOFT_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}) message("MY PROJECT SOFT_VERSION: " ${SOFT_VERSION}) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) set(BUILD_SHARED_LIBS ON) # и т.д.
Я бы хотел брать его и отображать. Есть ли способ это сделать? Склоняюсь к мысли, что нужно сделать пустой хедер и при cmake CMakeLists.txt каким-то образом переносить туда версию и после уже собирать софт с помощью make. Правильный ли ход мысли или можно сделать проще?
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
OI
- Ora Iro
- Dec. 24, 2024, 2:38 p.m.
C++ - Test 001. The first program and data types
- Result:40points,
- Rating points-8
AD
- Akiv Doros
- Nov. 11, 2024, 10:58 p.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:50points,
- Rating points-4
m
- molni99
- Oct. 26, 2024, 8:37 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:80points,
- Rating points4
Last comments
ИМ
Django - Tutorial 017. Customize the login page to Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Игорь МаксимовNov. 22, 2024, 7:51 p.m.
Evgenii LegotckoiOct. 31, 2024, 9:37 p.m.
Fb3 file reader on Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Django - Lesson 064. How to write a Python Markdown extension Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
Игорь МаксимовOct. 5, 2024, 2:51 p.m.
QML - Lesson 016. SQLite database and the working with it in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Now discuss on the forum
AW
Why Paying for a Research Paper Can Be a Smart Choice Writing a research paper can be a daunting task, especially when faced with tight deadlines, complex topics, or a lack of resources. For many students, paying for a research paper is a practical…
Ayden WatkinsJan. 2, 2025, 8:09 a.m.
p
Finding the Right Rittal Small Enclosure for Your Needs Rittal is a leading manufacturer of enclosures for industrial and IT applications. Their small enclosures offer a compact and reliable solution for a wide range of needs, from housing electronic…
pimacontrols85Dec. 31, 2024, 5:39 p.m.
Donald RandolphDec. 30, 2024, 10:59 a.m.
Nirvana Yoga SchoolDec. 30, 2024, 1:13 p.m.
Mobile app development company in Chennai A Mobile app development company in Chennai focuses on creating personalized mobile applications to meet various business requirements. These companies offer a full range of services,…
Добрый день.
Я тут одного не догнал. Где отображать? В программе где-то? Типо как в Диалоге, где будет указана версия например?
Да, в программе, и она она еще отсылается по сети, где требуется.
Я вечером проверю один проект и отпишусь вам. С работы не получится это сделать. Но способы есть конечно же.
В общем это делается так, как написано в этой статье по использованию констант из CMakeLists.txt в C++ коде
Спасибо! Все получилось. Только в команде configure_file()
Я написал свой путь создания хедера:
А то, если просто указать version.h, то он создастся в build-директории. Наверное, об этом имеет смысл указать в статье.
Возможно стоит указать информацию, но мне кажется, что возможно и не имеет смысла добавлять путь к каталогу исходников. Это генерируемый файл, хоть он и используется в исходниках. Как бы он в любом случае будет создаваться.