3d612c73 MSVC: Compile with arch-specific flags on ARM platforms (#14552)
886dcaa7 MSVC: Distinguish among ARM architectures more precisely (#14552)
ea986676 MSVC: Define /DWINCE when building for WinCE platforms (#14552)
Refactor the Check*CompilerFlag modules to pass the flags to
Check*SourceCompiles using CMAKE_REQUIRED_FLAGS instead of
CMAKE_REQUIRED_DEFINITIONS. Both end up being used, but the variable
for "FLAGS" is more precise.
The change in commit v2.8.12~218^2 (CPackRPM protect '@' character in
filename processed in the spec file, 2013-07-05) was not necessary after
commit v2.8.12~439^2 (Add support for componentized USER spec file,
2013-04-01). The latter replaced ${VAR} references in the spec file
template string with \@VAR\@ references, thus protecting '@' symbols
automatically. This caused CPackRPM to break paths with @ symbols.
Revert the change to fix the behavior, and add a test case.
Otherwise find_library is unable to lookup the XCTest framework which
is not located in the SDK serach path:
In the 10.10 SDK the SDK frameworks are located here:
$DEVELOPER_DIR/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks
whereas the Platform SDKs are located here:
$DEVELOPER_DIR/Platforms/MacOSX.platform/Developer/Library/Frameworks
Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
If a feature is added multiple times via ADD_FEATURE_INFO it should
appear only once in FEATURE_SUMMARY.
Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
CPACK_RPM_<component>_PACKAGE_ARCHITECTURE variable allows
the same project to support packages of different architectures
including noarch, native and foreign architectures.
BuildArch must only be added to a spec file for a "noarch" package or
rpmbuild will fail. For all others, the --target argument sets the
package architecture. In the process of Fixing rpm architecture, we
make it mandatory, adding a default value of native architecture (the
same as if no --target argument is present). Update the documentation
at the top of the file to make it mandatory.
Clang Static Analyzer is so smart that it reports a defect when this
intended null-deref is encountered. Use sizeof instead which has no
runtime effects.
This check was first added by commit v3.0.0-rc5~6^2 (FindCurses: Detect
and satisfy ncurses dependency on tinfo, 2014-01-17), but it is not
correctly conditioned on existence of the tinfo library and fails if the
code path is taken but tinfo is not found. However, since commit
v3.2.0-rc1~369^2 (FindCurses: Drop search for deprecated HP-UX cur_colr
library, 2014-11-17) the result of the check is not used, so simply drop
it.
Since jsoncpp 0.7.0 (2014-11-20) the upstream may provide a CMake
package configuration file such that find_package(jsoncpp) will find a
jsoncppConfig.cmake file. In order to avoid conflicting with this
(especially on case-insensitive filesystems), and since we always prefer
projects to provide package config files (that they maintain), it is
better to not provide FindJsonCpp publicly.
Move FindJsonCpp into a private source directory that is not installed
so that we can still use it for building CMake itself.
Reported-by: Ryan Pavlik <ryan.pavlik@gmail.com>
4cf3589e Help: Add notes for topic 'compiler-version-Fortran'
f611406f Fortran: Test that CMAKE_Fortran_COMPILER_VERSION is set (#15372)
c6e1f464 Fortran: Detect G95 compiler version
0033faac Fortran: Detect PGI compiler version
302d47b1 Fortran: Detect XL and VisualAge compiler versions
8c8b77a5 Fortran: Detect GNU compiler version
49562a77 Fortran: Detect PathScale compiler version
aa77b631 Fortran: Detect SunPro compiler version
2e09c423 Fortran: Detect Intel compiler version
e6ebc814 Fortran: Add infrastructure to detect compiler version (#15372)
Fortran does not offer syntax to compose a string literal at
preprocessing time from numeric compuations. Instead encode each digit
of each component as a separate INFO string and compose them in CMake
code after extraction. Support MAJOR, MINOR, PATCH, and TWEAK
components with up to 8 digits each.
When matching implicit library names, use a sentinel "x" to avoid
ever expanding the library name as a variable. This was detected
by a CMP0054 warning.