通过automoc处理具有相同名称的文件

时间:2014-04-25 19:17:59

标签: c++ qt cmake automocking

有以下源树:

*-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})

任何解决方案?

1 个答案:

答案 0 :(得分:1)

跟踪器声称这已在CMake 3.6中修复:

http://public.kitware.com/Bug/view.php?id=12873