<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cmake.git/Tests/CMakeCommands/target_include_directories/consumer.cpp, 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>Revise include order using clang-format-6.0</title>
<updated>2019-10-01T16:26:36+00:00</updated>
<author>
<name>Kitware Robot</name>
<email>kwrobot@kitware.com</email>
</author>
<published>2019-09-30T14:46:28+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=ed98209ddc8d5e9f5b20cd010c69a25d553b2654'/>
<id>ed98209ddc8d5e9f5b20cd010c69a25d553b2654</id>
<content type='text'>
Run the `clang-format.bash` script to update our C and C++ code to a new
include order `.clang-format`.  Use `clang-format` version 6.0.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Run the `clang-format.bash` script to update our C and C++ code to a new
include order `.clang-format`.  Use `clang-format` version 6.0.
</pre>
</div>
</content>
</entry>
<entry>
<title>Revise C++ coding style using clang-format-6.0</title>
<updated>2018-06-01T13:53:42+00:00</updated>
<author>
<name>Kitware Robot</name>
<email>kwrobot@kitware.com</email>
</author>
<published>2018-06-01T13:53:41+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=d7204e649ed4ebb19bb341b4e49eb51514364922'/>
<id>d7204e649ed4ebb19bb341b4e49eb51514364922</id>
<content type='text'>
Run the `clang-format.bash` script to update all our C and C++ code to a
new style defined by `.clang-format`.  Use `clang-format` version 6.0.

* If you reached this commit for a line in `git blame`, re-run the blame
  operation starting at the parent of this commit to see older history
  for the content.

* See the parent commit for instructions to rebase a change across this
  style transition commit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Run the `clang-format.bash` script to update all our C and C++ code to a
new style defined by `.clang-format`.  Use `clang-format` version 6.0.

* If you reached this commit for a line in `git blame`, re-run the blame
  operation starting at the parent of this commit to see older history
  for the content.

* See the parent commit for instructions to rebase a change across this
  style transition commit.
</pre>
</div>
</content>
</entry>
<entry>
<title>Genex: Enable COMPILE_LANGUAGE for INCLUDE_DIRECTORIES with VS and Xcode</title>
<updated>2018-01-12T19:27:37+00:00</updated>
<author>
<name>Brad King</name>
<email>brad.king@kitware.com</email>
</author>
<published>2018-01-11T19:32:13+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=506fda1cf026a88378589009b62ca8bf633c5197'/>
<id>506fda1cf026a88378589009b62ca8bf633c5197</id>
<content type='text'>
The set of compile flags used for a target's C and C++ sources is based
on the linker language.  By default this is always the C++ flags if any
C++ sources appear in the target, and otherwise the C flags.  Therefore
we can define the `COMPILE_LANGUAGE` generator expression in
`INCLUDE_DIRECTORIES` to match the selected language.

This is not exactly the same as for other generators, but is the best VS
and Xcode can do.  It is also sufficient for many use cases since the
set of include directories for C and C++ is frequently similar but may
be distinct from those for other languages like CUDA.

Fixes: #17435
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The set of compile flags used for a target's C and C++ sources is based
on the linker language.  By default this is always the C++ flags if any
C++ sources appear in the target, and otherwise the C flags.  Therefore
we can define the `COMPILE_LANGUAGE` generator expression in
`INCLUDE_DIRECTORIES` to match the selected language.

This is not exactly the same as for other generators, but is the best VS
and Xcode can do.  It is also sufficient for many use cases since the
set of include directories for C and C++ is frequently similar but may
be distinct from those for other languages like CUDA.

Fixes: #17435
</pre>
</div>
</content>
</entry>
<entry>
<title>Revise C++ coding style using clang-format</title>
<updated>2016-05-16T20:05:19+00:00</updated>
<author>
<name>Kitware Robot</name>
<email>kwrobot@kitware.com</email>
</author>
<published>2016-05-16T14:34:04+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=d9fd2f5402eeaa345691313658e02b51038f570b'/>
<id>d9fd2f5402eeaa345691313658e02b51038f570b</id>
<content type='text'>
Run the `Utilities/Scripts/clang-format.bash` script to update
all our C++ code to a new style defined by `.clang-format`.
Use `clang-format` version 3.8.

* If you reached this commit for a line in `git blame`, re-run the blame
  operation starting at the parent of this commit to see older history
  for the content.

* See the parent commit for instructions to rebase a change across this
  style transition commit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Run the `Utilities/Scripts/clang-format.bash` script to update
all our C++ code to a new style defined by `.clang-format`.
Use `clang-format` version 3.8.

* If you reached this commit for a line in `git blame`, re-run the blame
  operation starting at the parent of this commit to see older history
  for the content.

* See the parent commit for instructions to rebase a change across this
  style transition commit.
</pre>
</div>
</content>
</entry>
<entry>
<title>Format include directive blocks and ordering with clang-format</title>
<updated>2016-04-29T17:58:54+00:00</updated>
<author>
<name>Brad King</name>
<email>brad.king@kitware.com</email>
</author>
<published>2016-04-29T14:53:13+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=e1c7747253ac71a5215dd32a910b62a1fd8c561a'/>
<id>e1c7747253ac71a5215dd32a910b62a1fd8c561a</id>
<content type='text'>
Sort include directives within each block (separated by a blank line) in
lexicographic order (except to prioritize `sys/types.h` first).  First
run `clang-format` with the config file:

    ---
    SortIncludes: false
    ...

Commit the result temporarily.  Then run `clang-format` again with:

    ---
    SortIncludes: true
    IncludeCategories:
      - Regex:    'sys/types.h'
        Priority: -1
    ...

Commit the result temporarily.  Start a new branch and cherry-pick the
second commit.  Manually resolve conflicts to preserve indentation of
re-ordered includes.  This cleans up the include ordering without
changing any other style.

Use the following command to run `clang-format`:

    $ git ls-files -z -- \
        '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' |
      egrep -z -v '(Lexer|Parser|ParserHelper)\.' |
      egrep -z -v '^Source/cm_sha2' |
      egrep -z -v '^Source/(kwsys|CursesDialog/form)/' |
      egrep -z -v '^Utilities/(KW|cm).*/' |
      egrep -z -v '^Tests/Module/GenerateExportHeader' |
      egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' |
      xargs -0 clang-format -i

This selects source files that do not come from a third-party.

Inspired-by: Daniel Pfeifer &lt;daniel@pfeifer-mail.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sort include directives within each block (separated by a blank line) in
lexicographic order (except to prioritize `sys/types.h` first).  First
run `clang-format` with the config file:

    ---
    SortIncludes: false
    ...

Commit the result temporarily.  Then run `clang-format` again with:

    ---
    SortIncludes: true
    IncludeCategories:
      - Regex:    'sys/types.h'
        Priority: -1
    ...

Commit the result temporarily.  Start a new branch and cherry-pick the
second commit.  Manually resolve conflicts to preserve indentation of
re-ordered includes.  This cleans up the include ordering without
changing any other style.

Use the following command to run `clang-format`:

    $ git ls-files -z -- \
        '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' |
      egrep -z -v '(Lexer|Parser|ParserHelper)\.' |
      egrep -z -v '^Source/cm_sha2' |
      egrep -z -v '^Source/(kwsys|CursesDialog/form)/' |
      egrep -z -v '^Utilities/(KW|cm).*/' |
      egrep -z -v '^Tests/Module/GenerateExportHeader' |
      egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' |
      xargs -0 clang-format -i

This selects source files that do not come from a third-party.

Inspired-by: Daniel Pfeifer &lt;daniel@pfeifer-mail.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Genex: Allow COMPILE_LANGUAGE when processing include directories.</title>
<updated>2015-03-09T19:49:17+00:00</updated>
<author>
<name>Stephen Kelly</name>
<email>steveire@gmail.com</email>
</author>
<published>2015-03-04T20:53:15+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=b734fa44719a780683e2eb0dfaabd38d64daa3f6'/>
<id>b734fa44719a780683e2eb0dfaabd38d64daa3f6</id>
<content type='text'>
Issue an error if this is encountered by an IDE generator.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Issue an error if this is encountered by an IDE generator.
</pre>
</div>
</content>
</entry>
<entry>
<title>target_include_directories: Allow relative path with genex</title>
<updated>2013-11-26T09:30:18+00:00</updated>
<author>
<name>Stephen Kelly</name>
<email>steveire@gmail.com</email>
</author>
<published>2013-11-26T01:38:55+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=38afc82e764ed9071748df9f5386c53f26657fe5'/>
<id>38afc82e764ed9071748df9f5386c53f26657fe5</id>
<content type='text'>
Treat paths which are relative and which contain a generator
expression which is not at the beginning as relative to the
source directory.

This matches the behavior of paths which are relative but contain
no generator expression at all.

Previously this would generate a relative path with the IMPORTED
target on export(), which would be a reported as a non-existent
path on import. If used directly in the buildsystem, it would be
reported as a relative path, which is also an error. There is no
need for a policy in this case.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Treat paths which are relative and which contain a generator
expression which is not at the beginning as relative to the
source directory.

This matches the behavior of paths which are relative but contain
no generator expression at all.

Previously this would generate a relative path with the IMPORTED
target on export(), which would be a reported as a non-existent
path on import. If used directly in the buildsystem, it would be
reported as a relative path, which is also an error. There is no
need for a policy in this case.
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Add the $&lt;LINKED:...&gt; generator expression."</title>
<updated>2013-02-13T14:12:31+00:00</updated>
<author>
<name>Stephen Kelly</name>
<email>steveire@gmail.com</email>
</author>
<published>2013-02-12T10:56:58+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=3df36b5954bef70891a666756d325e8bb4d01c1a'/>
<id>3df36b5954bef70891a666756d325e8bb4d01c1a</id>
<content type='text'>
This reverts commit 0b92602b816e2584db3781b120a1e5200da72ada.

Conflicts:
	Source/cmGeneratorExpressionEvaluator.cxx
	Tests/CMakeCommands/target_compile_definitions/CMakeLists.txt
	Tests/CMakeCommands/target_include_directories/CMakeLists.txt
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 0b92602b816e2584db3781b120a1e5200da72ada.

Conflicts:
	Source/cmGeneratorExpressionEvaluator.cxx
	Tests/CMakeCommands/target_compile_definitions/CMakeLists.txt
	Tests/CMakeCommands/target_include_directories/CMakeLists.txt
</pre>
</div>
</content>
</entry>
<entry>
<title>Add the $&lt;LINKED:...&gt; generator expression.</title>
<updated>2013-01-31T16:34:20+00:00</updated>
<author>
<name>Stephen Kelly</name>
<email>steveire@gmail.com</email>
</author>
<published>2013-01-30T22:38:04+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=0b92602b816e2584db3781b120a1e5200da72ada'/>
<id>0b92602b816e2584db3781b120a1e5200da72ada</id>
<content type='text'>
This is both a short form of using a TARGET_DEFINED expression
together with a TARGET_PROPERTY definition, and a way to strip
non-target content from interface properties when exporting.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is both a short form of using a TARGET_DEFINED expression
together with a TARGET_PROPERTY definition, and a way to strip
non-target content from interface properties when exporting.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make subclasses responsible for joining content.</title>
<updated>2013-01-29T18:34:04+00:00</updated>
<author>
<name>Stephen Kelly</name>
<email>steveire@gmail.com</email>
</author>
<published>2013-01-29T16:23:31+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/cmake.git/commit/?id=7bf490e9bb6128082aa178f28691b3fc418322fe'/>
<id>7bf490e9bb6128082aa178f28691b3fc418322fe</id>
<content type='text'>
This way we can add handling of relative/absolute paths and of
-D in compile definitions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This way we can add handling of relative/absolute paths and of
-D in compile definitions.
</pre>
</div>
</content>
</entry>
</feed>
