[CMake] functions & custom commands- what's the trick?

Aaron Turner synfinatic at gmail.com
Sat Feb 21 00:54:38 EST 2009


On Fri, Feb 20, 2009 at 9:25 AM, Mathieu Malaterre
<mathieu.malaterre at gmail.com> wrote:
> On Fri, Feb 20, 2009 at 6:14 PM, Mike Arthur <mike at mikearthur.co.uk> wrote:
>> On Friday 20 February 2009 08:22:59 Aaron Turner wrote:
>>> I seem to be missing something painfully obvious, but I'm not sure what.
>> You don't enter it into add_custom_command, that's for shell commands., just
>> enter "clean_standard_files()" into your CMakeLists.
>>
>> You can't run CMake functions at "Make" time though, only "CMake" time (which
>> will only be called to first generate or if the CMake files have changed).
>
> Just to avoid any confusion... you can but you have to use the script
> mode: cmake -P

Thanks Mathieu!  That's a very useful trick.

Also, I'd like to suggest someone modify the online docs for
execute_process() to mention that:

set(args "-i foo -b bar")
execute_process(COMMAND cmd ${args})

is NOT valid.  You need to do:

set(args "-i foo -b bar")
separate_arguments(args)
execute_process(COMMAND cmd ${args})

I only figured that out after much pain & suffering.

-- 
Aaron Turner
http://synfin.net/
http://tcpreplay.synfin.net/ - Pcap editing and replay tools for Unix & Windows
Those who would give up essential Liberty, to purchase a little
temporary Safety,
deserve neither Liberty nor Safety.
    -- Benjamin Franklin


More information about the CMake mailing list