Commit Graph

24 Commits

Author SHA1 Message Date
Brad King c736de7b28 Factor an <INCLUDES> placeholder out of <FLAGS> in rule variables
Teach the Makefile and Ninja generators to substitute for an <INCLUDES>
placeholder instead of putting -I in <FLAGS>.  Update our values for

  CMAKE_<LANG>_COMPILE_OBJECT,
  CMAKE_<LANG>_CREATE_ASSEMBLY_SOURCE, and
  CMAKE_<LANG>_CREATE_PREPROCESSED_SOURCE

to place <INCLUDES> just before <FLAGS>.
2015-07-13 10:49:46 -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
Kitware Robot 7bbaa4283d Remove trailing whitespace from most CMake and C/C++ code
Our Git commit hooks disallow modification or addition of lines with
trailing whitespace.  Wipe out all remnants of trailing whitespace
everywhere except third-party code.

Run the following shell code:

git ls-files -z -- \
 bootstrap doxygen.config '*.readme' \
 '*.c' '*.cmake' '*.cpp' '*.cxx' \
 '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \
 '*.mm' '*.pike' '*.py' '*.txt' '*.vim' |
egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' |
egrep -z -v '^(Modules/CPack\..*\.in)' |
xargs -0 sed -i 's/ \+$//'
2012-08-13 14:18:39 -04:00
Brad King 4d72006bd6 Reduce duplication in Platform/<os>.cmake files
Several platform-wide linker flag variables are defined in
Modules/Platform/<os>.cmake files for C and then copied by the
Modules/CMake<lang>Information.cmake file for each language.
We now use this approach for the variables

  CMAKE_EXE_EXPORTS_${lang}_FLAG
  CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG
  CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS

to avoid duplication for multiple languages in each platform file.
2009-12-02 15:17:53 -05:00
Brad King e840a9dff3 BUG: Apply patch from bug#6445. Add preprocessor definitions to assembly and preprocessing build rules. 2008-02-27 14:31:09 -05:00
Brad King f49ec94e9f ENH: Enable dependent library search paths on more platforms
- HP-UX needs dependent library paths as -L options.
  - IRIX needs dependent library paths as -L options.
  - Sun needs dependent library paths as -L options.
  - FreeBSD needs dependent library paths in -rpath-link option.
2008-02-01 09:57:41 -05:00
Brad King 3a05425309 BUG: Move decision to switch library paths found in implicit link directories to use -l options from cmFindLibraryCommand to cmComputeLinkInformation. Existing projects may depend on find_library returning a full path. This slightly weakens cmComputeLinkInformation but is necessary for compatibility. 2008-01-31 07:50:40 -05:00
Brad King 8fbf4a0de6 ENH: Enabling preprocessed source and asembly source generation rules on SGI MIPSpro compilers. 2006-08-09 13:14:48 -04:00
Bill Hoffman d33021924d ENH: add more search paths and add UnixPaths to all unix platforms 2006-03-27 10:46:42 -05:00
Bill Hoffman 44e6852322 ENH: use c not cxx 2006-03-15 14:14:03 -05:00
Bill Hoffman 6571799492 FIX: for 1852 fix fortran case 2005-07-13 08:29:56 -04:00
Bill Hoffman 692ba48c4e ENH: major changes to support addition of languages from cmake modules directory. 2004-09-22 14:42:05 -04:00
Bill Hoffman 66a08c10e5 ENH: more uniform approach to enable language, one step closer to being able to enable a language without modifing cmake source code 2004-08-26 14:55:55 -04:00
Brad King 830e1ac1d9 BUG#895: Adding -DNDEBUG to C and C++ flags for release builds. 2004-06-01 14:08:04 -04:00
Brad King 128f3cbd00 ENH: Added CMAKE_SHARED_LIBRARY_SONAME_C_FLAG and CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG settings to enable shared library version support for SGI. 2003-12-12 15:42:55 -05:00
Bill Hoffman c3530dd01f BUG: fix for bug 383 gcc flags are now always set if the compiler is gnu 2003-11-14 10:44:12 -05:00
Brad King 5e21538ebd ENH: Improved default choice of -64 compiler/linker flags based on how cmake was built. 2003-08-19 10:50:08 -04:00
Bill Hoffman 9a6c95fcea add checks for ansi flags and not hard code them 2002-11-21 12:52:54 -05:00
Bill Hoffman d1051bb575 clean up flags with _init flags 2002-11-11 12:31:46 -05:00
Bill Hoffman 538f38596f BUG: fix setting of c flags 2002-11-10 10:02:52 -05:00
Bill Hoffman ac481e0ee9 fix for cxxflags 2002-11-09 13:43:16 -05:00
Brad King 3a6d52f4c5 ENH: Moved caching of C*_FLAGS* settings down to CMakeSystemSpecificInformation.cmake. The platform files can set the defaults on the first run, and then the settings are cached at the end. 2002-11-08 18:06:53 -05:00
Bill Hoffman f5d95fb078 Complete rework of makefile generators expect trouble 2002-11-08 15:46:08 -05:00