set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(source_files
a.cpp
b.cpp
...
)
set(header_files
a.hpp
b.hpp
...
)
set(Qt_libs
Qt5::Core
Qt5::Gui
Qt5::Widget
...
)
add_library(demo SHARED ${header_files} ${source_files})
target_link_libraries(demo ${Qt_libs} ...)
set_properties(TARGET demo PROPERTY FOLDER "somewhere")
install(...)
У меня есть пример CMakeLists.txt
, показанный выше.
Самое странное, что эти moc-файлы не будут генерироваться до тех пор, пока я не изменю их вручную (например, добавив пустую строку в файл)эти заголовочные файлы (где Q_OBJECT
представлены).
Ситуация не происходит каждый раз.Но, как только это произойдет, чистая сборка и удаление всего файла проекта не помогут.
Я использую qt 5.11
, CMake 3.7
, Visual Studio 2015
.