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