summaryrefslogtreecommitdiff
path: root/Tests/CMakeOnly
Commit message (Collapse)AuthorAgeFilesLines
* LCC: Add policy CMP0129 regarding interpreting LCC as GNUmakise-homura2021-10-211-0/+3
| | | | | | | | | | 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.
* LCC: Add dedicated support for MCST LCC compilermakise-homura2021-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | | 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.
* MSYS: Add support for running under MSYS runtime environmentOrgad Shaneh2021-04-261-1/+1
| | | | Detect MSYS as CYGWIN, with the required adaptations.
* Tests: bump cmake_minimum_required version to 2.8.12Rolf Eike Beer2021-04-055-5/+5
| | | | | This needlessly produces warnings during the test runs that no-one sees but that are distracting when actually inspecting the logs.
* Tests: Bump CMake minimum required in tests to 2.8.12Chuck Atkins2020-12-235-5/+5
| | | | | | | 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.
* CUDA: Add Support to SourceCompiles|Runs and CheckCompilerFlagsRobert Maynard2020-10-082-0/+19
|
* Merge topic 'CheckLanguage-cuda-host'Brad King2020-05-061-9/+9
|\ | | | | | | | | | | | | | | 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
| * CheckLanguage: Fix forwarding of CMAKE_CUDA_HOST_COMPILERBrad King2020-05-051-9/+9
| | | | | | | | | | | | | | | | | | | | | | 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
* | FindRuby: Rename variables to match case of module nameJulien Marrec2020-03-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Ninja Multi-Config: Don't include MinSizeRel by defaultKyle Edwards2020-02-062-3/+11
| |
* | Tests: Enable missing Objective C/C++ testsBrad King2019-12-193-31/+8
| | | | | | | | | | | | | | 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.
* | project: Add variable CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE_BEFOREDeniz Bahadir2019-10-183-0/+20
|/ | | | | | | | | | 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
* Languages: Add support for Objective-C++Steve Wilson2019-09-284-2/+39
| | | | | | | | | | | | | | | | | 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>
* Languages: Add support for Objective-CSteve Wilson2019-09-284-1/+47
| | | | | | | | | | | | | | | | | 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>
* FindPythonInterp: Document lack of version filtering for plain `python`Brad King2019-07-301-1/+1
| | | | | | | | Also drop the `CMakeOnly.MajorVersionSelection-PythonInterp_2` test because some environments now have a plain `python` executable for Python 3. Fixes: #19536
* CheckCXXSymbolExists: Make C++-syntax symbols work on more compilersHong Xu2019-07-261-0/+14
| | | | | On some compilers the syntax `#ifndef std::fopen` will always lead to compilation error. Avoid generating it in the check.
* CheckLanguage: Report CMAKE_CUDA_HOST_COMPILER if needed for compilationRobert Maynard2019-06-031-1/+2
| | | | Fixes: #19013
* project: Add variable CMAKE_PROJECT_INCLUDE_BEFORERuslan Baratov2019-04-013-0/+20
|
* project: Add variable CMAKE_PROJECT_INCLUDERuslan Baratov2019-03-272-0/+10
|
* Test ProjectInclude: Add NONE to avoid enabling languagesRuslan Baratov2019-03-271-1/+1
|
* Tests: Teach tests when to treat clang-cl as MSVCZsolt Parragi2019-02-111-1/+1
| | | | | | | | | | | | | | | | | | | * 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.
* CMakeParseArguments: Remove superfluous includes of CMakeParseArgumentsKyle Edwards2018-12-131-1/+1
| | | | | | | | | | | | | | 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.
* FindJPEG: Add version detection and associated test update and docsMateusz Loskot2018-04-171-1/+1
|
* Drop Visual Studio 8 2005 generatorBrad King2018-04-021-1/+1
| | | | This generator has been deprecated since CMake 3.9. Remove it.
* GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in TestsCraig Scott2017-12-301-2/+3
|
* Merge topic 'fix-test-all-find-modules'Brad King2017-04-241-5/+1
|\ | | | | | | | | | | | | | | 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
| * Tests: Simplify CMakeOnly.AllFindModules policy settingsBrad King2017-04-211-5/+1
| |
* | Drop Visual Studio 7 .NET 2003 generatorBrad King2017-04-191-1/+1
| | | | | | | | This generator has been deprecated since CMake 3.6. Remove it.
* | Tests: Optionally skip local packages versions in CMakeOnly.AllFindModulesBrad King2017-04-032-2/+9
| | | | | | | | | | | | 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.
* | Tests: Add option to customize LinkInterfaceLoop timeoutBrad King2017-03-311-1/+8
| | | | | | | | | | | | | | | | 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.
* | Tests: Fix CMakeOnly.find_library test logic for libx32 caseChristian Schmidbauer2017-03-101-1/+1
| | | | | | | | | | Teach `test_find_library_subst` how to convert `libx32` to `lib` so that the test case actually covers what we intend it to.
* | Tests: Add x32 tests to test suiteSteven Newbury2017-03-087-0/+16
| |
* | find_library: Allow custom lib suffix be used as find pathChristian Schmidbauer2017-03-017-1/+14
|/ | | | | | | | | | 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.
* C# support: add compiler detection for MSVCMichael Stürmer2016-12-152-0/+24
|
* Use string(APPEND) in TestsDaniel Pfeifer2016-07-283-3/+3
| | | | | | | 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'
* Teach find_library and find_package to search lib32 paths (#11260)Daniel Scharrer2016-06-107-0/+7
| | | | | | | 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``.
* Revise C++ coding style using clang-formatKitware Robot2016-05-164-8/+16
| | | | | | | | | | | | | 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.
* Merge topic 'FindProtobuf-variable-case'Brad King2016-03-111-2/+1
|\ | | | | | | | | a7b09e7f FindProtobuf: Rename variables to match case of module name
| * FindProtobuf: Rename variables to match case of module nameAntonio Perez Barrero2016-03-071-2/+1
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Add FindLTTngUST module to find LTTng-UST libraryPhilippe Proulx2016-03-071-1/+1
|/ | | | | | | 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>
* FindProtobuf: check versionAntonio Perez Barrero2016-02-161-0/+1
| | | | | | | 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.
* Compiler ID: Compiler versions must be a valid, numeric version string.James Johnston2015-12-033-0/+21
| | | | This test helps catch errors in compiler identification.
* Tests: Fix CMAKE_MAKE_PROGRAM selection in CMakeOnly testsBrad King2015-08-111-0/+6
| | | | Use the explicitly-tested make program, if any.
* Merge topic 'CheckCompilerFlag-do-not-use-FLAGS'Brad King2015-07-091-0/+7
|\ | | | | | | | | a639689c Check*CompilerFlag: Revert to previous method used to pass flags (#15641)
| * Check*CompilerFlag: Revert to previous method used to pass flags (#15641)Brad King2015-07-081-0/+7
| | | | | | | | | | | | | | | | | | 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.
* | FindHDF5: Add version supportAxel Huebl2015-05-131-2/+2
|/ | | | | Detect the HDF5 version and set HDF5_VERSION just as we detect HDF5_IS_PARALLEL from the header already.
* Fortran: Test that CMAKE_Fortran_COMPILER_VERSION is set (#15372)Brad King2015-02-191-9/+1
| | | | | Update the CMakeOnly.CompilerIdFortran test to require that the variable is set instead of just warning. We already require it for C and CXX.
* Tests: Fix CMP0054 warningsBrad King2014-09-161-3/+3
| | | | | Hack the CMP0054 warning locally to be an error and run the test suite. Resolve CMP0054 in Tests/* code as appropriate for each case.
* Tests: Use -A option to pass generator platform selectionBrad King2014-09-151-1/+1
| | | | This is less verbose than defining CMAKE_GENERATOR_PLATFORM.
* Tests: Add generator platform supportBrad King2014-09-101-0/+1
| | | | | Propagate CMAKE_GENERATOR_PLATFORM through the test hierarchy so that all tests can build with the selected generator platform, if any.