LINUX.ORG.RU

Несколько проектов используя cmake

 


0

1

У меня есть несколько программ (prog1, prog2, ...).
У них есть общий код, поэтому я общую часть создал в виде отдельной библиотеки.
Но если я нахожу ошибку в библиотеке, работая в новой программе, и поменяю код библиотеки,
то библиотека автоматически не пересоберется. Как это исправить?

/core/lib
/core/CMakeLists.txt
/prog1
/prog1/CMakeLists.txt
/prog2
/prog2/CMakeLists.txt
...

Вот CMakeLists.txt файл для программы:

project(prog1 CXX C)

include_directories (../core/lib)

find_library(CORE libcore.a ../core/lib)

add_executable(${PROJECT_NAME} main.cpp)
target_link_libraries(${PROJECT_NAME} ${CORE})

★★★★★

Еще доп вопрос: Почему в QtCreator не показываются файлы библиотеки?

Zodd ★★★★★
() автор топика
Ответ на: комментарий от invy

Правильно ли понял: нужно создать общий /CMakeLists.txt и в нем объединить все проекты и библиотеку?

Zodd ★★★★★
() автор топика
Ответ на: комментарий от Zodd

Да.

И еще, вместо:

find_library(CORE libcore.a ../core/lib)

target_link_libraries(${PROJECT_NAME} ${CORE})
просто:
target_link_libraries(${PROJECT_NAME} core)
core - имя target'а, заявленного в твоей библиотеке как project(core)

invy ★★★★★
()
Последнее исправление: invy (всего исправлений: 1)
Ответ на: комментарий от Begemoth

Вроде собирается. Всем спасибо.

Zodd ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.