Commit Graph

22 Commits

Author SHA1 Message Date
Rolf Eike Beer 6f3ebfed98 Check*CompilerFlag: make C and CXX modules share most error patterns (#14339)
This simplifies maintenance as most patterns will be for both modules and may
be added at a central place.

While at it add error patterns for XL and BCC.
2013-08-13 23:27:10 +02:00
Rolf Eike Beer 293ecfeb79 CheckC*CompilerFlag: add documentation what to expect from a positive result 2013-08-13 21:17:42 +02:00
Brad King 3e79d656da Check*CompilerFlag: Document use of CMAKE_REQUIRED_DEFINITIONS (#14309)
Explain how CMAKE_REQUIRED_DEFINITIONS is set before calling the
check_*_source_compiles macros.
2013-07-25 08:25:15 -04:00
Brad King 52723722c7 Check{C,CXX}CompilerFlag: Test using C locale (#14102)
Set the locale to C while running the compiler for these checks because
we match the resulting warning messages in English only.

Suggested-by: Marco Nolden <m.nolden@dkfz-heidelberg.de>
2013-04-22 08:50:08 -04:00
Kitware Robot 9db3116226 Remove CMake-language block-end command arguments
Ancient versions of CMake required else(), endif(), and similar block
termination commands to have arguments matching the command starting the
block.  This is no longer the preferred style.

Run the following shell code:

for c in else endif endforeach endfunction endmacro endwhile; do
    echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
egrep -z -v 'Tests/CMakeTests/While-Endwhile-' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
2012-08-13 14:19:16 -04:00
Kitware Robot 77543bde41 Convert CMake-language commands to lower case
Ancient CMake versions required upper-case commands.  Later command
names became case-insensitive.  Now the preferred style is lower-case.

Run the following shell code:

cmake --help-command-list |
grep -v "cmake version" |
while read c; do
    echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
2012-08-13 14:19:16 -04:00
Rolf Eike Beer f621ead8b7 Check{C,CXX}CompilerFlag: catch more Intel warning types (#12576)
Patch provided by Szilárd Páll.
2012-04-27 00:52:55 +02:00
Rolf Eike Beer f6ecb900fb Check{C,CXX}CompilerFlag: detect ICC error messages
Patch provided by Christopher Sean Morrison.
2012-02-23 23:08:04 +01:00
Matthias Kretz 9b4e4c92ae Improve checks for Open64 and g++ incompatible flags (#12119) 2012-02-12 10:42:54 +01:00
Brad King 646cf91932 CheckCCompilerFlag: Generalize "but not for C" case (#12633)
The "warning: " part is not necessary.  The case can happen on any GNU
compiler, not just an Apple version.
2011-12-22 09:40:32 -05:00
Brad King ed6be501de Fix CHECK_(C|CXX)_COMPILER_FLAG for Clang (#12394)
This compiler warns and returns 0 for unrecognized flags.  We fix the
compiler flag check macros by looking for a warning in the output.
2011-08-08 12:53:17 -04:00
David Cole b7f3f7cdb6 Add fail regex to detect supported warning flags correctly.
On Apple's gcc, the compiler emits a warning such as "warning: command
line option "-Wno-deprecated" is valid for C++/ObjC++ but not for C"
when it is passed that flag on its command line.

When testing for that flag with a plain C file, we should report that
the flag is unsupported for C files. The new FAIL_REGEX option added
here produces this behavior.
2011-07-27 15:01:50 -04:00
Brad King b3efdb58d5 CheckCCompilerFlag: Strict signature of 'main' (#11615)
Use "int main(void)" instead of just "int main()" so that compiling with
"gcc -Werror=strict-prototypes" works.  Test this check using the flags
"-Werror -Wstrict-prototypes" to work with old GCC versions.
2010-12-16 13:34:54 -05:00
Brad King 79e02333a6 BUG: Fix compiler flag test for non-English MSVC (#11336)
Approach suggested by John Stark.
2010-11-04 08:50:17 -04:00
Todd Gamblin 2cde67a781 Modules: Fix spelling 'To distributed' -> 'To distribute' 2010-08-09 08:48:31 -04:00
Brad King 3a666595c9 Convert CMake non-find modules to BSD License
This adds copyright/license notification blocks CMake's non-find
modules.  Most of the modules had no notices at all.  Some had notices
referring to the BSD license already.  This commit normalizes existing
notices and adds missing notices.
2009-09-28 11:46:51 -04:00
Brad King 83957d9e0d Fix CHECK_(C|CXX)_COMPILER_FLAG for XL and SunPro
These compilers warn and return 0 for unrecognized flags.  We fix the
compiler flag check macros by looking for a warning in the output.  We
also update the regex for GNU on older Macs.  See issue #9516.
2009-09-18 09:49:44 -04:00
Brad King 53fb07ef5d Fix CHECK_(C|CXX)_COMPILER_FLAG for HP
This compiler warns and returns 0 for unrecognized flags.  We fix the
compiler flag check macros by looking for a warning in the output.
See issue #9516.
2009-09-17 17:16:43 -04:00
Brad King 7e3d437d0a Fix CHECK_(C|CXX)_COMPILER_FLAG for GNU and MSVC
These compilers warn and return 0 for unrecognized flags.  We fix the
compiler flag check macros by looking for a warning in the output.
See issue #9516.
2009-09-17 15:32:54 -04:00
Brad King 80af3ae35d Cleanup generic compiler check macro documentation
This commit improves formatting and style of the documentation for the
general-purpose compiler check macros:

  CHECK_C_COMPILER_FLAG
  CHECK_C_SOURCE_COMPILES
  CHECK_C_SOURCE_RUNS
  CHECK_CXX_COMPILER_FLAG
  CHECK_CXX_SOURCE_COMPILES
  CHECK_CXX_SOURCE_RUNS

This sytle is more consistent with CMake command documentation.
It also looks nicer in the generated documentation text files.
2009-09-17 15:28:51 -04:00
Bill Hoffman b4475cf7e8 ENH: fix docs, bug 7590 2008-09-09 14:12:48 -04:00
Alexander Neundorf 86c63dca11 ENH: two macros to check whether the C/CXX compiler supports a given flag:
CHECK_CXX_COMPILER_FLAG("-Wall" COMPILER_SUPPORTS_WALL)

Alex
2006-09-18 17:55:22 -04:00