<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cmake.git/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake, branch master</title>
<subtitle>gitlab.kitware.com: cmake/cmake.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/'/>
<entry>
<title>LCC: Add dedicated support for MCST LCC compiler</title>
<updated>2021-10-15T02:05:19+00:00</updated>
<author>
<name>makise-homura</name>
<email>akemi_homura@kurisa.ch</email>
</author>
<published>2021-10-05T19:41:02+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=e5d9fce03feeece7f53451da9fb958db2613d31e'/>
<id>e5d9fce03feeece7f53451da9fb958db2613d31e</id>
<content type='text'>
Divert LCC compiler as a new one, instead of treating it as GNU.

Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been
passing checks for GNU compilers, so it has been identified as GNU.
Now, with intent of seriously upstreaming its support, it has been
added as a separate LCC compiler, and its version displays not a
supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead
of GNU 7.3.0).

This commit adds its support for detection, and also converts basically
every check like 'is this compiler GNU?' to 'is this compiler GNU or
LCC?'. The only places where this check is untouched, is where it
regards other platforms where LCC is unavailable (primarily non-Linux),
and where it REALLY differs from GNU compiler.

Note: this transition may break software that are already ported to
Elbrus, but hardly relies that LCC will be detected as GNU; still such
software is not known.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Divert LCC compiler as a new one, instead of treating it as GNU.

Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been
passing checks for GNU compilers, so it has been identified as GNU.
Now, with intent of seriously upstreaming its support, it has been
added as a separate LCC compiler, and its version displays not a
supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead
of GNU 7.3.0).

This commit adds its support for detection, and also converts basically
every check like 'is this compiler GNU?' to 'is this compiler GNU or
LCC?'. The only places where this check is untouched, is where it
regards other platforms where LCC is unavailable (primarily non-Linux),
and where it REALLY differs from GNU compiler.

Note: this transition may break software that are already ported to
Elbrus, but hardly relies that LCC will be detected as GNU; still such
software is not known.
</pre>
</div>
</content>
</entry>
<entry>
<title>IntelLLVM: Add support for Intel LLVM-based compilers</title>
<updated>2021-01-28T14:05:35+00:00</updated>
<author>
<name>William R. Dieter</name>
<email>william.r.dieter@intel.com</email>
</author>
<published>2020-11-03T01:11:25+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=a90d2a9eed202b58b72776f9beb0569e92c90d21'/>
<id>a90d2a9eed202b58b72776f9beb0569e92c90d21</id>
<content type='text'>
Using a single ID 'IntelLLVM' for the suite of Intel compilers based on
the LLVM backend.  The 'IntelLLVM' ID are used for C, C++, and Fortran.
Data Parallel C++ will be handled in a separate commit.

The C and C++ definitions are based on the Clang definitions.  The Intel
LLVM-based C and C++ compilers are based on the Clang front end, so
existing Clang options are more likely to be a good match than options
for the older Intel compilers.

Fortran is based on the older Fortran front end with the LLVM backend.
It has a similar interface to the older versions, though many options
are shared with the C and C++ compilers.

Fixes: #21561
Signed-off-by: William R. Dieter &lt;william.r.dieter@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using a single ID 'IntelLLVM' for the suite of Intel compilers based on
the LLVM backend.  The 'IntelLLVM' ID are used for C, C++, and Fortran.
Data Parallel C++ will be handled in a separate commit.

The C and C++ definitions are based on the Clang definitions.  The Intel
LLVM-based C and C++ compilers are based on the Clang front end, so
existing Clang options are more likely to be a good match than options
for the older Intel compilers.

Fortran is based on the older Fortran front end with the LLVM backend.
It has a similar interface to the older versions, though many options
are shared with the C and C++ compilers.

Fixes: #21561
Signed-off-by: William R. Dieter &lt;william.r.dieter@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Extra Generator: Fix handling of CMAKE_&lt;LANG&gt;_COMPILER_ARG1</title>
<updated>2018-09-07T20:11:11+00:00</updated>
<author>
<name>Adam Oleksy</name>
<email>extern.adam.oleksy@elektrobit.com</email>
</author>
<published>2018-09-05T12:55:08+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=0239b586bdca2173f8b7309bce7771f59ac99568'/>
<id>0239b586bdca2173f8b7309bce7771f59ac99568</id>
<content type='text'>
The "arg1" value is a command-line string so we must parse it to get
separate arguments for `execute_process`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The "arg1" value is a command-line string so we must parse it to get
separate arguments for `execute_process`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Extra Generator: Fix extraction of macros with value 0</title>
<updated>2018-08-24T17:51:30+00:00</updated>
<author>
<name>ibisz</name>
<email>istvan.bisz@t-online.hu</email>
</author>
<published>2018-08-24T10:45:30+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=e4e6b63ec96dc4a51fc336efd28e5f2b3f8d455f'/>
<id>e4e6b63ec96dc4a51fc336efd28e5f2b3f8d455f</id>
<content type='text'>
Fix logic in CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs
to handle macros with value `0`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix logic in CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs
to handle macros with value `0`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify CMake per-source license notices</title>
<updated>2016-09-27T19:14:44+00:00</updated>
<author>
<name>Brad King</name>
<email>brad.king@kitware.com</email>
</author>
<published>2016-09-27T19:01:08+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=86578eccf2e82286248796bad1032cd0e3a5e1e2'/>
<id>86578eccf2e82286248796bad1032cd0e3a5e1e2</id>
<content type='text'>
Per-source copyright/license notice headers that spell out copyright holder
names and years are hard to maintain and often out-of-date or plain wrong.
Precise contributor information is already maintained automatically by the
version control tool.  Ultimately it is the receiver of a file who is
responsible for determining its licensing status, and per-source notices are
merely a convenience.  Therefore it is simpler and more accurate for
each source to have a generic notice of the license name and references to
more detailed information on copyright holders and full license terms.

Our `Copyright.txt` file now contains a list of Contributors whose names
appeared source-level copyright notices.  It also references version control
history for more precise information.  Therefore we no longer need to spell
out the list of Contributors in each source file notice.

Replace CMake per-source copyright/license notice headers with a short
description of the license and links to `Copyright.txt` and online information
available from "https://cmake.org/licensing".  The online URL also handles
cases of modules being copied out of our source into other projects, so we
can drop our notices about replacing links with full license text.

Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority
of the replacements mechanically.  Manually fix up shebang lines and trailing
newlines in a few files.  Manually update the notices in a few files that the
script does not handle.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Per-source copyright/license notice headers that spell out copyright holder
names and years are hard to maintain and often out-of-date or plain wrong.
Precise contributor information is already maintained automatically by the
version control tool.  Ultimately it is the receiver of a file who is
responsible for determining its licensing status, and per-source notices are
merely a convenience.  Therefore it is simpler and more accurate for
each source to have a generic notice of the license name and references to
more detailed information on copyright holders and full license terms.

Our `Copyright.txt` file now contains a list of Contributors whose names
appeared source-level copyright notices.  It also references version control
history for more precise information.  Therefore we no longer need to spell
out the list of Contributors in each source file notice.

Replace CMake per-source copyright/license notice headers with a short
description of the license and links to `Copyright.txt` and online information
available from "https://cmake.org/licensing".  The online URL also handles
cases of modules being copied out of our source into other projects, so we
can drop our notices about replacing links with full license text.

Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority
of the replacements mechanically.  Manually fix up shebang lines and trailing
newlines in a few files.  Manually update the notices in a few files that the
script does not handle.
</pre>
</div>
</content>
</entry>
<entry>
<title>Extra Generator: Populate MSVC system include paths from environment (#15597)</title>
<updated>2015-08-18T20:30:55+00:00</updated>
<author>
<name>Gregor Jasny</name>
<email>gjasny@googlemail.com</email>
</author>
<published>2015-08-14T09:38:23+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=c66835fc37fa3dec32a437010648fee0b210a1a5'/>
<id>c66835fc37fa3dec32a437010648fee0b210a1a5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Code Blocks/Eclipse: Add -std= flag matching.</title>
<updated>2014-11-03T14:19:18+00:00</updated>
<author>
<name>Christian Manning</name>
<email>cmanning999@gmail.com</email>
</author>
<published>2014-07-02T20:06:42+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=eaf6f67f67e12c4e137c8e875ac277072bf910b6'/>
<id>eaf6f67f67e12c4e137c8e875ac277072bf910b6</id>
<content type='text'>
When -std=x is specified in CMAKE_CXX_FLAGS this passes it along.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When -std=x is specified in CMAKE_CXX_FLAGS this passes it along.
</pre>
</div>
</content>
</entry>
<entry>
<title>Code Blocks/Eclipse: Use non-default stdlib includes when specified.</title>
<updated>2014-11-03T14:18:44+00:00</updated>
<author>
<name>Christian Manning</name>
<email>cmanning999@gmail.com</email>
</author>
<published>2014-07-02T15:15:28+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=45a25d63ba738e8b0ce690f8f02469a82815b5f4'/>
<id>45a25d63ba738e8b0ce690f8f02469a82815b5f4</id>
<content type='text'>
When -stdlib=x is specified in CMAKE_CXX_FLAGS this passes it along so
that the correct include dirs are detected.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When -stdlib=x is specified in CMAKE_CXX_FLAGS this passes it along so
that the correct include dirs are detected.
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid if() quoted auto-dereference</title>
<updated>2014-10-20T15:49:16+00:00</updated>
<author>
<name>Ben Boeckel</name>
<email>ben.boeckel@kitware.com</email>
</author>
<published>2014-10-14T14:25:32+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=29c3edb87adedd82e816552d958f4c3540a1511b'/>
<id>29c3edb87adedd82e816552d958f4c3540a1511b</id>
<content type='text'>
When testing CMAKE_&lt;LANG&gt;_COMPILER_ID values, do not explicitly
dereference or quote the variable. We want if() to auto-dereference the
variable and not its value. Also replace MATCHES with STREQUAL where
equivalent.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When testing CMAKE_&lt;LANG&gt;_COMPILER_ID values, do not explicitly
dereference or quote the variable. We want if() to auto-dereference the
variable and not its value. Also replace MATCHES with STREQUAL where
equivalent.
</pre>
</div>
</content>
</entry>
<entry>
<title>Eclipse: also detect include dirs and macro for clang (#13823)</title>
<updated>2013-02-10T17:58:27+00:00</updated>
<author>
<name>Alex Neundorf</name>
<email>neundorf@kde.org</email>
</author>
<published>2013-02-10T17:58:27+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=a396b6ece239d35436d9c3ca6de20b2fcea74749'/>
<id>a396b6ece239d35436d9c3ca6de20b2fcea74749</id>
<content type='text'>
Alex
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Alex
</pre>
</div>
</content>
</entry>
</feed>
