We already match lowercase 'rc'. Add 'RC' too. The latter is listed in
other CMake<LANG>Compiler modules as ignored for their languages already.
Signed-off-by: Tim Blechmann <tim@klingt.org>
The FindQt4 module is a CMake Domain object of type "module".
Our convention for domain object document titles is "------"
and domain object document sections is "^^^^^^". Switch to
these within the FindQt4 documentation.
58f7baab FindFreetype: Indent with 2 spaces instead of 4
444f8801 FindFreetype: Use lower-case name in call to FPHSA
836a28d5 FindFreetype: Move PATH_SUFFIXES argument for more consistency
4ad6dace FindFreetype: Add newlines to reduce code width
While at it, do not cache the value since it should always be
computed directly from DOXYGEN_DOT_EXECUTABLE.
Inspired-by: Lars Bilke <larsbilke83@googlemail.com>
As of Graphviz 2.31, their installer provides no PATH or registry
modifications. Glob possible install paths instead.
Inspired-by: Lars Bilke <larsbilke83@googlemail.com>
Link to it from the documentation of related properties, variables
and commands.
Extend the cmake-developer(7) documentation with notes on
extending feature support for compilers.
Add to the Platform/Windows-GNU module list of VS registry entries those
for VS 2013. Also add the name "vcvars64.bat" used by VS 10 and above
for 64-bit tools.
After finding qmake we search in QT_BINARY_DIR for the other Qt tools.
Try all versioned executable names before trying the plain executable name.
This makes it much more likely that if 2 different major versions are installed
in the same prefix CMake will be able to detect a proper set of tools.
Update cmake_minimum_required calls in CMakeLists.txt in Modules and in
CMakeLists.txt generated by other modules, so that they are always in
sync with current CMake version.
Some modules change CMake minimum required version when they are
included. For example:
cmake_minimum_required(VERSION 2.8.12)
message("${CMAKE_MINIMUM_REQUIRED_VERSION}")
include(CheckTypeSize)
message("${CMAKE_MINIMUM_REQUIRED_VERSION}")
will produce the following output:
2.8.12
2.6
This patch ensures that when you include a CMake module the minimum
required version and the policies set are left unchanged.
Fixes Issue #14864
Previously when linking the intermediate link file for separable compilation
the CUDA_NVCC_FLAGS* were not used. This caused tremendous confusion when
using this feature, and I consider it to be a bug. This change should fix
this.
Clang discards the entire string if it is not used, removing
the ability to read the features from the compiled binary. That
is prevented by using the symbol.
GNU with -O3 also discards the string, so use the string in a
way which is determined by a runtime value (argc) to prevent
it being discarded.
Add properties and variables corresponding to CXX equivalents.
Add features for c_function_prototypes (C90), c_restrict (C99),
c_variadic_macros (C99) and c_static_assert (C11). This feature
set can be extended later.
Add a <PREFIX>_RESTRICT symbol define to WriteCompilerDetectionHeader
to conditionally represent the c_restrict feature.
Provide a function to write a portable header to detect compiler
features. Generate a preprocessor #error for unknown compilers
and compiler versions whose features are not yet recorded. This
error condition might be relaxed in the future, but for now it
is useful for verification of expectations.
Remove the use of check_cxx_source_compiles which is now just getting in
the way.
Blacklist the cxx_alignof feature in the test with GNU 4.7. The test
file compiles, but it is documented as available first in GNU 4.8.
205215fb cmTarget: Add CXX_STANDARD_REQUIRED to control decay.
1df2116b Features: Decay language flag if requested is not available.
c4f4dac2 Project: Fix exit-on-error with compile feature tests.
5bb7ce72 Project: Use nullary form of main for compile feature tests.
64254e7a Project: Remove extern from static string in feature tests.
0d9c99bf Help: Fix order of help entries.
dc7639bd Tests: Fix name of cache variable.
3b59f8b7 Project: Refactor C compiler determination into multiple files.
8896501b CompilerId: Allow specifying a prefix for preprocessor defines.
23f451bb CompilerId: Guard the platform-default compiler code with a parameter.
30a99f5c CompilerId: Add option to generate compiler-id-specific defines.
36ed5894 CompilerId: Allow specifying the compiler-specific components to generate.
9a083bce Project: Split the compiler id detection into a separate function.
9d285600 Project: Generate the CXX compiler Id test from multiple files.
Just like -I flag has its -isystem counterpart which marks an include
directory as a system directory and prevents unwanted warnings, on Apple
systems there is -iframework -- a system directory replacement for -F.
Use this flag to implement include_directories(SYSTEM) for frameworks.
This will allow sharing of the logic of the order to test compilers in
and the preprocessor macros used to do that and to determine the
version components.
Use the highest standard compile flags available if requested language
version is too new.
This supports use-cases like
set(CMAKE_CXX_STANDARD 14)
# Compiled with -std=c++11 with GNU 4.7, which has no -std=c++14
# or equivalent flag
add_executable(main main.cpp)
This can be used in combination with preprocessor defines which
communicate the availability of certain language features for
optional use.
When ncurses is built with USE=tinfo we need to find "tinfo" as a
dependency of the main library. Otherwise 'cbreak' is missing:
ld: ...: undefined reference to symbol 'cbreak'
ld: note: 'cbreak' is defined in DSO /lib/libtinfo.so.5 so try adding
it to the linker command line
See https://bugs.gentoo.org/show_bug.cgi?id=468622 for more information.
Applied-by: Rolf Eike Beer <eike@sf-mail.de>
Take our CURSES_USE_NCURSES code path when CURSES_NEED_NCURSES is
enabled even if CURSES_CURSES_LIBRARY also happens to be found.
Applied-by: Rolf Eike Beer <eike@sf-mail.de>
For example if one installs Xcode 4.6 on OS X 10.9, it doesn't contain
a 10.9 SDK, so fallback to the next newest version which, in this case,
happens to be a 10.8 SDK.
This fixes bug #14572.
The MBCS (Multi-Byte Character Set) has been deprecated with VS 2013,
and MSVC no longer ships with an MBCS-version of MFC by default.
However, it can be downloaded as an add-on.
Teach InstallRequiredSystemLibraries to install the MBCS MFC only
for VS < 12 or if it happens to exist on the system.
In commit v3.0.0-rc1~103^2~3 (ExternalProject: Reattempt download when
verification fails, 2014-01-15) a reference to ${CMAKE_COMMAND} was
added to generate a reference to the CMake command in a cmake script.
Escape the '$' so that the literal variable reference appears in the
script instead of writing the path to the current cmake. This is
necessary when the path to CMake contains spaces or other characters
special to CMake syntax.
bbc358c3 Merge branch 'master' into osx-init-early
0cce556b Xcode: Use sysroot and deployment target to identify compiler
0200d0a9 OS X: Factor a Darwin-Initialize module out of Platform/Darwin
416761e3 Add platform-specific initialization step when enabling languages
Use CMAKE_OSX_SYSROOT and CMAKE_OSX_DEPLOYMENT_TARGET to set the Xcode
SDKROOT and MACOSX_DEPLOYMENT_TARGET build settings. This is necessary
because some versions of Xcode select a different compiler based on
these settings. We need to make sure the compiler identified during
language initialization matches what will be used for the actual build.
Initialize variables CMAKE_OSX_SYSROOT, CMAKE_OSX_DEPLOYMENT_TARGET, and
CMAKE_OSX_ARCHITECTURES prior to enabling any languages. This will
allow compiler identification to consider these values.
Create a Modules/CMakeSystemSpecificInitialize.cmake module loaded after
CMakeSystem.cmake but before per-language initialization. Use it to
load an optional Platform/<os>-Initialize.cmake module. This will be
useful to do per-platform initialization that does not depend on the
language and use the results when enabling specific languages.