有以下源代码树:
*-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})
有什么解决办法吗?