| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Due to MCST LCC compiler identification is now changed to LCC,
there should be a way for old projects to still identify it as GNU,
as it was before.
This commits adds the policy:
CMP0129: Compiler id for MCST LCC compilers is now LCC, not GNU.
This policy controls such a behavior.
OLD behaivior is to treat LCC as GNU, NEW is to treat is as LCC.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Detect MSYS as CYGWIN, with the required adaptations.
|
|
|
|
|
| |
This needlessly produces warnings during the test runs that no-one
sees but that are distracting when actually inspecting the logs.
|
|
|
|
|
|
|
| |
Since 3.19, CMake generates a deprecation warning when using a minimum
version less than 2.8.12. This eliminates those warnings generated
during tests, which are typically hidden from the user and developer but
are being generated nonetheless.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
5b304a7503 CheckLanguage: Fix forwarding of CMAKE_CUDA_HOST_COMPILER
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !4711
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix the condition added by commit fada8cbfd6 (CheckLanguage: Report
CMAKE_CUDA_HOST_COMPILER if needed for compilation, 2019-05-31,
v3.15.0-rc1~12^2) to activate CUDA-specific logic. The old condition
had worked in our test suite only by accident because the loop variable
used in the test happened to be the name and value that the old
condition used! Update the test to use a different name.
Fixes: #19013
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use recommended case for variable names, i.e. matching name of the
module as passed to `find_package`.
For backwards compatibility, the upper case versions of both input and
output variables are used and defined when appropriate. Skip this for
the _FOUND variable because FPHSA already does it.
This follows the approach from commit a7b09e7f43 (FindProtobuf: Rename
variables to match case of module name, 2016-03-01, v3.6.0-rc1~273^2).
Issue: #20370
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Some test cases added by commit 80f120a85f (Languages: Add support for
Objective-C, 2019-09-13, v3.16.0-rc1~44^2~3) have never actually been
run because the condition to enable them is never true. Fix the
condition and fix the tests to pass.
|
|/
|
|
|
|
|
|
|
|
| |
Follow up commit 0761186949 (project: Add variable
CMAKE_PROJECT_INCLUDE_BEFORE, 2019-03-28, v3.15.0-rc1~294^2) with a
project-specific variant. This variable will be used similar to the
already existing `CMAKE_PROJECT_INCLUDE_BEFORE` and
`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE` variables.
Fixes: #19854
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add entries in Modules and Modules/Platform to support
Objective-C++ compiler determination and identification.
Add Modules to check Objective-C++ compiler flags, source
compilations, program checks, etc...
Use OBJCXX as the designator of the language, eg:
project(foo OBJCXX)
Add various tests for Objective-C++ language features. Add
tests to preserve C++ handling of .M and .mm files when
Objective-C++ is not a configured language.
Co-authored-by: Cristian Adam <cristian.adam@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add entries in Modules and Modules/Platform to support
Objective-C compiler determination and identification.
Add Modules to check Objective-C compiler flags, source
compilations, program checks, etc...
Use OBJC as the designator of the language, eg:
project(foo OBJC)
Add various tests for Objective-C language features. Add
tests to preserve C++ handling of .m and .mm files when
OBJC is not a configured language.
Co-Authored-By: Cristian Adam <cristian.adam@gmail.com>
|
|
|
|
|
|
|
|
| |
Also drop the `CMakeOnly.MajorVersionSelection-PythonInterp_2` test
because some environments now have a plain `python` executable for
Python 3.
Fixes: #19536
|
|
|
|
|
| |
On some compilers the syntax `#ifndef std::fopen` will always lead to
compilation error. Avoid generating it in the check.
|
|
|
|
| |
Fixes: #19013
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Disable the system include unused variable test in ExportImport when
clang is in MSVC compatible mode.
* Disable CxxDialect testcase when clang is in MSVC compatible mode, as
it doesn't support `typeof`.
* Teach Module.WriteCompilerDetectionHeader to treat clang-cl as MSVC.
* Disable the SystemIncludeDirectories testcase within
IncludeDirectories when clang is in MSVC compatible mode.
* Disable the CMakeOnly.CheckCXXCompilerFlag testcase when clang is in
MSVC compatible mode.
* Treat clang-cl as MSVC in LinkOptions.cmake in the try_run and
try_compile testcases.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Because cmake_parse_arguments() has been implemented as a native
command, there is no need to include(CMakeParseArguments) anymore.
Its inclusion has been removed from several CMake modules.
Tests/CMakeOnly/CMakeLists.txt has been changed to include the
*building* CMake's copy of CMakeParseArguments rather than the
*built* CMake's copy. This file included the *built* copy because
when this file was introduced, CMake could still be built with versions
that didn't supply cmake_parse_arguments(). Now, CMake requires 3.1 or
greater, where cmake_parse_arguments() existed but was still in the
form of a module, so we include it from the *building* CMake.
|
| |
|
|
|
|
| |
This generator has been deprecated since CMake 3.9. Remove it.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
cda401fe Tests: Simplify CMakeOnly.AllFindModules policy settings
1a2ede17 Tests: Fix FindModulesExecuteAll when KDE4 is installed
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !736
|
| | |
|
| |
| |
| |
| | |
This generator has been deprecated since CMake 3.6. Remove it.
|
| |
| |
| |
| |
| |
| | |
Some machines have incomplete or otherwise broken installations of
specific packages. Allow local configuration to prevent the test from
failing on such packages if the version number cannot be extracted.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This test has a timeout in case CMake gets into an infinite loop. The
default of 90 seconds should be plenty of time for the test to run
correctly since it does not actually do a build. However, busy machines
that run lots of tests in parallel may need a longer timeout. Give them
an option to extend it.
|
| |
| |
| |
| |
| | |
Teach `test_find_library_subst` how to convert `libx32` to `lib`
so that the test case actually covers what we intend it to.
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
Add a new `CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX` variable to allow use
of a custom suffix on `lib` directory names. This is a more general
option than that added by commit v3.7.0-rc1~504^2 (Teach find_library
and find_package to search lib32 paths, 2016-06-10). It allows the find
path to be more deterministic on custom setups.
See discussion in #10287 and #15994.
|
| |
|
|
|
|
|
|
|
| |
Automate with:
find Tests -type f -print0 | xargs -0 perl -i -0pe \
's/set\(([a-zA-Z0-9_]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
|
|
|
|
|
|
|
| |
Add a ``FIND_LIBRARY_USE_LIB32_PATHS`` global property analogous to the
``FIND_LIBRARY_USE_LIB64_PATHS`` property. This helps find commands on
multilib systems that use ``lib32`` directories and either do not have
``lib`` symlinks or point ``lib`` to ``lib64``.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| | |
a7b09e7f FindProtobuf: Rename variables to match case of module name
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use recommended case for variable names. i.e. matching name of the
module as passed to `find_package`.
For backwards compatibility, the upper case versions of both input and
output variables are used and defined when appropriate. Skip this for
the _FOUND variable because FPHSA already does it. Skip this for the
_VERSION variable because that was recently added and never available
with the old name in a release of CMake.
|
|/
|
|
|
|
|
| |
Also detect the library version number. Provide results as variables
and as an imported target, LTTng::UST.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
|
|
|
|
|
|
|
| |
Check found libraries version to match user required version.
Protobuf compiler executable version is checked to be aligned with found
libraries, raising a warning message otherwise.
|
|
|
|
| |
This test helps catch errors in compiler identification.
|
|
|
|
| |
Use the explicitly-tested make program, if any.
|
|\
| |
| |
| |
| | |
a639689c Check*CompilerFlag: Revert to previous method used to pass flags (#15641)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit v3.3.0-rc1~397^2 (Check*CompilerFlag: Refactor method used
to pass flags, 2015-02-24) these check modules pass the flags to the
compiler front-end during linking as well as during compilation. This
breaks checks for flags like '-x c++' that are meant only for the
compilation step. Revert the change and add a test covering a
compiler-only flag.
|
|/
|
|
|
| |
Detect the HDF5 version and set HDF5_VERSION just as we
detect HDF5_IS_PARALLEL from the header already.
|
|
|
|
|
| |
Update the CMakeOnly.CompilerIdFortran test to require that the variable
is set instead of just warning. We already require it for C and CXX.
|
|
|
|
|
| |
Hack the CMP0054 warning locally to be an error and run the test suite.
Resolve CMP0054 in Tests/* code as appropriate for each case.
|
|
|
|
| |
This is less verbose than defining CMAKE_GENERATOR_PLATFORM.
|
|
|
|
|
| |
Propagate CMAKE_GENERATOR_PLATFORM through the test hierarchy so that all
tests can build with the selected generator platform, if any.
|