[cmake-developers] toolset Clang 3.7 with Microsoft CodeGen (v140_clang_3_7) debug is broken
forumer at smartmobili.com
forumer at smartmobili.com
Mon May 2 14:48:15 EDT 2016
Le 2016-05-02 20:41, Brad King a écrit :
> On 05/02/2016 02:17 PM, forumer at smartmobili.com wrote:
>> Don't know if it's the best place to report it but I am testing
>> nightly
>> builds(3.5.20160429) to generate some projects
>> for Visual Studio 2015 and the clang toolset now provided by
>> Microsoft.
>
> Yes, this is the right place to report it, especially since this is
> recent development. For reference, support for this toolset was added
> in a topic merged here:
>
> Merge topic 'vs-clang-cl'
> https://cmake.org/gitweb?p=cmake.git;a=commit;h=612a8b3b
>
> based on discussion in this thread:
>
> [PATCH SET] Support of Clang/C2 compiler.
>
> http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/15902
>
>> I have found some changes that seems to be necessary to be able to
>> debug, here are the changes I have found:
>>
>> 1) DebugInformationFormat should be set FullDebug, AdditionalOptions
>> MUST BE removed and optimizations must be disabled
>>
>> <ClCompile>
>> ... REMOVE AdditionalOptions ...
>> <DebugInformationFormat>FullDebug</DebugInformationFormat>
>> ...
>> <Optimization>Disabled</Optimization>
>> <OmitFramePointers>false</OmitFramePointers>
>> </ClCompile>
>>
>>
>> 2)GenerateDebugInformation must be set to true and ProgramDataBaseFile
>> must be empty because clang doesn't use pdb for now
>> <Link>
>> ...
>> <GenerateDebugInformation>true</GenerateDebugInformation>
>> ...
>> <ProgramDataBaseFile>
>> </ProgramDataBaseFile>
>>
>> </Link>
>
> Mariusz, please take a look at this.
>
> See also this hack:
>
> VS: Fix VS 2015 .vcxproj debug setting for older toolsets
> https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dc422d27
>
> Basically we need to have a different flag table for each possible
> toolset. Also it looks like additional special handling may be
> needed for PDBs and perhaps other limitations of the Clang/C2
> toolchain.
>
> Thanks,
> -Brad
Just a small update about what I wrote regarding AdditionalOptions, I
found that it's not necessary to remove the whole line but only the
-gline-tables-only parameter.
More information about the cmake-developers
mailing list