У меня есть следующие строки, которые выполняются без проблем, когда я их использую, как они есть в главном файле CMakeLists.txt.cmake: выполнить команды cmake во время установки
set (git_cmd git)
set (git_arg rev-parse --verify HEAD)
message(STATUS \"git cmd: ${git_cmd}\")
execute_process(COMMAND ${git_cmd} ${git_arg}
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
RESULT_VARIABLE git_result
OUTPUT_VARIABLE git_ver)
message(STATUS \"git ver[${git_result}]: ${git_ver}\")
и я получаю следующий результат, когда я исполняю Cmake
-- "gitcmd:git"
-- "gitver[0]:3268845bbbda4af12c951d75c25913d014da48ef
Но то, что я действительно хочу, чтобы выполнить, что заказы на время установки, когда я буду выполнять «сделать установку»
Таким образом, я прилагаю эти строки внутри установки: в качестве установки (код "LINES")
install(CODE
"
set (git_cmd git)
set (git_arg rev-parse --verify HEAD)
message(STATUS \"git cmd: ${git_cmd}\")
execute_process(COMMAND ${git_cmd} ${git_arg}
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
RESULT_VARIABLE git_result
OUTPUT_VARIABLE git_ver)
message(STATUS \"git ver[${git_result}]: ${git_ver}\")
"
)
Однако й е выходной, когда я выполняю «сделать установку», кажется, указывает Тар git_cmd не был установлен
-- git cmd:
CMake Error at cmake_install.cmake:196 (execute_process):
execute_process given COMMAND argument with no value.
Что я делаю неправильно?
Спасибо!
Чтобы быть уверенным: вы понимаете, что его средства ... для ** установки ** вашего продукта, вам нужен доступ к вашему ** git ** репозиторию? Другими словами: эта установка предназначена только для разработчиков? – GhostCat
@GhostCat, так как шаг установки подразумевает запуск cmake раньше, это действительно не имеет никакого значения. Если это будет опубликовано, ему понадобится _alternate_ подход для поиска версии из того, что будет включено в опубликованный пакет. Но зависит ли команда от времени настройки или времени установки, поскольку оба они работают на одном компьютере. –