4

有以下源代码树:

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

有什么解决办法吗?

4

1 回答 1

1

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

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

于 2017-05-22T13:36:55.747 回答