The `CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH` is used by CMake to always
append `-Wl,-blibpath:/usr/lib:/lib` to the link line. This is needed
by default on these platforms but needs to be overridden in some use
cases (e.g. an environment in which one maintains versioned shared
libraries). Change our logic to set this value only if it not already
set by the user, project, or toolchain file.
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.
This supplements the existing library checks, to
cater for the possibility that the libraries are
present but the headers are not. This can happen
when the Boost collections is split up into
multiple packages and not all are installed,
and will avoid the checks silently passing when
the build would subsequently fail.
Packagers may now set their own rpm package
file names or request that rpmbuild tool
chooses one for them. It also supports handing
of situations where one spec file may produce
multiple rpm packages.
The fix in commit v3.1.0-rc1~544^2~5 (Windows: Avoid () in environment
variable references, 2014-05-02) introduced a set() command in the
middle of an argument list. Move it to before the find_path() call.
PathScale uses a wrapper around the linker. The "ldfe" invocation in
the output is followed by a normal "ld" invocation. Exclude the former
so we can reach and parse the latter correctly.
* Make work with HDF5 compiler wrappers as the primary compiler (Cray)
* Accept options used by compiler wrappers instead of just seeding
search parameters
* Only search for libraries if the first 2 fail
Add a long comment inside a few braced initializer lists in order to
convince clang-format to break after the opening brace and format the
list without indenting every value past the opening brace.
We run MSVC-like compilers with the `/showIncludes` option and match the
output to extract the corresponding message. Fix the matching to
support compilers like `clang-cl` that print the message on the first
line such that it is not preceded by a newline.
LLVM-Issue: https://llvm.org/bugs/show_bug.cgi?id=27226
Previously we added only NO_CMAKE_SYSTEM_PATH to find command calls.
Add NO_SYSTEM_ENVIRONMENT_PATH too so that paths found from system
environment variables are not considered either.
e1c77472 Format include directive blocks and ordering with clang-format
180538c7 Source: Stabilize include order
0e7bca92 Utilities/Release: Stabilize include order in WiX custom action
eb817be0 Tests: Stabilize include order in MFC, VSXaml, and VSWinStorePhone
eda313b4 Tests: Stabilize include order in StringFileTest
7110b754 CursesDialog: add missing cmState include
d7a5f255 Modules: Remove unused CMakeTestWatcomVersion.c file
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 <daniel@pfeifer-mail.de>
21b1fa5c Help: Add notes for topic 'intel-compiler-features'
9addce99 Features: Record standard flags for Intel C/C++ on Windows
15a6c950 WCDH: Add Intel to list of supported compilers
36f32ede Features: Record standards and features for Intel C on UNIX
d028b948 Features: Specify minimum version Intel C++ 12.1
be910f00 Features: Record standards and features for Intel C++ on UNIX
7f401ae4 Features: Detect C default dialect on MSVC-like compilers
Versions below 12.1 do not provide enough information to properly detect
if compiling with c++98 or c++0x enabled so remove them from the
supported list.