| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
cd681f1f41 ctest: propagate make program to cmake
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3483
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
f68492912c Tests: reduce code duplication for CMake_TEST_Find*
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3471
|
| |/ |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| |/ |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
2d0b0e2b9d Do not exclude include directories made implicit by CPATH
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3395
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | | |
This ensures that the tests only run when the Swift compiler is present.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
This extends the MakeClean test to cover the
- ADDITIONAL_CLEAN_FILES directory property and the
- ADDITIONAL_CLEAN_FILES target property
as well.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
-- add new tests for custom commands
-- minor test cleanup
Fixes #15995
Fixes #18909
Fixes #15902
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
-- 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
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | | |
These tests use a different compiler than the rest of the test suite.
Isolate the rest of our tests from their environment.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
dfea916d3c FindEnvModules: Provide a CMake interface to environment modules
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3076
|
| | | | |
|
|\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
a77a30e657 FindGLEW: Add test
a7d853868b FindGLEW: Update implementation
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3094
|
| |/ / |
|
|/ /
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
| |
| |
| |
| |
| | |
7a1f3fe041 FindOctave: Remove module pending further work
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3027
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
|\ \
| |/
| |
| |
| |
| |
| | |
bcd99fac60 GHS: Document usage of GHS_NO_SOURCE_GROUP_FILE
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2943
|
| |
| |
| |
| | |
-- Also change variable name to CMAKE_GHS_NO_SOURCE_GROUP_FILE
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
dd45f23b01 FindCups: add imported target
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2917
|
| |/ |
|
|/
|
|
|
| |
Read an undocumented cache entry to allow some CI builds to configure
this test in a special way.
|
|
|
|
| |
Latest material from data.kitware.com -> Collections -> Courses -> CMake.
|
|
|
|
|
| |
Fixes: #18678
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
c09ec79981 ExternalProject: support SOURCE_SUBDIR for BUILD_IN_SOURCE
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2823
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
1c08652580 Tests: Fix Qt4And5Automoc tests to work on in-source build
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2817
|
| |/
| |
| |
| |
| |
| |
| | |
Use a distinctly-named build directory for each case so that neither
one uses its own source tree as the build tree.
Fixes: #18159
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
-- 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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
-- 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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
-- 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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
-- 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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
-- 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
|