Fix enhance travis ci setup#282
Merged
SlySven merged 2 commits intoMudlet:developmentfrom Nov 17, 2015
Merged
Conversation
Split the Linux build into two separate process using the qmake and cmake project files. Whilst the previous code for the qmake file worked with the MacOs platform it was not possible to build Mudlet with the cmake project files. This commit tweaks various things so that it now does. For Macintosh computers there is not an easy way to obtain the lua zip module as a pre-compiled package so we have to include the source code ourselves. In checking this I found that we did not have all the text that I think we needed to satisfy the terms of the Licence (which is NOT GPL, though stated to be compatible with it). Added the CMake project and some related files to the qmake project file so that they can be found and edited whilst working in QtCreator from that file. Also put quotation marks around build designator in Top Level CMake project file so that its structure matches the one in the other branch. Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
In TRoomDB::__removeRoom(int id) there was an ambiguous logic construct which needed some parenthesis to clarify the intent. In TRoomDB::setAreaName(int areaID, QString name) an erronous printf format specifier was included in a debug warning message. Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
This was referenced Nov 16, 2015
|
MaoOs! The glorious OS of the Chinese Communist Party! +1 |
Member
Author
|
@vadimnehta you having an identity crisis again? 😉 |
Member
|
Just forgetting to use the right account |
Member
Author
|
At least we are not target-ting MooOs - that would be a right cow of a job... |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This revises the Travis C.I. setup to:
Build all combinations of:
Doing this has found a couple of small bugs in TRoomDB which the second commit fixes.
In testing we can have 5 (five) sub-builds active at a time and currently it takes around 11 minutes to do a full build.
The Linux build is using the older "non-container" build as it uses sudo to tweak somethings that the new "container" based one does not allow. I did try to migrate to the new (faster, more resources 2 cores per VM & 4GB vs. 1.5 cores & 3GB) but I found it impossible to setup the package selection we want.
I have made both this and the release_30 version much more similar - I have ported this one's use of boost 1.55 libraries to the release_30 one which had a confusing mix of 1.46 & 1.48 even after upgrading {it seems the default Ubuntu "Precise Pangolin" (12.04 LTS) distribution that is used has some oddities in that regard}.
Importantly the CMake project files now have a chance of working on both Linux and MacOs - which is nice because they were written from a mainly Windows perspective as far as I can tell. This was causing issues with the lua-zip module which is not readily available in a compiled for the MaoOs platform - so we
#included it as originallyluazip.cinto TLuaInterpreter.cpp for just that platform, but which meant we also have to track down and include thezzipliblibrary as well. Also problematic was the zip library as we had it down as a '"..."' type include rather than a '<...>' and included it's own internal zipconf.h header ourselves - which is NOT necessarily stored in the obvious place {INCLUDE directory) but rather a subdirectory of the LIBRARY directory. Since it uses pkg-config though the recommended process is to use that - which CMake has support for - so that is what I have done on the "APPLE" platform only.FWIW The Travis system uses only Qt 5.0.2 for the Linux platform - which in it's way is a good check for ensuring maximum compatibility with all Qt5 versions - the MacOs platform currently seems to be using at least 5.5 at the time of writing. For some obscure reason though, the combination of Clang and CMake on the Linux builds objects to something in the Qt headers for that version and consistently errors out. Fortunately I now understand enough of how to configure Travis so that we can "allow_failure" for just that combination. I could have prevented that combo from running but until it becomes more clearer why, I thought it was best to leave it in place.
This and it's companion #283 should be OK to go in without messing with any other PR as far as I can tell.