| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
9eaf3755 Export: Populate INTERFACE_COMPILE_FEATURES property.
8ed59fc2 Add target_compile_features command.
4e6ca504 cmTargetPropCommandBase: Change the interface to return bool.
5412dede cmTarget: Transitively evaluate compiler features.
baff4434 cmTarget: Allow populating COMPILE_FEATURES using generator expressions.
f97bf437 Features: Add cxx_auto_type.
03355d6b cmTarget: Add COMPILE_FEATURES target property.
faeddf64 project: Add infrastructure for recording CXX compiler features
913394af cmTarget: Add CXX_STANDARD and CXX_EXTENSION target properties.
8238a6cd Add some COMPILE_OPTIONS for specifying C++ dialect.
892243fc Tests: Require CMake 3.0 for the SystemInformation test.
59b5fdd3 Don't load Clang-CXX from AppleClang-CXX.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Record the availability of this feature for GNU 4.8 on (UNIX AND
NOT APPLE) only. In the future, availability can be recorded for
earlier GNU, for other platforms and for other compilers. Initially
the affected configurations are as restricted as possible to allow
for easy testing while extending the features vector in only one
dimension.
The error message when using the set_property API directly is not
very good, but follow up commits will provide origin debugging of
the property and a target_compile_features command which will
provide a configure-time backtrace when possible.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a feature test using the compiler macros and the preprocessor to
determine available features.
Add a CMAKE_CXX_COMPILE_FEATURES variable which contains all features
known to the loaded compiler, and a CMAKE_CXX_KNOWN_FEATURES variable
containing all features known to CMake. Add language standard specific
variables for internal use to determine the standard-specific compile
flags to use.
This will be extended to other languages in the future. Follow-up
commits will add features which will be recorded by the feature test.
|
| |
| |
| |
| |
| | |
These are compiler-specific, compiler version specific, extension specific
and standard version specific.
|
| |
| |
| |
| |
| | |
The Clang-CXX module is going to get version-specific checks, and
the version system for AppleClang is not the same as Clang.
|
|\ \
| | |
| | |
| | |
| | | |
39d0ade0 Windows-GNU: Support duplicate object names in large archives (#14874)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since commit v2.6.0~388 (Added build rule variables
CMAKE_<LANG>_ARCHIVE_..., 2008-01-29) we use separate "ar cr ..." and
"ar r ..." steps to incrementally add a large list of object files to an
archive. Since the "r" command replaces existing objects of the same
name in an archive, if multiple objects have the same file name and
appear in separate append steps then one overwrites the other. Instead,
use "ar cq ..." and "ar q ..." to always append to the archive.
We already remove the archive before creating it so this will not cause
objects to be appended to existing archives on incremental rebuilds.
|
| |\ \ |
|
| |\ \ \ |
|
| |\ \ \ \ |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
f21ac16e Replace MATCHES test on numbers with EQUAL test
7eacbaed Replace MATCHES ".+" tests with NOT STREQUAL ""
3a71d34c Use CMAKE_SYSTEM_NAME instead of CMAKE_SYSTEM where sufficient
b0b4b460 Remove .* expressions from beginning and end of MATCHES regexs
5bd48ac5 Replace string(REGEX REPLACE) with string(REPLACE) where possible
2622bc3f Clean up usage of if(... MATCHES regex) followed string(REGEX REPLACE regex)
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The MATCHES tests were actually wrong, as "a4b" and "42" would also cause a
match when it should not.
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
All these expressions work the same:
"foo"
".*foo.*"
"^.*foo.*$"
This assumes that the "Intel*" expressions were meant to be "Intel.*".
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The simple replacement is much faster.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The matches have already been calculated and can simply be taken from
CMAKE_MATCH_n variables. This avoids multiple compilations of the same or very
similar regular expressions.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
97f2b7f5 Ninja: set correct LANGUAGE_COMPILE_FLAGS when linking
49fcffc6 Ninja: cmake formatting, make code more readable
b735c8cb MinGW: link like on Unix and use compile flags when linking
|
| |/ / / / / / |
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
73721c7c CMakeDetermineVSServicePack: Add deprecation diagnostic
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Warn project developers at runtime that the module should not be used
anymore. Issue the diagnostic only when the project requires a new
enough CMake to use the alternative. Honor the
CMAKE_(ERROR|WARN)_DEPRECATED settings.
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Update the logic added by commit 2f9ad7c6 (Fix FindMPI for the intel
compiler on linux, 2012-03-20) to use the implicit link directories for
the current ${lang} instead of hard-coding C or CXX which may not be
enabled. This is necessary for Fortran-only projects.
|
|\ \ \ \ \ \
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
f0de3f80 CMakeDetermineVSServicePack: Add VS 11 update 4
105658df CMakeDetermineVSServicePack: Match versions more robustly
101515b9 CMakeDetermineVSServicePack: Format documentation
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Use the CMAKE_MATCH_* variables to simplify matching logic. Match
either 3 or 4 version components. Do not fail when there are only three
components available.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Also state explicitly that the module is deprecated.
|
|\ \ \ \ \ \
| | |_|/ / /
| |/| | | |
| | | | | |
| | | | | | |
eb8cb2c6 Fortran: Detect pointer size on Intel archs with PGI (#14870)
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | | |
The PGI compiler does not define __SIZEOF_POINTER__ so use the
__x86_64__ or __i386__ CPU macros to select a pointer size instead.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
4b31f064 Revert "Modules: Add an Andriod platform file"
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This reverts commit 77f06b145d57c4665ff5d71b89a70c54a009ad14.
It may be re-added in the future when the requirements for that
platform are better known and supported by CMake.
|
|\ \ \ \ \ \
| | |_|_|/ /
| |/| | | |
| | | | | |
| | | | | |
| | | | | | |
7147ed5c CMakeRCInformation: Recognize 'windres' tools with '.' in name (#14865)
db924e00 CMakeRCInformation: Do not mention 'Fortran' in documentation
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
A 64-bit MinGW windres is named "i686-w64-mingw32.shared-windres". The
get_filename_component NAME_WE mode may strip the ".shared-windres" part
and cause the result to no longer contain "windres". Instead, match the
"windres" name in the full CMAKE_RC_COMPILER value first, and use the
get_filename_component code path only for other resource compilers.
|
| | |/ / /
| |/| | |
| | | | |
| | | | | |
This module is for the Windows Resource Compiler, not Fortran.
|
|\ \ \ \ \
| |_|/ / /
|/| | | |
| | | | |
| | | | | |
cb9b1e13 Watcom: Use single quote for all file/path items in wlink command
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | | |
Watcom Linker use single quote if necessary for quoting target name,
libraries names and libraries search path. Object names were already
fixed.
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
2dad1c14 ExternalProject: Find VCS packages quietly
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This keeps the VCS packages out from FeatureSummary output, unless
the INCLUDE_QUIET_PACKAGES is used.
|
|\ \ \ \
| |/ / /
|/| | /
| | |/
| |/| |
7beba986 Qt4Macros: Make QT4_CREATE_MOC_COMMAND a function
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QT4_CREATE_MOC_COMMAND is given a moc_flags argument that contains the
COMPILE_DEFINITIONS and a potentially large list of include directories.
Since it is a macro, the ${moc_flags} reference is replaced with this
content and sent through cmMakefile::ExpandVariablesInString (EVIS).
Since commit v3.0.0-rc1~138^2 (Qt4: Use generator expression in
COMPILE_DEFINITIONS, 2014-01-13) the COMPILE_DEFINITIONS value contains
a '$' so the EVIS fast-path is no longer used. Instead the full
cmCommandArgumentParserHelper is now used on the large input, which is
very slow (since it was originally created for hand-written code).
Change QT4_CREATE_MOC_COMMAND to a function instead of a macro to avoid
passing large content through EVIS. This makes it significantly faster.
|
| |\ |
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
1e22b23c Watcom: Cleanup Windows-wcl386 configuration
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Remove Watcom linker caseexact options already defined in system
definition.
* Use win_dll system for SHARED_LIBRARY and SHARED_MODULE.
* Use explicit target definition -bt=.. option for proper initialization
of compiler Windows environment (predefined macros)
* Reorganize compiler options to global options and configuration
specific options
* Use option to optimize out stack checking code for release version
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
1ddcc582 ExternalProject: Add EXCLUDE_FROM_ALL option to ExternalProject_Add
0a1c0129 ExternalProject: Add EXCLUDE_FROM_MAIN option to ExternalProject_Add_Step
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When adding a new external project, the "all" target will depend on
this.
This option allows one to add an external project will not be executed
when the "all" target is executed.
The reason for this is that an external project could be useful, for
example, only for running tests, and therefore not necessary during
the build.
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When adding a new step using ExternalProject_Add_Step, the main target
will depend on this step.
This option allows one to add a step that will not be executed when the
main target for the external project is executed.
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
2e2939c3 FindGTest: Teach GTEST_ADD_TESTS about TEST_P
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously the GTEST_ADD_TESTS function would miss parameterized tests
because it only considered TEST and TEST_F. Add TEST_P to the list of
considered tests and will run all instantiations of this parameterized
test together.
This is perhaps not as correct as searching for all instantiations of
this parameterized test and separating those into separate runs, but
this will at least run tests that were previously missing.
For reference: https://code.google.com/p/googletest/wiki/Documentation
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
83934757 Find*: Make find_package(.. QUIET) affect Check* modules.
4c0cc9ab Check*.cmake : Add CMAKE_REQUIRED_QUIET flag.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes issues #14812 and #14813 where find_package(OpenMP QUIET) and
find_package(Qt4 QUIET) would still print out messages when calling
check*() functions.
Also a partial fix for #14445 where building CMake
(without cmake-gui) when Qt5 is installed and Qt4 is not installed
and warnings come out of FindQt4.cmake.
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
Setting this flag can silence messages from the Check*.cmake modules.
This can be used by Find*.cmake modules when they are in silent mode.
|