Got the fix, hopefully it can be merged in :)
https://github.com/Personwithhat/custom_cmake/commit/d7930c36c6aa7956a806a284aa7e1e430ef6c174

VT

On Tue, Jan 29, 2019 at 8:00 PM Venedict Tchistopolskii <veny...@gmail.com>
wrote:

> Traced it down to this exact commit:
>
> *2d6cfe2677 Autogen: Split initializer main method    *
> https://github.com/Kitware/CMake/commit/2d6cfe26770d8062081061f9dbcc4e3e6eaa0091
>
> If I rebase before it then it works as expected >:V
>
> Working on a fix.....
>
> VT
>
> On Tue, Jan 29, 2019 at 4:16 PM Venedict Tchistopolskii <veny...@gmail.com>
> wrote:
>
>> *The below is done right after the above:*
>> set_property(TARGET ${TargetProject } APPEND PROPERTY AUTOMOC_MOC_OPTIONS
>> -b${PrecompiledHeader})
>>
>>
>> On Tue, Jan 29, 2019 at 2:38 PM Venedict Tchistopolskii <
>> veny...@gmail.com> wrote:
>>
>>> *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

Reply via email to