Stephen Kelly
c341f4679a
Makefiles: Change AppendCustomCommand API to strings
...
Avoid the RelativeRoot enum. Supply the HOME_OUTPUT string at each
callsite to make the parameter non-defaulted.
2016-08-27 13:44:53 +02:00
Daniel Pfeifer
5cbb548807
fix a batch of include-what-you-use violations
2016-08-24 00:29:15 +02:00
Daniel Pfeifer
1d6909a287
use CM_NULLPTR
2016-06-28 09:02:26 -04:00
Daniel Pfeifer
25d1ef6424
Use enums defined in cmOutputConverter using their fully qualified name.
...
Mostly automated:
values=("RelativeRoot" "NONE" "FULL" "HOME" "START" "HOME_OUTPUT" "START_OUTPUT"
"OutputFormat" "UNCHANGED" "MAKERULE" "SHELL" "WATCOMQUOTE" "RESPONSE"
"FortranFormat" "FortranFormatNone" "FortranFormatFixed" "FortranFormatFree")
for i in "${values[@]}"; do git grep -l cmLocalGenerator::$i | xargs sed -i "s|cmLocalGenerator::$i|cmOutputConverter::$i|g"; done
2016-05-25 09:20:09 -04:00
Kitware Robot
d9fd2f5402
Revise C++ coding style using clang-format
...
Run the `Utilities/Scripts/clang-format.bash` script to update
all our C++ code to a new style defined by `.clang-format`.
Use `clang-format` version 3.8.
* If you reached this commit for a line in `git blame`, re-run the blame
operation starting at the parent of this commit to see older history
for the content.
* See the parent commit for instructions to rebase a change across this
style transition commit.
2016-05-16 16:05:19 -04:00
Brad King
0ac18d40c8
Remove `//------...` horizontal separator comments
...
Modern editors provide plenty of ways to visually separate functions.
Drop the explicit comments that previously served this purpose.
Use the following command to automate the change:
$ git ls-files -z -- \
"*.c" "*.cc" "*.cpp" "*.cxx" "*.h" "*.hh" "*.hpp" "*.hxx" |
egrep -z -v "^Source/cmCommandArgumentLexer\." |
egrep -z -v "^Source/cmCommandArgumentParser(\.y|\.cxx|Tokens\.h)" |
egrep -z -v "^Source/cmDependsJavaLexer\." |
egrep -z -v "^Source/cmDependsJavaParser(\.y|\.cxx|Tokens\.h)" |
egrep -z -v "^Source/cmExprLexer\." |
egrep -z -v "^Source/cmExprParser(\.y|\.cxx|Tokens\.h)" |
egrep -z -v "^Source/cmFortranLexer\." |
egrep -z -v "^Source/cmFortranParser(\.y|\.cxx|Tokens\.h)" |
egrep -z -v "^Source/cmListFileLexer\." |
egrep -z -v "^Source/cm_sha2" |
egrep -z -v "^Source/(kwsys|CursesDialog/form)/" |
egrep -z -v "^Utilities/(KW|cm).*/" |
xargs -0 sed -i '/^\(\/\/---*\|\/\*---*\*\/\)$/ {d;}'
This avoids modifying third-party sources and generated sources.
2016-05-09 09:41:43 -04:00
Stephen Kelly
3f8aa62bfb
cmGeneratorTarget: Add API for target-relative commands.
2015-10-26 22:02:13 +01:00
Stephen Kelly
4bc65d76f1
Makefiles: Port to cmGeneratorTarget.
2015-10-24 09:19:53 +02:00
Stephen Kelly
3e8ef64273
cmLocalGenerator: Port some API to cmGeneratorTarget.
2015-10-17 17:30:38 +02:00
Stephen Kelly
b857f0d84b
Use GetName from cmGeneratorTarget.
2015-10-17 17:30:37 +02:00
Stephen Kelly
5aa556be56
cmMakefileTargetGenerator: Require cmGeneratorTarget.
2015-06-22 13:23:45 -04:00
Stephen Kelly
e9b134b95d
cmGlobalUnixMakefileGenerator3: Host the include directive.
...
There is no sense in copying this to each cmLocalGenerator.
2015-05-16 05:20:12 +02:00
Brad King
9f92a78be2
cmLocalGenerator: Rename 'MAKEFILE' to 'MAKERULE'
...
Rename the internal enumeration value for converting paths destined
for use in Makefile rule syntax.
2014-07-22 12:27:57 -04:00
Stephen Kelly
21c573f682
Remove some c_str() calls.
...
Use the clang RemoveCStrCalls tool to automatically migrate the
code. This was only run on linux, so does not have any positive or
negative effect on other platforms.
2014-03-11 15:03:50 +01:00
Ben Boeckel
fabf1fbabb
stringapi: Use strings in target name
2014-03-08 13:05:31 -05:00
Stephen Kelly
c34968a9aa
Port some of the generator API to cmGeneratorTarget.
...
Just enough to reach the BuildMacContentDirectory method and the
NeedRelinkBeforeInstall methods.
In the future, those methods can be moved to cmGeneratorTarget.
2013-11-22 15:06:25 +01:00
Clinton Stimpson
373faae5e1
Refactor how bundles and frameworks are supported.
...
Make handling of directory separators consistent between
non-bundle and bundle code.
Remove xcode specific flag from cmTarget when getting install_name.
Add (more) consistent convenience functions in cmTarget to get
directories inside of bundles and frameworks to add files to.
This refactor also fixes bug #12263 where frameworks
had the wrong install name when SKIP_BUILD_RPATH.
Also make install_name for frameworks consistent between Makefile
and Xcode generator.
2013-05-23 10:42:49 -04:00
Nicolas Despres
7a3ecf5ed5
Fix memory leak in Makefile generator.
...
This was introduced by 5d885db416
.
2012-07-22 15:36:05 +02:00
Nicolas Despres
5d885db416
Re-factor bundle content copying rules generation.
2012-07-17 14:03:10 +02:00
Johan Fänge
7ab1162eaa
CMake: Fix progress reporting for custom targets ( #12441 )
...
Adds "include progress.make" to build.make, just like for
add_executable and add_library targets. The code was copied
from cmMakefileTargetGenerator::WriteCommonCodeRules().
2011-12-13 20:06:27 -05:00
Brad King
96afb12087
Convert CMake to OSI-approved BSD License
...
This converts the CMake license to a pure 3-clause OSI-approved BSD
License. We drop the previous license clause requiring modified
versions to be plainly marked. We also update the CMake copyright to
cover the full development time range.
2009-09-28 11:43:28 -04:00
Brad King
c895d9f2e0
ENH: Give target in which custom commands build
...
This gives the cmTarget instance for which custom command rules are
being generated to cmLocalUnixMakefileGenerator3::AppendCustomCommands.
It will be useful in the future.
2009-02-10 08:50:33 -05:00
Brad King
9ed4266306
ENH: Cleanup impl of PUBLIC_HEADER, PRIVATE_HEADER, and RESOURCE properties
2008-02-18 16:38:34 -05:00
Brad King
d83b4cd255
ENH: Add a depends check step to custom targets. Add support for the IMPLICIT_DEPENDS feature of custom commands when building in custom targets. Convert multiple-output pair checks to be per-target instead of global.
2007-12-21 12:22:12 -05:00
Brad King
c51c245efa
BUG: A utility target should not run the custom commands from its source files directly. The target-level rule must add dependencies on the file-level custom commands to drive them. This bug was introduced by the "fix" to bug 4377. This also restores the documented behavior that PRE_BUILD rules are treated as PRE_LINK rules on non-VS generators. Also fixed custom command dependencies on the rule file build.make so that custom commands re-run when the commands themselves change.
2007-05-01 13:51:25 -04:00
Ken Martin
1de68b46f1
BUG: fix for build order
2007-03-02 14:31:04 -05:00
Brad King
f7611f167c
ENH: Made cmMakefileTargetGenerator::GlobalGenerator have full type cmGlobalUnixMakefileGenerator3 to give access to all methods. Fixed broken custom targets with no commands for Borland makefiles when CMAKE_SKIP_RULE_DEPENDENCY is set.
2006-12-14 14:30:41 -05:00
Brad King
4189370497
BUG: Custom command outputs listed explicitly as source files in a target should be generated whether or not an object file in the target needs them. This useful and makes Makefile builds more consistent with VS IDE builds.
2006-06-01 11:45:51 -04:00
Brad King
60cd72d01c
ENH: Cleaned up generation of symbolic rules. Removed generation of rebuild_cache and similar rules from internal makefiles.
2006-02-15 16:35:16 -05:00
Ken Martin
7740ccd1a4
ENH: some cleanup of the makefile generator
2006-02-14 10:36:04 -05:00