[CMake] Problems with parallel builds

David Cole david.cole at kitware.com
Thu Nov 18 09:43:05 EST 2010


Try:
ADD_CUSTOM_TARGET(MyHeaders ALL DEPENDS MyFile.hh)

Without the "ALL" your target is not included in the set of targets
built by a "make" or a "make all" -- without your target included in
"make" there is nothing for the subsequent targets to depend on.
Perhaps we should add a warning to add_dependencies if expressing a
dependency on something not in "all" by default....


On Thu, Nov 18, 2010 at 9:33 AM, Denis Scherbakov
<denis_scherbakov at yahoo.com> wrote:
> Hi, David,
>
> I did as you suggested:
>
> ADD_CUSTOM_COMMAND(OUTPUT MyFile.hh ...)
> ADD_CUTSOM_TARGET(MyHeaders DEPENDS MyFile.hh)
>
> ADD_LIBRARY(MYLIB ${MYLIB_SRCS})
> ADD_DEPENDENCIES(MYLIB  MyHeaders)
>
> ADD_LIBRARY(MYLIBpic ${MYLIB_SRCS})
> ADD_DEPENDENCIES(MYLIBpic  MyHeaders)
>
> Didn't work. Target "MyHeaders" is build two times when I do "gmake -j2"
> I see two "Generating MyFile.hh" lines and MyFile.hh has duplicate lines.
>
> Denis
>
>> David Cole wrote:
>>
>> The easiest way to make this work is to have a separate
>> custom target
>> that depends on the output of the custom command, and then
>> to have the
>> two libraries depend on that custom target with
>> add_dependencies...
>>
>
>
>
>


More information about the CMake mailing list