[cmake-developers] -GNinja on Windows

Claus Klein claus.klein at arcormail.de
Sat Jun 9 04:02:08 EDT 2012


Hi Peter,

I agree, we need your/our changes at  upstream!

I will switch to our github:

https://github.com/syntheticpp/ninja


On little more about ninja bootstrap:
Original bootstrap.py generated target rule:
ninja -t clean
does a really distclean. The re2c generted files are removed too!

To be save, I added a rule to build/update them if needed:

#####################################
set (RE2C_FOUND FALSE)
find_program (RE2C_EXECUTABLE "re2c")
if (RE2C_EXECUTABLE)
     set (RE2C_FOUND TRUE)
     set (RE2C_FLAGS -b -i --no-generation-date)

     # build src/depfile_parser.cc: re2c src/depfile_parser.in.cc
     # build src/lexer.cc: re2c src/lexer.in.cc
     foreach(_in depfile_parser.in.cc lexer.in.cc)
         string(REGEX REPLACE ".in.cc" ".cc" _out "${_in}")
         message(STATUS "Generate re2c src/${_in} -o src/${_out}")

          # CMake atrocity: if none of these OUTPUT files is used in a  
target in
          # the current CMakeLists.txt file, the ADD_CUSTOM_COMMAND is  
plainly
          # ignored and left out of the make files.
         add_custom_command(OUTPUT ${srcdir}/${_out}
             COMMAND ${RE2C_EXECUTABLE} ${${RE2C_FLAGS}} -o ${srcdir}/$ 
{_out} ${srcdir}/${_in}
             DEPENDS ${srcdir}/${_in}
         )
     endforeach()
endif (RE2C_EXECUTABLE)
########################################

claus-kleins-macbook-pro:build clausklein$ ninja -d explain
ninja: no work to do.
claus-kleins-macbook-pro:build clausklein$ touch ../src/lexer.in.cc
claus-kleins-macbook-pro:build clausklein$ ninja -d explain
ninja explain: restat of output ../src/lexer.cc older than inputs
ninja explain: ../src/lexer.cc is dirty
ninja explain: ../src/lexer.cc is dirty
ninja explain: CMakeFiles/ninja_lib.dir/src/lexer.cc.o is dirty
ninja explain: libninja_lib.a is dirty
ninja explain: ninja is dirty
ninja explain: libninja_lib.a is dirty
[4/4] Linking CXX executable ninja
claus-kleins-macbook-pro:build clausklein$

//Regards
Claus



On 08.06.2012, at 23:13, Peter Kümmel wrote:

>> Will it merged later?
>> Can you please apply my time-stamp patch?
>
> More interesting would be to bring it upstream.
>
>>
>> P.S.
>> I tried to compile it with your CMakeLists.txt file, but it needs  
>> love on linux (UNIX) build hosts.
>
> Oh, yes, thanks. The last day I'm only on windows.
>
>>
>> //Regards
>> Claus
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20120609/abfe8ae0/attachment.html>


More information about the cmake-developers mailing list