Моя программа генерирует код C++, который необходимо скомпилировать в динамическую библиотеку. Код генерируется в некотором каталоге, имя которого неизвестно до создания Makefile (каталоги создаются во время выполнения), но имена файлов, на которые зависит библиотека, предопределены (src1.cpp, src2.cpp ..). Есть ли способ создать Makefile с помощью cmake, чтобы его можно было скопировать в каталог с источниками библиотеки, которые необходимо скомпилировать. Я пытался добавить_библиотеку, которая зависит от src1.cpp src2.cpp .., но cmake не хочет генерировать Makefile без наличия источников.cmake: pregenerate Makefile для несуществующих источников
0
A
ответ
3
Я не уверен, что полностью понимаю ваш случай использования, но я думаю, что вы, вероятно, можете установить свойство GENERATED
на TRUE
для каждого несуществующего файла, чтобы исправить это. например что ваш список файлов MyFiles
, вы можете использовать set_source_files_properties
:
set_source_files_properties(${MyFiles} PROPERTIES GENERATED TRUE)
Вы также, возможно, придется создавать зависимости, чтобы гарантировать эти файлы на самом деле существуют, прежде чем сделать попытки построить библиотеку (например, если они генерируются скриптом , сценарий вызывается как команда предварительной сборки библиотеки, используя add_custom_command(TARGET MyLib PRE_BUILD ...)
).
Смежные вопросы
- 1. Используйте cmake для создания cmake-free Makefile
- 2. эквивалент Makefile в CMake
- 3. От Makefile до Cmake
- 4. Преобразование Makefile в CMake
- 5. Преобразование Makefile в CMake
- 6. Makefile с различными типами источников
- 7. cmake для создания Makefile с правилом * .cpp
- 8. Cmake Механизм для создания makefile в окнах
- 9. сделать без Makefile после CMake
- 10. CMake, Xcode и Unix Makefile
- 11. Преобразование проекта makefile в CMake
- 12. Преобразование старого makefile в CMake
- 13. CMake и Makefile: ошибка сегментации
- 14. Смешивание источников C и C++ в cmake
- 15. CMake: компиляция скорость при включении внешнего makefile
- 16. Makefile в нескольких каталогах и несколько источников
- 17. Cmake исполняемым с помощью автоматически генерируемых источников
- 18. CMake генерировать проект Xcode из существующих источников
- 19. Makefile для нескольких источников dir и одного целевого dir
- 20. Makefile правило для копирования источников из многих папок
- 21. Использовать переменные makefile в сценарии CMake
- 22. Как заставить CMake использовать существующий Makefile?
- 23. Makefile зависит от сторонних библиотек с cmake
- 24. CMake генерируется Makefile не создает статическую библиотеку
- 25. работает makefile, созданный cmake с gcc-компилятором
- 26. cmake MSYS Генератор файлов Makefile отсутствует
- 27. Перенос из Makefile в CMake: -I
- 28. Как реализовать команду CMake configure_file в Makefile?
- 29. cmake - пусть в подкаталоге используется собственный Makefile
- 30. Пробные тесты для источников-источников-источников