Я предполагаю, что вы используете ADD_CUSTOM_COMMAND, или ADD_LIBRARY, или другой ADD_ * для создания файлов зависимостей.
Если у вашего ExternalProject
есть свой собственный каталог, и вы можете поместить CMakeLists.txt
в этот каталог, вы можете легкоукажите следующее: CMakeLists.txt
:
SET_DIRECTORY_PROPERTIES(PROPERTIES CLEAN_NO_CUSTOM 1)
Так что эти файлы зависимостей не будут очищены.
В противном случае вам может потребоваться избегать помещения внешних зависимостей в качестве выходных файлов.,Например, если вы используете
ADD_CUSTOM_COMMAND(OUTPUT libdep
COMMAND dep_gen_cmd
....
)
ADD_CUSTOM_COMMAND(OUTPUT prj
....
DEPENDS libdep
)
, вам нужно изменить его на:
ADD_CUSTOM_TARGET(libdep_gen
COMMAND dep_gen_cmd
...
)
ADD_CUSTOM_COMMAND(OUTPUT prj
COMMAND test -e libdep || make libdep_gen
...
)