10

Is there a way I can set CMake to generate a VS2010 Project file that has Pre Build or Post Build event in them?

Thanks.

Darshan R
  • 125
  • 2
  • 6

1 Answers1

18

From the CMake documentation:

add_custom_command(TARGET target
                 PRE_BUILD | PRE_LINK | POST_BUILD`
                 COMMAND command1 [ARGS] [args1...]
                 [COMMAND command2 [ARGS] [args2...] ...]
                 [WORKING_DIRECTORY dir]
                 [COMMENT comment] [VERBATIM])

This defines a new command that will be associated with building the specified 
target. When the command will happen is determined by which of the following 
is specified:

PRE_BUILD - run before all other dependencies
PRE_LINK - run after other dependencies
POST_BUILD - run after the target has been built

Note that the PRE_BUILD option is only supported on Visual Studio 7 or later.
For all other generators PRE_BUILD will be treated as PRE_LINK.

For example, if your target is named MyProject and you want to run the command SomeCommand with argument -1 -2 after the building, add the following line after your add_executable or add_library call, because the target has to be defined:

add_custom_command(TARGET MyProject
                   POST_BUILD
                   COMMAND SomeCommand ARGS "-1 -2"
                   COMMENT "Running SomeCommand")

See the docs for add_custom_command for more details on how to use it.

starball
  • 20,030
  • 7
  • 43
  • 238
fmorency
  • 764
  • 5
  • 11