summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'ctest_make_program__propagated_to_cmake_configure_pass'Brad King2019-07-121-101/+47
|\ | | | | | | | | | | | | cd681f1f41 ctest: propagate make program to cmake Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3483
| * ctest: propagate make program to cmakeRobert Maynard2019-07-111-101/+47
| |
* | Tests: fix some Clang failures on WindowsZsolt Parragi2019-07-091-2/+4
| | | | | | | | | | | | | | | | | | * Execute MSVCRuntimeLibrary tests for GNU command line mode Clang on Windows using the MSVC ABI * Assembler tests should be executed with the Ninja generator * Assembler tests shouldn't be executed with clang-cl * Fixed a condition in the Preprocess test for clang-cl * Adjusted the conditions on some MSVC specific tests
* | Merge topic 'cuda-msvc-runtime-library'Brad King2019-06-271-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 8fbd25772f CUDA: Implement MSVC runtime library abstraction 07807a2006 VS: Use AddLanguageFlags to de-duplicate CMAKE_{CUDA,ASM*}_FLAGS lookup Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3485
| * | CUDA: Implement MSVC runtime library abstractionBrad King2019-06-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | In commit fb3370b6a1 (MSVC: Add abstraction for runtime library selection, 2019-04-10, v3.15.0-rc1~229^2) we overlooked updating flags for CUDA on Windows, where nvcc uses MSVC as the host compiler. Add them now and update the MSVCRuntimeLibrary test to cover CUDA. Fixes: #19428
* | | Merge topic 'find-testlist'Brad King2019-06-261-167/+49
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | f68492912c Tests: reduce code duplication for CMake_TEST_Find* Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3471
| * | Tests: reduce code duplication for CMake_TEST_Find*Rolf Eike Beer2019-06-241-167/+49
| |/
* | Merge topic 'matlab-if'Brad King2019-06-251-5/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | 56e89e50d3 FindMatlab: simplify several if()-constructs 51bcdeb17f Tests: simplify checks for Matlab variables being set Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3472
| * | Tests: simplify checks for Matlab variables being setRolf Eike Beer2019-06-241-5/+5
| |/
* | Help/guide/tutorial: Adopt tutorial codeKitware Robot2019-06-181-2/+2
|/
* Merge topic 'implicit-includes-CPATH'Brad King2019-05-311-0/+18
|\ | | | | | | | | | | | | 2d0b0e2b9d Do not exclude include directories made implicit by CPATH Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3395
| * Do not exclude include directories made implicit by CPATHBrad King2019-05-301-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Entries of the `CPATH` environment variable are implicitly searched as include directories by some C/C++ compilers. Since commit 5990ecb741 (Compute implicit include directories from compiler output, 2018-12-07, v3.14.0-rc1~108^2) these entries are detected by CMake and included in the `CMAKE_{C,CXX}_IMPLICIT_INCLUDE_DIRECTORIES` variables. However, we should not exclude them from explicit specification via `-I` or particularly `-isystem` because they are meant as user-specified include directories that can be re-ordered without breaking compiler builtin headers. In particular, we need explicit requests via `include_directories` with the `SYSTEM` option to result in `-isystem` so that third-party headers do not produce warnings. Co-Author: Ben Boeckel <ben.boeckel@kitware.com> Fixes: #19291
* | Utilities/Release: Replace upload step with a "push" scriptBrad King2019-05-241-2/+2
| | | | | | | | | | | | | | | | Replace the `upload_release.cmake` script with a `push.bash` script that is more configurable from the command line and that does not hard-code any destinations. Instead of using `scp` to access `cmake.org` directly, push the files atomically to a staging directory from which another process will actually upload them.
* | Merge topic 'ninja-swift'Brad King2019-05-201-2/+8
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a9180ccf9a Tests: add a check for the Swift compiler d745551fb6 Help: add some initial documentation for Swift support 9a182c9e5b Auxiliary: update vim syntax highlighting e9b0063e8e Modules: add build rules for Swift Ninja support b6412e3e38 Ninja: add placeholders to support Swift build 7d7f31161d Ninja: add support for Swift's output-file-map.json d688c4c19d Swift: remove unnecessary unreleased Ninja infrastructure 0723582208 Swift: Detect compiler version ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3297
| * | Tests: add a check for the Swift compilerSaleem Abdulrasool2019-05-171-2/+8
| | | | | | | | | | | | This ensures that the tests only run when the Swift compiler is present.
* | | Test: Improve WarnUnusedCliUnused to run on all generatorsSebastian Holtermann2019-05-151-18/+11
|/ / | | | | | | | | | | | | | | | | | | In the WarnUnusedCliUnused test, the whole CMakeCache.txt was removed in the clean stage to trigger the same CMake warning in re-builds. This technique worked only in the Makefile generators and the test was limited to these. Now only the variable of interest is removed from the cache by using a `unset(UNUSED_CLI_VARIABLE CACHE)` statement in the CMakeLists.txt file. This makes the WarnUnusedCliUnused test run on all generators
* | Tests: Extend MakeClean test to cover ADDITIONAL_CLEAN_FILESSebastian Holtermann2019-05-141-1/+2
| | | | | | | | | | | | | | | | This extends the MakeClean test to cover the - ADDITIONAL_CLEAN_FILES directory property and the - ADDITIONAL_CLEAN_FILES target property as well.
* | Merge topic 'msvc-runtime-library'Brad King2019-04-171-0/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | fb3370b6a1 MSVC: Add abstraction for runtime library selection f621e7fa5d VS: Fix Fortran runtime library flag map special case for '-' options Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Acked-by: Leonid Pospelov <pospelovlm@yandex.ru> Merge-request: !3211
| * | MSVC: Add abstraction for runtime library selectionBrad King2019-04-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace our hard-coded defaults for `/MD` and `/MDd` with a first-class abstraction to select the runtime library from an enumeration of logical names. We've long hesitated to do this because the idea of "runtime library selection" touches on related concepts on several platforms. Avoid that scope creep by simply defining an abstraction that applies only when targeting the MSVC ABI on Windows. Removing the old default flags requires a policy because existing projects may rely on string processing to edit them and choose a runtime library under the old behavior. Add policy CMP0091 to provide compatibility. Fixes: #19108
* | | GHS: Update tests and notesFred Baksik2019-04-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | -- add new tests for custom commands -- minor test cleanup Fixes #15995 Fixes #18909 Fixes #15902
* | | GHS: Update project layout to build targets correctlyFred Baksik2019-04-111-1/+1
|/ / | | | | | | | | | | | | | | | | | | -- Restructure projects and files to support proper building of targets Build order is determined by hierarchy of project files and folders Custom targets may have been run multiple times in the original file / folder structure -- Default to build targets that are part of ALL target -- List all known targets for this project Includes global targets for ALL_BUILD and INSTALL -- Compute build order for building targets
* | Merge topic 'ghs-linux'Brad King2019-03-221-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2c43fb5be3 FindThreads: Fix pthread library check in GHS Multi Generator 0404efe786 GHS: Add support for GHS Multi Generator in Linux 2060a1445c Tests: Fix file name case in GHS object library test ddad70c8a4 Tests: Run GHS tests in a separate ctest process f7dca1fc97 GHS: Fix include-what-you-use and clang-tidy diagnostics Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3006
| * | Tests: Run GHS tests in a separate ctest processBrad King2019-03-211-0/+1
| | | | | | | | | | | | | | | These tests use a different compiler than the rest of the test suite. Isolate the rest of our tests from their environment.
* | | Merge topic 'environment-modules'Brad King2019-03-191-0/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | dfea916d3c FindEnvModules: Provide a CMake interface to environment modules Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3076
| * | | FindEnvModules: Provide a CMake interface to environment modulesChuck Atkins2019-03-181-0/+4
| | | |
* | | | Merge topic 'FindGLEW-updates'Brad King2019-03-181-0/+4
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | a77a30e657 FindGLEW: Add test a7d853868b FindGLEW: Update implementation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3094
| * | | FindGLEW: Add testClaudio Fantacci2019-03-151-0/+4
| |/ /
* | | Tests: Run FindGTK2 tests only when explicitly enabledBrad King2019-03-141-5/+4
|/ / | | | | | | | | | | Do not `find_package(GTK2)` by default, as it gives the impression that CMake depends on it to build. We will set `CMake_TEST_FindGTK2` in the cache of automated builds where GTK2 is expected to work.
* | Merge topic 'FindOctave-remove'Brad King2019-02-271-4/+0
|\ \ | |/ | | | | | | | | | | 7a1f3fe041 FindOctave: Remove module pending further work Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3027
| * FindOctave: Remove module pending further workBrad King2019-02-261-4/+0
| | | | | | | | | | | | | | | | | | | | | | The `FindOctave` module added by commit 170bcb6fdc (FindOctave: Add module to find GNU octave, 2018-11-17, v3.14.0-rc1~283^2) has a few problems in its implementation that need to be worked out before the module can be included in a CMake release. These were missed during review. Remove the module for now. It can be restored later with a fresh review. Issue: #18991
* | Tests: Disable test that builds KWSys if not also building CMakeBrad King2019-02-131-11/+15
| | | | | | | | | | | | If `CMake_TEST_EXTERNAL_CMAKE` is enabled then the compiler with which we are driving tests may not be able to compile CMake, so do not try to compile KWSys with it either.
* | 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.
* | Merge topic 'ghs-updates'Brad King2019-02-111-1/+1
|\ \ | |/ | | | | | | | | | | bcd99fac60 GHS: Document usage of GHS_NO_SOURCE_GROUP_FILE Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2943
| * GHS: Document usage of GHS_NO_SOURCE_GROUP_FILEFred Baksik2019-02-081-1/+1
| | | | | | | | -- Also change variable name to CMAKE_GHS_NO_SOURCE_GROUP_FILE
* | Merge topic 'findcups'Brad King2019-02-071-0/+4
|\ \ | | | | | | | | | | | | | | | | | | dd45f23b01 FindCups: add imported target Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2917
| * | FindCups: add imported targetPatrick Gansterer2019-02-061-0/+4
| |/
* | Tests: Add a way to configure custom options for FortranModules testBrad King2019-02-061-0/+1
|/ | | | | Read an undocumented cache entry to allow some CI builds to configure this test in a special way.
* Tests: Update CMake tutorialBetsy McPhail2019-01-271-8/+27
| | | | Latest material from data.kitware.com -> Collections -> Courses -> CMake.
* FindPython: Introduce NumPy componentHiroshi Miura2019-01-241-1/+1
| | | | | Fixes: #18678 Signed-off-by: Hiroshi Miura <miurahr@linux.com>
* FindGit: Add imported targetKyle Edwards2019-01-211-0/+4
|
* Merge topic 'ExternalProject-non-cmake-source-subdir'Brad King2019-01-211-0/+12
|\ | | | | | | | | | | | | c09ec79981 ExternalProject: support SOURCE_SUBDIR for BUILD_IN_SOURCE Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2823
| * ExternalProject: support SOURCE_SUBDIR for BUILD_IN_SOURCEBen Boeckel2019-01-171-0/+12
| |
* | Fortran: Add compiler ID/Version generator expressionsAndrew Paprocki2019-01-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Adds `Fortran_COMPILER_ID` and `Fortran_COMPILER_VERSION` generator expression support to match equivalent `C_COMPILER_ID`, `CXX_COMPILER_ID`, `C_COMPILER_VERSION`, and `CXX_COMPILER_VERSION` support. This is very helpful in the case where the C/C++ compiler suite is a different type of compiler from the platform Fortran compiler and projects use generator expressions to assign compiler flags and definitions. (e.g. `GNU` C/C++ and `SunPro` Fortran on Linux)
* | Merge topic 'automoc-test-in-place'Brad King2019-01-181-4/+4
|\ \ | | | | | | | | | | | | | | | | | | 1c08652580 Tests: Fix Qt4And5Automoc tests to work on in-source build Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2817
| * | Tests: Fix Qt4And5Automoc tests to work on in-source buildBrad King2019-01-171-4/+4
| |/ | | | | | | | | | | | | Use a distinctly-named build directory for each case so that neither one uses its own source tree as the build tree. Fixes: #18159
* | GHS: Update test suiteFred Baksik2019-01-161-38/+65
| | | | | | | | | | | | | | | | | | | | -- Allow for testing default toolset settings If CMake_TEST_GreenHillsMULTI_config is not defined then just run the GHS tests using defaults. -- Handle paths that contain spaces -- Update test suite to use "-non_shared" linker option Fixes linking issue if GHS is not shipped with shared libraries -- Other minor cleanup
* | GHS: Add Compiler ID detectionFred Baksik2019-01-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | -- Detect GHS compiler and version Detect ARCHITECTURE_ID for PPC / ARM / 86 targets Detect PLATFORM_ID for Integrity and Integrity178 platforms Using defines specified in the documents for the compilers: 201416 PPC / 201754 ARM / 201714 86 -- Fallback C/CXX compiler ID to GHS if not otherwise detected and using GHS MULTI generator Works around issue with some GHS compilers not setting __ghs__ compiler define -- Tweak Compiler ID checking so major id of 002017 is not replaced with 217 -- Prefer try_compile() library targets when testing for working GHS compilers -- Avoid CMake errors if reading past end of file for checking if file is PE executable
* | GHS: Append ".gpj" to target name when generating build commandFred Baksik2019-01-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | -- Add test demonstrating issue -- In the case of executable targets the target name is usually the same as used in "-o filename" But for static libraries the target name is usually "-o libname.a" "gbuild.exe target" will build whatever target matches against even the output from the compiler or linker But the targets in "cmake --build . --target name" should be target names in CMakeLists.txt not the actual filenames So change the "name" to "name.gpj" so it matches the target name in CMakeLists.txt. Fixes #15975
* | GHS: Integrity Application updatesFred Baksik2019-01-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- Check the property "ghs_integrity_app" on executables to set [INTEGRITY Application] If the property is not set then check if an integrate file is one of the source files (.int file). Dynamic Downloads that do not have an integrate file can use this property along with setting the compiler flag "-dynamic". -- Remove parsing for -dynamic flag; it is only used to print a comment The MULTI GUI will show if it is a Monolith or Dynamic Download application -- Use project references to specify which executables are part of the Integrity Application Usually Implicit Dependency Analysis will ensure that executable targets become part of the application. This does not work for Dynamic Download without integrate files. Use `add_dependencies(dd vas)` to mark that the vas target is part of dd target. -- Update file locations in the Integrate files.
* | GHS: Cleanup how source files are listedFred Baksik2019-01-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | -- Sort the items of the project files, previously they were unsorted The layout is similar to Visual Studio projects -- Do not make a make a tree of directories and projects files The main project file is in the binary folder The sub-project files are located in the project object directory This is similar to the Makefile generator -- Allow the creation of a single project file If the variable or target property GHS_NO_SOURCE_GROUP_FILE is set then all sources will be listed in the main project file