[CMake] Problems with parallel builds
Eric Noulard
eric.noulard at gmail.com
Thu Nov 18 14:14:13 EST 2010
2010/11/18 David Cole <david.cole at kitware.com>:
> On Thu, Nov 18, 2010 at 1:08 PM, Denis Scherbakov
> <denis_scherbakov at yahoo.com> wrote:
>> Here is a sample CMakeLists.txt to illustrate that two custom targets cannot depend on each other:
>>
>> PROJECT(BUG C)
>>
>> CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
>>
>> ADD_CUSTOM_COMMAND(
>> OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/fileOne"
>> COMMAND "${CMAKE_COMMAND}"
>> ARGS "-E"
>> "touch"
>> "${CMAKE_CURRENT_BINARY_DIR}/fileOne")
>>
>> ADD_CUSTOM_TARGET(targetFileOne DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/fileOne")
>>
>> ADD_CUSTOM_COMMAND(
>> OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/fileOne-s"
>> COMMAND "${CMAKE_COMMAND}"
>> ARGS "-E"
>> "touch"
>> "${CMAKE_CURRENT_BINARY_DIR}/fileOne-s")
>>
>> ADD_CUSTOM_TARGET(targetFileOneS ALL DEPENDS targetFileOne "${CMAKE_CURRENT_BINARY_DIR}/fileOne-s")
[...]
> Instead of:
>> ADD_CUSTOM_TARGET(targetFileOneS ALL DEPENDS targetFileOne "${CMAKE_CURRENT_BINARY_DIR}/fileOne-s")
>
> Try:
> ADD_CUSTOM_TARGET(targetFileOneS ALL DEPENDS
> "${CMAKE_CURRENT_BINARY_DIR}/fileOne-s")
> ADD_DEPENDENCIES(targetFileOneS targetFileOne)
This solution works for me on Linux + CMake 2.8.1 and up.
--
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org
More information about the CMake
mailing list