когда был добавлен новый .cpp файл в папку с проектом?
                  
                  
                  Конкретно проблема с MSVC.
                  
                  
                  
                  
                  
                  Пример:
                  
                  
                  1. generate cmake -G "Visual Studio..." project files
                  
                  
                  2. билдим в msvc
                  
                  
                  3. разраб добавляет вручную файл в папку с проектом или же делает git pull и появляется новый файл
                  
                  
                  4. пробует сбилдить, но новый файл не подхватывается...
                  
                  
                  
                  
                  
                  Я попробовал сделать. но получилось ооочень костыльно:
                  
                  
                  добавил в cmake скрипт:
                  
                  
                  set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/cmake_rerun.marker")
                  
                  
                  там храню число всех файлов в проекте, в том числе и в подпапках.
                  
                  
                  при запуске билда с помощью add_custom_command() запускаю батник который собственно подсчитывает файлы
                  
                  
                  и проверяет предыдущее их число из того файла, если меняется то перезаписывает с новым значением.
                  
                  
                  ну и тогда трегирится cmake.
                  
                  
                  
                  
                  
                  НО! при большом кол-ве файлов и на не оч мощных ноутах притормаживает это дело при запуске билда.
                  
                  
                  Есть ли какой еще способ?
                  
                  
                
А вы glob используете что ли?
А зачем генерить проекты студии, если можно открыть студией симейк?
https://cmake.org/cmake/help/latest/command/file.html#glob вот тут есть флаг CONFIGURE_DEPENDS если он используется, то по факту изменения состава раскрытия глоба система сборки перезапустит cmake сама. Всё как обычно git pull; сборка в иде и никаких доп шагов. Но я не знаю как это будет замедлять пустую переборку с ростом проекта.
Обсуждают сегодня