New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update scons, add Travis, qmake build and tests, fix #2 #6
Conversation
|
I've also added a Build badge in README.md. The GitHub user with the name |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your contributions!
Your PR currently has a lot of commits, some of them fixing things of previous commits, would it be ok for you to rebase them into a small sets of commits (e.g. one that fixes scons, one that adds Travis, one that adds Qt build, etc.)?
scripts/update
Outdated
| # | ||
|
|
||
| cd glob2 | ||
| hg pull |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why hg, as we transitioned to git?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are right, It's an old update script ...
I suggest to even delete the script: I used it to sync my repo (https://github.com/richelbilderbeek/globulation2) to use a newer version of this repo. As the code I submitted is part of the repo it works on, this script is obsolete.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, can you do the deletion, so that I do not delete the wrong thing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done 馃憤
scripts/install_deps
Outdated
| @@ -0,0 +1,10 @@ | |||
| #!/bin/bash | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we somehow name this script in relation with the type of system it installs deps on, such as install_deb_deps?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with the reasoning. Go ahead and rename, you're the boss here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you want, I'll rename 馃憤
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you rename it please
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done 馃憤
|
I am curious, what is the rationale for the qmake-based build parallel to the scons one? |
To show that a scons and qmake build are equally fine. |
I would be open to do so, but I have no experience with rebasing (I feel it's not worth it). Due to this, I'd worry I'd mess up things. If you'd insist, I can just redo all the steps by hand (of course, I prefer to leave things as they are). If so, let me know, and I'll do 馃憤 Thanks for your review! |
|
I can do the rebase if you want. Note that it is actually not that spooky, there are a lot of introductions online. That's great if you maintain the travis and the pro files. |
| @@ -29,6 +29,10 @@ | |||
| #include <cppunit/ui/text/TestRunner.h> | |||
| #include <cppunit/XmlOutputter.h> | |||
|
|
|||
| //Globulation2 has one global | |||
| #include "GlobalContainer.h" | |||
| GlobalContainer *globalContainer = new GlobalContainer; | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need to create the GlobalContainer here? To see whether it fails? A comment would be helpful!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It resolves an unresolved external error.
I felt a comment like // make it link a bit unhelpful. The comment I did write was a left-over from // Globulation2 has one global :-( (I prefer my locals), which I think is unhelpful as well. Go ahead and remove it 馃憤
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(of course, I'd be happy to remove it myself)
Just to re-iterate: I'll happily do so 馃憤 |
|
@randomvoids for me this PR looks ok, if it is ok for you I can rebase to cleanup its messy history and merge. |
Is there a reason why we need both though? I would prefer to not have to maintain 2 build systems if we can avoid it. Is qmake better than scons or ? |
|
@randomvoids:
AFAICS, I can imagine the writer of the There are some options that may be considered (and I volunteer to implement each any decision):
&TLDR; both are equally fine, I am just more comfortable with qmake |
|
A "problem" with qmake is that it adds a dependency on Qt, which feels a bit wrong just to use its build system. If it is in addition to scons, why not, if it is the main one, I would be careful before changing. As I said on the ml, I am worried about remorking the build system without a need as that is bikeshedding and there are more important issues to tackle to let the project progress. Changing the build system would also imply redoing documentation, which currently exists in several languages, so getting to where we are now is a lot of work, for no clear added benefits. I am not against having another build system on the side (maybe in a branch?) if it helps people, or switching if there is a good rationale for, but otherwise, I am not fully convinced to switch. Also, switching the build system pushes work on distro packagers which might reduce Glob2's visibility for a while if we switch. |
Cool! You may overlook some benefits though:
Again: I agree to keep |
|
@stephanemagnenat: how is the rebase going? |
|
I split this PR into two, the SCons fix is in master, the rest in that branch. While doing it, I encountered several questions:
I would like to address these questions before merging the rest of the PR, because otherwise we import hard-to-maintain stuff that would confuse people entering the project, as they confuse me. |
This is a temporary duplication: I supplied a stand-alone
Here, there is no duplication: |
|
@stephanemagnenat: what is the status of this PR? |
1 similar comment
|
@stephanemagnenat: what is the status of this PR? |
|
I think it is up to the maintainer (which is not me) to take the decision on whether to accept an additional build system. I did apply the part fixing Scons in 51ebae2. |
|
I'll take my loss then, submitting a Pull Request usually is a more fun experience. |
Hi Globulation 2 maintainers,
As per this Issue I submit this Pull Request.
Changes:
makeVariableandVariableinstead of the deprecatedmakeOptionsandOptionssrc/globulation2.prosrc/globulation2_test.prothat runs the cpptests in the test folder. Although these tests seem rather trivial, my new addition may upon up the path to write more tests in the futureI volunteer to maintain the
.travis.ymland.pro(and.pri) files.Enjoy 馃憤