CMake, добавить файлы с неизвестными именами к цели

У меня в проекте генерируются исходники, на каждую структуру в заданном файле -- файл *__*__impl.cc с именем этой структуры, т.е. я могу достать эти файлы только так:

file(GLOB_RECURSE IMPL_CC_FILES ${MY_GENERATED_DIR}/"*__*__impl.cc")

Потом мне надо добавить их к цели, но эти файлы не собираются в CMake:

add_library(${MY_TARGET} SHARED ${SOURCES} ${IMPL_CC_FILES})

Я подозреваю, что функция file выполняется не в то время, как я его задал, а до генерации исходников.

Что мне сделать, чтобы эти файлы добавились к цели?

UPD1:

Заработало на тестовом примере, когда я поменял выражение:

file(GLOB IMPL_CC_FILES ${MY_GENERATED_DIR}/*__*__impl.cc)

Т.е. нужно было просто убрать кавычки.

НО! Не работает на основном проекте.

REM: Поменял GLOB_RECURSE на просто GLOB. Врядли это что то меняет.

UPD2

Я понял, почему не находит файлы. Это происходит из-за того, что скрипт выполняется медленно, а сборка с -j3 происходит быстрее, чем он успеет выполнится, команда file никак не связана с add_custom_command через которую я выполняю скрипт и параллельная сборка просто не учитывает того, что мне нужно найти файлы после выполнения скрипта.


Ответы (0 шт):