These are chat archives for inbilla/CMake

18th
May 2017
Packadal
@packadal
May 18 2017 13:18
@comicfans awesome !
for some reason I dd not get a notification email of the past mfew messages
so I rebased my own branch recently, time wasted :(
how about tests, do you know how it goes ?
Packadal
@packadal
May 18 2017 14:21
ok, I just ran the tests, and there are quite a few fails (49 to be precise)
I'm guessing there are a few easy fixes
but I have to say it looks good as it is currently building the large project I work on, and so far so good
which is quite something in itself
so rebasing this on current master, and fixing tests could finally get this integrated
@comicfans do you have time to work on this ?
I'll try to do some test fixing, but no promises, there are lots of changes at work right now, and I don't know if I'll have any time for this
Packadal
@packadal
May 18 2017 14:46
after a quick look, at least 3 fails have the same cause
the TutorialStep{5,6,7}
there is a custom_command to generate a header that gets generated in all the bff fgiles (Release, Debug, ...)
if these were done in the common bff file it would fix at least those 3 tests
doodlydroll
@doodlydroll
May 18 2017 14:50
Hi @packadal and @comicfans . I also did not get notificatins since Jan. I also stopped working on this. Can you guys share what is your status: how many tests failing and on what platform do you run? I can check a bit later if there is anything useful I have which is not pushed.
Packadal
@packadal
May 18 2017 14:51
I have a branch that is based on CMake master as of 3.8
but @comicfans has something based on 3.7 that is much better I think
even though it has more fails, I think it is a stronger base for future developments
maybe cherry-picking all of @comicfans on my branch would be easier than rebasing
doodlydroll
@doodlydroll
May 18 2017 14:53
@packadal , was it Windows you run this on?
Packadal
@packadal
May 18 2017 14:54
(sadly my work project does not compile on windows, it fails with the following error: 1> CMake Error: The source directory "G:/patch/build_fbuild/@C:/Users/chuet/AppData/Local/Temp/.fbuild.tmp/0x50650d93/core_1/args.rsp" does not exist.)
so I'm guessing there is an issue with absolute/relative path somewhere
doodlydroll
@doodlydroll
May 18 2017 14:54
This looks like 2 paths merged
Packadal
@packadal
May 18 2017 14:54
@doodlydroll yeah, I may switch to linux as I am now on CentOS7 and can easily run FBuild
doodlydroll
@doodlydroll
May 18 2017 14:55
what was the problem before?
I was using centos 7
Packadal
@packadal
May 18 2017 14:55
CentOS6 was not supported by FBuild, and was a bit of a pain to setup
anyways
I'll try to look at this tomorrow (hopefully)
comicfans
@comicfans
May 18 2017 17:01
I haven't do much work since last try on 3.7 development branch, but I'd like to share some progress on that, hopes it helped
comicfans
@comicfans
May 18 2017 17:12
first I've implemented config build in separate bff file ( root bff includes debug/release/other variant bff file) , I think this is better than all-in-one since 1. you can build debug/release only, 2. if cmake custom command didn't consider multi-config generator, it may create multi command rules (of different config) which generated same output , all-in-one bff file is treated as invalid in such situation, but in my work, this situation is detected and root bff only includes first config bff (with a warning generated) so everything still works
comicfans
@comicfans
May 18 2017 17:24
secondly fastbuild needs some improvement to work with CMake. I've created some PR as following fastbuild/fastbuild#198 , without this, fastbuild can't build targets with correct dependency order . another changes which I'm not sure is comicfans/fastbuild@db1a333 ,with this modify, you only need to run cmake once (first config), any changes to cmakelists src is detected by fastbuild, it re-run cmake to generate new bff, then use new bff to build (just like make/ninja workflow)
comicfans
@comicfans
May 18 2017 17:29
another gap is that fastbuild didn't preserve build result across different bff files fastbuild/fastbuild#108 (author said this is in progressing), that means even your cmakelists changed very a little, fastbuild need to rebuild the world. it makes cmake+fastbuild useless.
I've also created a test fastbuild branch which preserve build result across bff changes comicfans/fastbuild@94d5629 , it preserve most compile/link result , so with this fastbuild+cmake, you'll got much less build action when cmakelists changed
doodlydroll
@doodlydroll
May 18 2017 20:10
Hi @comicfans . I tried your cmake/upstream3 on centos 7 with gcc 6.2. I built cmake with fastbuild generator and run tests. I got 56 tests failing (88% pass). Would I get more passing using your changes of fbuild? I used fbuild-0.93alpha. Good work ;)
BTW, running the tests with makefile generator I get 11 failed, mostly tests like RunCMake.CPack_TGZ
comicfans
@comicfans
May 18 2017 23:01
some issue pending
comicfans
@comicfans
May 18 2017 23:07
hi @doodlydroll ,I focus on building real project instead, testcase pass rate seems just as you tried if I remember correctly