Существует следующее дерево исходников:
*-source
*----subsource
*--------Source1.hpp
*----Source1.hpp
Оба файла, ./Source1.hpp и ./subsource/Source1.hpp, должны обрабатываться moc.
При использовании automoc он помещает выходные файлы moc в один и тот же каталог с тем же именем, поскольку это невозможно, он перезаписывает файл.
Qt — 5,2
CMake — 2.8.12
Файлы CMake довольно большие, но вот краткий пример:
# Main CMakeLists.txt
set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)add_subdirectory("${CMAKE_SOURCE_DIR}/components/Com1" ./Com1)# Com1 CMakeLists.txt in components/Com1
file(GLOB_RECURSE CPP_FILES source/*.cpp)
add_library(Com1 SHARED ${CPP_FILES})
Какие-либо решения?
Трекер утверждает, что это исправлено в CMake 3.6: