On 30.11.2015 22:13, Rom Walton wrote:
> Howdy Folks,
>
> Our source tree directory structure is looking a little unwieldy and requires 
> somebody to hunt around for project files if they are not already familiar 
> with the BOINC system.
>
> How does everyone feel about moving the various IDE project files, platform 
> build scripts, and CI build scripts to a 'builds' directory?
>
> For instance:
>
> *         ./win_build would be moved to ./builds/vs2010
>
> *         ./mac_build would be moved to ./builds/xc60
>
> *         ./build and ./mac3rdParty would be moved too ./builds/travis-ci.
>
> *         ./xcompile would be moved to ./builds/xcompile.
>
> How does everyone feel about moving the installer project files to packages?
>
> For instance:
>
> *         ./win_build/installerv2 would be moved to ./packages/is2011
>
> *         ./mac_installer would be moved to ./packages/xc60
>
> Thoughts?
I would like to second this motion and present my thoughts as an
enhancement to what Rom suggested.

My thinking was to put the different build products into different
directories and then sort by platform. The philosophy is: put the
scripts where they do their work. This would look like this:

* /3rdparty/mac, 3rdparty/linux, 3rdparty/win contain the downloaded
source files of external libraries, the scripts to download/link would
be moved to /3rdparty
* /build/mac/, build/linux, build/win contain the intermediate products
of the build process (external libs and BOINC)
* /dist/mac, dist/linux, dist/win contain the end products (binaries to
be installed) of the build process
* /packages/mac, /packages/linux, /packages/win would contain the
executables/packages that get shipped to the volunteers (or alpha
testers if it is a debug build)

This would be very beneficial for a future test process to also check
dependencies and install targets. E.g.: Are we really using the
installed library/header files? Are we exporting/installing the correct
API/Lib header files so apps can use them without access to the whole
API/Lib directory?

Summing all up:
./win_build would move to ./build/win/vs2010 and ./build/win/vs2013
./mac_build/ would move to ./3rdparty/mac and build/mac respectively
./mac3rdParty would move to ./3rdparty/mac
./3rdparty/win would get a script to checkout the repository with the
dependencies (or find them somewhere outside the BOINC repo)
./build would move to ./3rdparty/linux
./xcompile would move to ./build/linux
./win_build/installerv2 would move to ./dist/win/is2011
./mac_installer would move to ./dist/mac/installer

I already discussed some of the mac related changes privately with
Charlie because I want to build the Mac targets on Travis too. For this
I want all the downloaded 3rd party dependencies in one directory to put
them in the Travis Cache together and to have a consistent naming
scheme. Travis uses the same Cache for Mac and Linux.

Regards
Christian
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to