次のソース ツリーがあります。
*-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})
解決策はありますか?