[CMake] Ninja: It's ninja issue, or CMake problem?
Peter Kümmel
syntheticpp at gmx.net
Tue Sep 25 09:26:38 EDT 2012
On 25.09.2012 14:54, Loaden wrote:
> Bug reported in here: http://public.kitware.com/Bug/view.php?id=13559
Yes, looks like a bug. Good catch!
For "OBJECT_DEPENDS" only "order only" dependency is used.
>
> 2012/9/25 Loaden <loaden at gmail.com>
>
>> Sorry, It's wrong. Here is the correct function:
>> function(use_msvc_precompiled_header target sources)
>>
>> if(NOT ${target}_PCH_BINARY_FILE)
>>
>> message(FATAL_ERROR "[${target}] Precompiled binary does not exist")
>>
>> return()
>>
>> endif()
>>
>> get_target_property(targetSources ${target} SOURCES)
>>
>> list(FIND targetSources ${${${target}_PCH_SOURCE_VAR}} result)
>>
>> if(result EQUAL -1)
>>
>> message(FATAL_ERROR "[${target}] Please add '\${${${target}_PCH_SOURCE_VAR}}' or '${${${target}_PCH_SOURCE_VAR}}' to target")
>>
>> return()
>>
>> endif()
>>
>> set(pchBinaryFile ${${target}_PCH_BINARY_FILE})
>>
>> * foreach(src ${sources})*
>>
>> * set_source_files_properties(${src} PROPERTIES*
>>
>> * COMPILE_FLAGS "/Yu\"${pchBinaryFile}\" /FI\"${pchBinaryFile}\" /Fp\"${pchBinaryFile}\""*
>>
>> * OBJECT_DEPENDS ${pchBinaryFile}*
>>
>> * )*
>>
>> * endforeach()*
>>
>> endfunction()
>>
>>
>
>
More information about the CMake
mailing list