Commit Graph

5696 Commits

Author SHA1 Message Date
Brad King 4817d2814a Merge topic 'windows-rc-enable-later'
772eae44 RC: Add platform-specific preprocessor definitions (#15404)
4300de3e RC: Enable language after C, CXX, or Fortran is enabled (#15404)
1de4a0fb RC: Drop unused CMAKE_COMPILE_RESOURCE variable setting
2015-02-26 08:52:09 -05:00
Brad King e4419c9f88 Merge topic 'ExternalData-url-algo-map'
f7f4ca55 ExternalData: Add support for custom algorithm-to-URL mapping
2015-02-26 08:51:52 -05:00
Brad King 772eae4464 RC: Add platform-specific preprocessor definitions (#15404)
In Platform/Windows-MSVC the C and CXX flags are initialized to
contain preprocessor definitions describing the platform.  On
WinCE platforms this may not be just -DWIN32.  This information
may be important to RC sources too, so add such preprocessor
definitions to the default RC flags.

Suggested-by: Gunnar Roth <gunnar.roth@gmx.de>
2015-02-25 11:29:45 -05:00
Brad King 4300de3e27 RC: Enable language after C, CXX, or Fortran is enabled (#15404)
The RC language is special in that it is automatically enabled
on Windows-based platforms when another primary language is
enabled.  Move enablement of RC from early in the enablement
of the other language to late.  This will allow it to use
information detected as part of enabling C, CXX, or Fortran.
2015-02-25 11:16:51 -05:00
Brad King 1de4a0fb09 RC: Drop unused CMAKE_COMPILE_RESOURCE variable setting
This variable has long been replaced by CMAKE_RC_COMPILE_OBJECT.
Stop setting it in platform modules.
2015-02-25 11:16:19 -05:00
Brad King fa6da5fcd8 Merge topic 'CheckCompilerFlag-use-FLAGS'
5d5067ae Check*CompilerFlag: Refactor method used to pass flags
2015-02-25 09:03:07 -05:00
Brad King 71a610ff29 Merge topic 'refine-MSVC-ARM-WinCE'
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)
2015-02-25 09:03:03 -05:00
Brad King f7f4ca55bd ExternalData: Add support for custom algorithm-to-URL mapping
Allow URL templates to contain a %(algo:<key>) placeholder that is
replaced by mapping the canonical hash algorithm name through a map
defined by the <key>.

Extend the Module.ExternalData test to cover the behavior.
Extend the RunCMake.ExternalData test to cover error cases.
2015-02-25 08:28:05 -05:00
Mark Abraham 5d5067ae57 Check*CompilerFlag: Refactor method used to pass flags
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.
2015-02-24 09:45:19 -05:00
Gunnar Roth 3d612c7352 MSVC: Compile with arch-specific flags on ARM platforms (#14552)
Define the exact ARM architecture name as a preprocessor symbol.
Compile with /QRarch4T or /QRarch5T on ARMV4I or ARMV5I.
2015-02-24 09:33:08 -05:00
Gunnar Roth 886dcaa7c5 MSVC: Distinguish among ARM architectures more precisely (#14552)
Detect the exact ARM architecture instead of just "ARM".  Treat "ARM" as
an architecture family that includes THUMB (ARMV4I and ARMV5I).
2015-02-24 09:33:08 -05:00
Gunnar Roth ea98667682 MSVC: Define /DWINCE when building for WinCE platforms (#14552) 2015-02-24 09:33:06 -05:00
Brad King d518aa79a4 Merge topic 'FindMatlab-remove-trailing-lines'
08d1e65a FindMatlab: Remove trailing blank lines
2015-02-24 09:13:36 -05:00
Brad King 41a16f07c3 Merge topic 'osx-framework-search-platform-SDKs'
0ee2a004 OS X: Add platform-specific Frameworks search path
2015-02-24 09:12:45 -05:00
Brad King 13f9f848de Merge topic 'FeatureSummary-no-duplicates'
38ef2b73 FeatureSummary: Print each feature info only once
2015-02-24 09:12:43 -05:00
Brad King 133ab7a447 Merge topic 'rpm_at_in_path'
5857ca5e CPackRPM: Drop explicit handling of '@' symbols that breaks them (#14782)
2015-02-24 09:12:39 -05:00
Brad King 91234717f7 Merge topic 'GetPrerequisites-file-command-update'
fe558718 GetPrerequisites: Update output matching for newer 'file' versions
2015-02-24 09:12:37 -05:00
Brad King 206ce77781 Merge topic 'ctest-output-options'
ff1ddd2a ctest_upload: Add QUIET option
0b87b2a3 ctest_memcheck: Add QUIET option
fc58bdb9 ctest_coverage: Add QUIET option
876a680d ctest_test: Add QUIET option
49ba4545 ctest_build: Add QUIET option
f999dc0b ctest_configure: Add QUIET option
645ad117 ctest_update: Add QUIET option
19d1a559 ctest_start: Add QUIET option
1643b905 ctest_submit: Add QUIET option
12db1139 CTest: Add cmCTestOptionalLog macro
2015-02-24 09:12:33 -05:00
Brad King 08d1e65a9a FindMatlab: Remove trailing blank lines 2015-02-24 09:06:39 -05:00
Domen Vrankar 5857ca5e0d CPackRPM: Drop explicit handling of '@' symbols that breaks them (#14782)
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.
2015-02-24 08:44:36 -05:00
Gregor Jasny 0ee2a004e7 OS X: Add platform-specific Frameworks search path
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>
2015-02-23 13:10:52 -05:00
Marcus Meissner fe558718b3 GetPrerequisites: Update output matching for newer 'file' versions
Detect PIE binaries with newer 'file' (5.22).  It no longer prints
"(uses shared libraries)" but does print "interpreter":

 # file 5.19
 $ file /usr/bin/su
 /usr/bin/su: ... shared object, ..., dynamically linked (uses shared libs), ...

 # file 5.22
 $ file /usr/bin/su
 /usr/bin/su: ... shared object, ..., dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, ...
2015-02-23 11:50:29 -05:00
Gregor Jasny 38ef2b7363 FeatureSummary: Print each feature info only once
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>
2015-02-23 11:39:17 -05:00
Brad King 7cebc5acac Merge topic 'rpm_package_architecture'
b6f94e6b Help: Add notes for topic 'rpm_package_architecture'
f174b919 Tests: CpackRPM test component architecture
3aa9f89d CPackRPM: Support rpm architecture in components
761562fe CPackRPM: Fix CPACK_RPM_PACKAGE_ARCHITECTURE
2015-02-23 11:06:05 -05:00
Joshua A Clayton 3aa9f89dbb CPackRPM: Support rpm architecture in components
CPACK_RPM_<component>_PACKAGE_ARCHITECTURE variable allows
the same project to support packages of different architectures
including noarch, native and foreign architectures.
2015-02-23 10:48:27 -05:00
Joshua A Clayton 761562fea6 CPackRPM: Fix CPACK_RPM_PACKAGE_ARCHITECTURE
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.
2015-02-23 10:48:10 -05:00
Brad King 88aeb64ddf Merge topic 'fix-graphiz-typo'
f93438cd Fix typo, graphiz -> graphviz.
2015-02-23 10:26:40 -05:00
Brad King 15c409f467 Merge topic 'CheckStructHasMember-fix-null-deref-warning'
e1da4dc2 CheckStructHasMember: fix null deref warning (#15413)
2015-02-23 10:26:36 -05:00
Brad King ae7c5f05c3 Merge topic 'FindCurses-remove-unused-check'
b4005a3a FindCurses: Drop unused check for cbreak in tinfo library
2015-02-23 10:26:32 -05:00
Brad King 1eb192905d Merge topic 'private-FindJsonCpp'
a41d621d bootstrap: Add --(no-)system-jsoncpp options
a5768442 FindJsonCpp: Drop new module due to upstream jsoncpp providing package
2015-02-23 10:26:30 -05:00
Zack Galbreath fc58bdb9ad ctest_coverage: Add QUIET option 2015-02-23 10:02:00 -05:00
Stephen Kelly f93438cd83 Fix typo, graphiz -> graphviz. 2015-02-21 10:27:54 +01:00
Peter Wu e1da4dc2dd CheckStructHasMember: fix null deref warning (#15413)
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.
2015-02-20 11:21:43 -05:00
Brad King d95d4c2c77 Merge branch 'FindCurses-remove-unused-check' into release 2015-02-20 08:42:35 -05:00
Brad King b4005a3ad9 FindCurses: Drop unused check for cbreak in tinfo library
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.
2015-02-20 08:41:36 -05:00
Brad King 57d4e1c776 Merge branch 'private-FindJsonCpp' into release 2015-02-20 08:33:03 -05:00
Brad King a576844263 FindJsonCpp: Drop new module due to upstream jsoncpp providing package
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>
2015-02-20 08:22:02 -05:00
Brad King 2f0b9c67fc Merge topic 'CMakeParseImplicitLinkInfo-CMP0054'
d1cf09e3 CMakeParseImplicitLinkInfo: Avoid if() auto-deref in quoted arg
2015-02-19 09:32:33 -05:00
Brad King 05c54c5bc7 Merge topic 'mingw-no-find_library-dll'
a0f17fbe Windows-GNU: Do not tell find_library to treat '.dll' as linkable
2015-02-19 09:32:31 -05:00
Brad King 6f9c4d17f8 Merge topic 'compiler-version-Fortran'
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)
2015-02-19 09:32:29 -05:00
Brad King d7bc3ff690 Merge topic 'FindJNI-awt-arch'
bce4e20f FindJNI: Add arch-specific library dir for JDK 9 layout (#15408)
2015-02-19 09:32:25 -05:00
Brad King c6e1f46475 Fortran: Detect G95 compiler version
The __G95__ and __G95_MINOR__ preprocessor symbols encode the compiler
version as decimal digits.
2015-02-19 09:26:28 -05:00
Brad King 0033faac1d Fortran: Detect PGI compiler version
Port logic from the "Compiler/PGI-DetermineCompiler" module into
"CMakeFortranCompilerId.F.in".
2015-02-19 09:26:28 -05:00
Brad King 302d47b1fe Fortran: Detect XL and VisualAge compiler versions
Port logic from the "Compiler/XL-*-DetermineCompiler" and
"Compiler/VisualAge-*-DetermineCompiler" modules into
"CMakeFortranCompilerId.F.in".
2015-02-19 09:26:28 -05:00
Brad King 8c8b77a5de Fortran: Detect GNU compiler version
Port logic from the "Compiler/GNU-DetermineCompiler" module into
"CMakeFortranCompilerId.F.in".
2015-02-19 09:26:28 -05:00
Brad King 49562a77f7 Fortran: Detect PathScale compiler version
Port logic from the "Compiler/PathScale-DetermineCompiler" module into
"CMakeFortranCompilerId.F.in".
2015-02-19 09:26:27 -05:00
Brad King aa77b631d9 Fortran: Detect SunPro compiler version
Port logic from "Compiler/SunPro-*DetermineCompiler" modules into
"CMakeFortranCompilerId.F.in".
2015-02-19 09:26:27 -05:00
Brad King 2e09c4230f Fortran: Detect Intel compiler version
Port logic from the "Compiler/Intel-DetermineCompiler" module into
"CMakeFortranCompilerId.F.in".
2015-02-19 09:26:27 -05:00
Brad King e6ebc814df 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.
2015-02-19 09:26:27 -05:00
Brad King d1cf09e3c2 CMakeParseImplicitLinkInfo: Avoid if() auto-deref in quoted arg
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.
2015-02-18 12:32:47 -05:00