Я пытаюсь вызвать add_library для всех файлов с определенными окончаниями.Предупреждение CMake: вы вызвали ADD_LIBRARY для библиотеки my_src без каких-либо исходных файлов
Структура НАПРАВЛ:
src
| - CMakeLists.txt (1)
| - main.cpp
| - gui
| - CMakeLists.txt (2)
| - some source and header files
Так в настоящее время все куб.см файлы находятся в каталоге графического интерфейса.
(1) CMakeLists.txt:
file(GLOB_RECURSE my_sources *.cc)
message(STATUS "my_sources = ${my_sources}")
add_subdirectory(gui)
add_library(my_src ${my_SOURCES})
target_link_libraries(my_src
my_gui
)
qt5_use_modules(my_src Core Gui Widgets)
(2) CMakeLists.txt:
file(GLOB my_gui_sources *.cc)
add_library(my_gui ${my_gui_sources})
qt5_use_modules(my_gui Core Gui Widgets)
Но я получаю этот выход:
You have called ADD_LIBRARY for library my_src without any source files. This typically indicates a problem with your CMakeLists.txt file
-- my_sources = /home/bla/bla/src/gui/BorderLayout.cc;...;/home/bla/bla/my/src/gui/MainWindow.cc
-- my_gui_sources = /home/bla/bla/my/src/gui/BorderLayout.cc;...;/home/bla/bla/my/src/gui/MainWindow.cc
-- Configuring done
-- Generating done
-- Build files have been written to: /home/bla/bla/my/build
Я знаю, что я в настоящее время не требуется add_library в первом CMakeLists.txt, но позже я это сделаю. Я изменил первый GLOB на GLOB_RECURSE, чтобы он нашел хотя бы что-нибудь.
Кстати, это весьма актуальное предупреждение :) – Antonio
это может быть только потому, что опечатка в 'add_library (my_src $ {my_SOURCES})' вместо 'add_library (my_src $ {my_sources})'? – vladisld