2013/11/11 christ...@surlykke.dk <christ...@surlykke.dk>
> Den 11/11/2013 10.57 skrev "PCMan" <pcman...@gmail.com>:
>
> On Mon, Nov 11, 2013 at 5:35 PM, Petr Vanek <p...@yarpen.cz> wrote:
>>
>>> hi all,
>>>
>>> can you share your workflow with lxqt repositories, please? I tried to
>>> use that "all-in-one" repo with issues.
>>>
>>> "git pull" behaves strange there. I found that I pull some older code
>>> than current one magically.
>>>
>>> Yes, that's the limitation of git. It follows specific commits rather
>> than the latest HEAD.
>> Git 1.7 improved this a little, but it still tracks commits only.
>>
>>> how do you compile all to the latest version? In old razor all was
>>
>> handled automatically because there was only one repo -> all was up to
>>> date after one 'git pull'. Now, the build-all.sh script is really
>>> inefficient as it runs configure all time and it does not report errors
>>> (it just skips them).
>>
>>
>> Currently I'm doing this in the lxde-qt all-in-one repo.
>> git submodule update --init
>> git submodule foreach git checkout master
>> git submodule foreach git pull --rebase
>> Then you'll make all of them up to date. This looks a little bit stupid,
>> though.
>> I'm not a git master, either. So this might not be the best way.
>> At least this is easier in git 1.7+ since git add a new command to do all
>> these for you.
>>
>>>
>>>
>> Or is it better to fetch all repos and build it independently?
>>>
>> Yes, this should be better.
>> The script build_all.sh is a dirty hack I'm using to compile them all
>> from scratch since I tested on many different machines (most are virtual
>> ones), it's boring to do all of them again and again.
>> According to some cmake gurus, we can create a top CMakeLists.txt in
>> lxde-qt repo, and let it build all of the submodules, but I did not really
>> know how to do it correctly. Earlier our friend from KDE suggested that we
>> can try to use the kde buildsystem, but I don't have the time to try it
>> yet. I focus on fixing the components to get a usable desktop now.
>>
>
> I'll have a look at a common CMakeLists.txt if nobody else is working on
> it. I'm no cmake guru, but it should be possible to make something that can
> build all modules and hopefully only run autogen.sh and configure when
> necessary.
>
> br. Chr.
>
>
So I've done the first bit of work on this. I've cleaned up the existing
CMakeLists.txt a bit. What I've done is:
a) Change CMakeLists.txt files to not use CMAKE_SOURCE_DIR and
CMAKE_BINARY_DIR. The problem with these two variables is that they hold
the path to the topmost CMakeLists.txt in your build hierachy.
b) Make sure that the names of custom targets are unique. We had a couple
of different CMakeLists.txt files doing:
add_custom_target(update_translations ...) which leads collisions when they
are called from a common master CMakeLists.txt
There is now a (very simple) CMakeLists.txt in the master project, and that
will build all the cmake projects.
Next I will look at calling the automake projects from the master
CMakeLists.txt, which, according to my initial googling should be possible.
(Hopefully, longterm, we can move the automake stuff to cmake, but I'm not
qualified to do so :-( )
I hope I haven't broken too much.
About the new git submodule stuff: This is not easy for someone like me who
is somewhat git-illiterate... A couple of issues:
When I do 'git submodule update --remote' as PCMan suggested, I get a lot
of 'detached heads'. It seams that a fetch is done in each submodule, but
no update or merge? Is there a way to do the equivalent of a git pull in
each submodule?
When I commit something in a submodule, say liblxqt, git status in the main
module yields something like: 'liblxqt: modified (new commits)', and it
seems I have to do a commit in the master module as well. Is that correct?
Is there a way to do it in one command?
I kinda long for the old razor days when we had one monolithic git module
:-)
br. Chr.
>>
>>> any advice would be appreciated (I'm not git master;))
>>>
>>> thanks,
>>> p.
>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> November Webinars for C, C++, Fortran Developers
>>> Accelerate application performance with scalable programming models.
>>> Explore
>>> techniques for threading, error checking, porting, and tuning. Get the
>>> most
>>> from the latest Intel processors and coprocessors. See abstracts and
>>> register
>>>
>>> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
>>> _______________________________________________
>>> Lxde-list mailing list
>>> Lxde-list@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/lxde-list
>>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> November Webinars for C, C++, Fortran Developers
>> Accelerate application performance with scalable programming models.
>> Explore
>> techniques for threading, error checking, porting, and tuning. Get the
>> most
>> from the latest Intel processors and coprocessors. See abstracts and
>> register
>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
>> _______________________________________________
>> Lxde-list mailing list
>> Lxde-list@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/lxde-list
>>
>>
------------------------------------------------------------------------------
DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk
_______________________________________________
Lxde-list mailing list
Lxde-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxde-list