*Lots more testing, traced down a possible issue here involving PCH and mocs_compilation.cpp:* get_target_property(HAS_AUTOMOC ${TargetProject} AUTOMOC) if (HAS_AUTOMOC STREQUAL "TRUE") set (MOC_COMPILATION "${CMAKE_CURRENT_BINARY_DIR}/${TargetProject}_autogen/mocs_compilation.cpp") # stdafx.h needs to be included to ensure platform definitions are visible set_property(SOURCE "${MOC_COMPILATION}" APPEND_STRING PROPERTY COMPILE_FLAGS " /FI\"${PrecompiledHeader}\"") endif()
*If this is ignored, then mocs_compilation.cpp is visible in solution explorer post generation (no need to build). Build ofc proceeds fine, no unresolved externals/etc.* *Please advise.* *VT* On Mon, Jan 28, 2019 at 11:25 PM Venedict Tchistopolskii <veny...@gmail.com> wrote: > Current automoc settings more or less, it's a solution with a few projects > some of which are marked AUTOMOC: > ## Relative to root in solution explorer > set_property(GLOBAL PROPERTY AUTOGEN_TARGETS_FOLDER > "${VS_FOLDER_PREFIX}/Sandbox/AUTOMOC_Targets") > ## Relative to each project > set_property(GLOBAL PROPERTY AUTOGEN_SOURCE_GROUP "AUTOMOC_Generated") > > AUTOGEN_TARGETS_FOLDER doesn't get created, but in CMake 3.12 it did the > same and worked. > > AUTOMOC_Generated gets created (per project ofc) and added in CMake 3.12 > during the build. > For CMake 3.13 it gets created, but not added (not visible in solution > explorer) during build, gotta re-run CMake to include it. > > On Mon, Jan 28, 2019 at 11:04 PM Venedict Tchistopolskii < > veny...@gmail.com> wrote: > >> tl;dr, the below does not work for me: >> >> The resulting moc_<basename>.cpp files are generated in custom >> directories and automatically included in a generated >> <AUTOGEN_BUILD_DIR>/mocs_compilation.cpp file, *which is compiled as >> part of the target. (nope....)* >> >> On Mon, Jan 28, 2019 at 10:06 PM Venedict Tchistopolskii < >> veny...@gmail.com> wrote: >> >>> The first CMake generation pass: Generates but no inclusion >>> >>> >>> >>> *Forcing a second pass makes it include the newly generated moc.* >>> It says *"AutoMoc: Generating 'XXXXX' because the MOC settings changed"* >>> >>> I'm not too clear on why this is happening, any ideas on how to fix it, >>> or force it to reload whatever 'moc settings' are changing? >>> >>> Possibly related: https://gitlab.kitware.com/cmake/cmake/issues/17456 >>> >>> e.g. mocs_compilation.cpp and include_XXXX folder -> Created but not >>> added until CMake re-run.... >>> >>
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: https://cmake.org/mailman/listinfo/cmake-developers