[cmake-developers] Contribution for Issue #0015146

Sebastian Windisch sebas7ian.windisch at gmail.com
Sat Mar 19 06:56:06 EDT 2016


Hi,

I like to contribute code for issue #0015146. I had issues to get the /MANIFESTUAC flag (Microsoft C/C++ Compiler) working in CMake. I saw that it is a known bug which is not resolved yet since 2014. So I tried my best to solve the issue.

What I did: I introduced a new flag in cmIDEFlagTable.h called RegularExpression, and made some changes in cmIDEOptions::CheckFlagTable and the cmVS*LinkFlagTable.h files. These changes now allow matching regular expressions to complex flags and extracting the relevant values out of it to finally map them to the according IDE XML variables.

Example:

{"UACUIAccess", "MANIFESTUAC:level=([a-zA-Z]+) uiAccess=([a-zA-Z]+)$", "", "\\2", cmVS7FlagTable::RegularExpression},

If the flag matches with the second argument, the subexpressions get extracted from which the second one will be mapped to variable UACUIAccess.

Since this is my first contribution I attached it as a patch (master @ 9cdb37e9175b2e3c6367bc4863fda0404cb1c3a2).

Regards,
Sebastian



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20160319/a043d373/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.diff
Type: application/octet-stream
Size: 7599 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20160319/a043d373/attachment-0001.obj>


More information about the cmake-developers mailing list