[cmake-developers] Was AUTOMOC designed to run for each build?

Stephen Kelly steveire at gmail.com
Tue Sep 23 03:58:58 EDT 2014


Hi (especially Alex),

I noticed that the automoc target is run each time, even for a trivial 
project:

 cmake_minimum_required(VERSION 2.8)
 project(automoctest)

 set(CMAKE_AUTOMOC ON)

 find_package(Qt5Widgets REQUIRED)

 add_executable(main main.cpp)
 target_link_libraries(main Qt5::Widgets)

Each time I run make I get

 [ 33%] Automatic moc for target main
 /path/to/cmake -E cmake_autogen /path/to/build/CMakeFiles/main_automoc.dir/ 
""

I checked CMake 2.8.7 and it executes the target each time too.

In the implementation, makefile->AddUtilityCommand is called with 'true' to 
set the excludeFromAll parameter.

I don't see why the target is executed each time, but is it that way by 
design?

Thanks,

Steve.




More information about the cmake-developers mailing list