Модуль FindProtobuf, доступный в cmake, предлагает команду PROTOBUF_GENERATE_CPP, которая вызывает protoc из cmake. Эта команда обычно выполняется во время компиляции (при запуске «make»). Поскольку некоторые из моих исходных файлов включают сгенерированные файлы, проверка зависимостей во время «cmake ..» терпит неудачу, потому что файлы еще не сгенерированы.PROTOBUF_GENERATE_CPP при создании файлов cmake
Возможно ли, чтобы эта команда выполнялась во время настройки непосредственно перед проверкой зависимостей?
Благодаря
Глядя на файл FindProtobuf.cmake, он выглядит как 'PROTOBUF_GENERATE_CPP' должен сделать эти файлы, когда вы вызываете функцию во время настройки. Когда он это сделает, он должен распечатать 'Running C++ protocol buffer compiler на $ {MATCH_PATH} с root $ {PROTOROOT}, генерируя: $ {CPP_FILE}' Вы видите, что когда вы настраиваете? – SethMMorton
Если по настройке вы имеете в виду выполнение команды «cmake ..», нет. Я вижу это, когда компилирую код с make. – Trixl
Взгляните на [ADD_DEPENDENCIES] (http://www.cmake.org/cmake/help/v2.8.10/cmake.html#command:add_dependencies). Попробуйте запустить 'PROTOBUF_GENERATE_CPP' с' DEBUG' и посмотреть информацию, которую он дает. Возможно, вы сможете указать своей цели, чтобы она зависела от вывода «PROTOBUF_GENERATE_CPP», чтобы определить, что делать во время сборки (т. Е. При запуске 'make'). – SethMMorton