Создавайте файл cpp каждый раз с помощью cmakeC++

Программы на C++. Форум разработчиков
Ответить
Гость
 Создавайте файл cpp каждый раз с помощью cmake

Сообщение Гость »


Я хочу, чтобы файл, содержащий дату сборки, создавался каждый раз.

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

[...] add_library(${PROJECT_NAME} СТАТИЧЕСКИЙ src/software_version.cpp [...] ) [...] set(VERSION_FILE "src/software_version.cpp") add_custom_target(build_software_version ВСЕ КОМАНДА ${CMAKE_COMMAND} -E коснитесь ${VERSION_FILE}) #или add_custom_command(TARGET ${PROJECT_NAME} PRE_BUILD COMMAND ${CMAKE_COMMAND} -E touch ${VERSION_FILE}) Изменить:
Я использую предопределенный __ DATE__ в методе этого файла и обнаружил, что он не будет актуальным, если я не буду создавать файл каждый раз. Если я просто внесу небольшое изменение в файл, чтобы файл снова собирался, дата будет правильной. Я надеялся добиться этого с помощью команды touch. Поэтому я ожидал увидеть в журнале сборки запись о том, что файл был собран. (Там каждый раз появляется еще один файл)
На этом этапе первая команда компилируется, но ничего не меняет. Второй выдает ошибку во время сборки. [ошибка]: https://i.stack.imgur.com/W5Cle.png
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»