Alex Neundorf
05f162ce95
AddCustomCommand: Handle multiple IMPLICIT_DEPENDS files ( #10048 )
...
The code handling IMPLICIT_DEPENDS was only able to track a single file,
the latest file replaced earlier files in the list.
The documentation now mentions that the language has to be prefixed to
every file and the test now uses two implicit dependencies, where only
the second is modified to trigger re-running of the custom command.
Alex
Inspired-by: Michael Wild <themiwi@users.sourceforge.net>
2012-11-06 11:54:58 -05: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
Yury G. Kudryashov
737c49a357
Add 'const' qualifier to some cmCommand members
...
Use const_cast for the special case in cmFindBase where
GetFullDocumentation calls GenerateDocumentation.
2012-02-29 13:27:04 -05:00
Brad King
0ece8f79ed
Document caveat of custom commands in multiple targets ( #12311 )
...
A common mistake when using custom commands is to list the output of a
command in multiple targets that may build in parallel. Warn against
this case in the documentation and suggest a better approach.
2011-06-30 08:43:32 -04:00
Brad King
88548a45fb
Handle relative WORKING_DIRECTORY in add_custom_(command|target)
...
This also fixes handling of trailing slashes in the directory name.
2011-01-26 18:02:02 -05:00
Brad King
f0cdb6001b
Introduce "generator expression" syntax to custom commands ( #11209 )
...
Evaluate in the COMMAND arguments of custom commands the generator
expression syntax introduced in commit d2e1f2b4
(Introduce "generator
expressions" to add_test, 2009-08-11). These expressions have a syntax
like $<TARGET_FILE:mytarget> and are evaluated during build system
generation. This syntax allows per-configuration target output files to
be referenced in custom command lines.
2010-12-15 14:53:48 -05:00
Brad King
80edcc6a86
Document custom command behavior without DEPENDS ( #11407 )
...
The behavior of add_custom_command when no DEPENDS option is specified
matches that of standard Make behavior, but it does not hurt to describe
it explicitly.
2010-11-05 08:08:37 -04: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
5982224a73
ENH: Clarify VERBATIM option documentation
...
The previous wording of the VERBATIM option documentation in the
add_custom_command and add_custom_target commands was confusing. It
could be interpreted as the opposite of what the option means (no
escaping instead of escaping). This clarifies the documentation to
explicitly state that it escapes.
2009-04-01 10:31:41 -04:00
Brad King
31d03e8399
ENH: Document scope of add_custom_command outputs
...
This explicitly states the scope of add_custom_command rules in
the documentation of add_custom_command and add_custom_target.
See issue #8815 .
2009-03-30 08:27:28 -04:00
Brad King
bed3ac8741
ENH: Remove SKIP_RULE_DEPENDS option from add_custom_command()
...
- Option was recently added but never released.
- Custom commands no longer depend on build.make so we do
not need the option.
- Rule hashes now take care of rebuilding when rules change
so the dependency is not needed.
2008-06-02 16:45:07 -04:00
Brad King
600e5e274e
ENH: Add SKIP_RULE_DEPENDS option for add_custom_command()
...
- Allows make rules to be created with no dependencies.
- Such rules will not re-run even if the commands themselves change.
- Useful to create rules that run only if the output is missing.
2008-05-14 11:38:47 -04:00
Brad King
e9503a174e
ENH: Make add_custom_command interpret relative OUTPUT locations with respect to the build tre instead of the source tree. This can greatly simplify user code since generating a file will not need to reference CMAKE_CURRENT_BINARY_DIR. The new behavior is what users expect 99% of the time.
2008-01-30 11:22:10 -05:00
Ken Martin
0e69d38004
ENH: add return and break support to cmake, also change basic command invocation signature to be able to return extra informaiton via the cmExecutionStatus class
2008-01-23 10:28:26 -05:00
Ken Martin
8d32d229a3
ENH: make commands lower case by default
2007-10-10 11:47:43 -04:00
Brad King
d7a5d4c191
ENH: Added IMPLICIT_DEPENDS option to ADD_CUSTOM_COMMAND. It currently works only for Makefile generators. It allows a custom command to have implicit dependencies in the form of C or CXX sources.
2007-09-17 10:50:46 -04:00
Bill Hoffman
0044ce71bc
STYLE: add more docs
2007-07-17 13:43:37 -04:00
Brad King
c288da754a
BUG: Target names in the COMMAND part of a custom command should not create a file-level dependency that forces the command to rerun when the executable target rebuilds, but the target-level dependency should still be created. Target names in a DEPENDS should do both a target-level and file-level dependency. Updated the BuildDepends test to check that this works.
2007-05-23 13:27:00 -04:00
Brad King
168591e72d
BUG: COMMENT was missing from docs.
2006-10-04 18:09:43 -04:00
Brad King
2dfa2ba888
ENH: Added APPEND option to ADD_CUSTOM_COMMAND to allow extra dependencies to be connected later. This is useful to create one rule and then have a macro add things to it later. This addresses bug#2151.
2006-10-04 15:24:26 -04:00
Brad King
e4ec89d036
ENH: Added SYMBOLIC source file property to mark custom command outputs that are never actually created on disk. This is used by the Watcom WMake generator to generate the .SYMBOLIC mark on the files in the make system.
2006-10-02 10:20:53 -04:00
Brad King
d01b6f1281
ENH: Added VERBATIM option to ADD_CUSTOM_COMMAND and ADD_CUSTOM_TARGET commands. This option enables full escaping of custom command arguments on all platforms. See bug#3786.
2006-09-28 11:30:49 -04:00
Brad King
4c2c2cfd68
BUG: Clarified documentation about custom command outputs and custom target dependencies.
2006-06-15 10:51:41 -04:00
Brad King
d5719f22c1
ENH: Added support for multiple outputs generated by a single custom command. For Visual Studio generators the native tool provides support. For Xcode and Makefile generators a simple trick is used. The first output is considered primary and has the build rule attached. Other outputs simply depend on the first output with no build rule. During cmake_check_build_system CMake detects when a secondary output is missing and removes the primary output to make sure all outputs are regenerated. This approach always builds the custom command at the right time and only once even during parallel builds.
2006-04-11 11:06:19 -04:00
Bill Hoffman
347c5f4b46
ENH: add working directory support
2006-02-08 10:58:36 -05:00
Brad King
b8a77b2965
BUG: Fixed formatting of generated documentation.
2005-02-22 12:10:43 -05:00
Brad King
39af9ee1e4
ENH: Updated implementation of custom commands. Multiple command lines are now supported effectively allowing entire scripts to be written. Also removed extra variable expansions and cleaned up passing of commands through to the generators. The command and individual arguments are now kept separate all the way until the generator writes them out. This cleans up alot of escaping issues.
2005-02-22 10:32:44 -05:00
Ken Martin
84a1d5e553
update docs
2004-04-22 13:37:04 -04:00
Ken Martin
072db6ad70
removed redundent includes
2003-08-10 18:30:54 -04:00
Brad King
ac0911e08b
ENH: Tweaked whitespace in documentation of command.
2003-08-06 15:18:58 -04:00
Bill Hoffman
3154a6649a
command should nto be inherited
2003-06-04 11:46:18 -04:00
Ken Martin
3a4d2e248e
better docs
2003-06-03 10:48:44 -04:00
Ken Martin
9c0aa78c0d
better docs
2003-06-03 10:47:31 -04:00
Ken Martin
ba68f771b3
yikes added new custom command support
2003-06-03 10:30:23 -04:00
Brad King
ba56262ae2
Fix to documentation formatting: removed extra newline.
2003-02-18 20:40:56 -05:00
Brad King
a02574158d
ENH: Cleaned up documentation and formatted it for use by cmDocumentation.
2003-02-14 18:47:16 -05:00
Bill Hoffman
455b262cfe
ENH: clean up docs some
2002-12-30 07:47:03 -05:00
Andy Cedilnik
3893ee72d2
Add comment support, so that you can see in build process what the custom command does
2002-12-10 16:47:37 -05:00
Brad King
1f6a3c67b1
ENH: Added reference to Copyright.txt. Removed old reference to ITK copyright. Changed program name to CMake instead of Insight in source file header. Also removed tabs.
2002-10-23 18:03:27 -04:00
Sebastien Barre
9b8926925b
ENH: use target as source if source is empty
2002-04-11 10:05:47 -04:00
Will Schroeder
a6a43d5320
ENH:Updated copyright
2002-01-21 15:30:43 -05:00
Andy Cedilnik
58ee855503
Fix add custom command so that it actually executes the code
2002-01-03 16:02:43 -05:00
Sebastien Barre
bdf0241d2e
SOURCE, COMMAND, TARGET are required now
2001-11-09 10:37:22 -05:00
Sebastien Barre
6b5e54744c
Reimplement code. Since a custom command is very flexible and might be extended in the future, make all arguments prefixed with arg type, make ordering irrelevant and potentially all args optional.
2001-11-09 10:33:22 -05:00
Andy Cedilnik
39766efaaa
Added accessor for add custom command
2001-11-07 16:47:38 -05:00