highperformancecoder / classdesc

Reflection for C++
http://classdesc.sourceforge.net
MIT License
1 stars 2 forks source link

Meson src #4

Closed SolarAquarion closed 6 years ago

SolarAquarion commented 6 years ago

This change is Reviewable

SolarAquarion commented 6 years ago

just keep this open

highperformancecoder commented 6 years ago

You forgot to base this of my meson branch.

SolarAquarion commented 6 years ago

I'm trying to figure it out

On Nov 26, 2017 7:13 PM, "Russell Standish" notifications@github.com wrote:

You forgot to base this of my meson branch.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/highperformancecoder/classdesc/pull/4#issuecomment-347050691, or mute the thread https://github.com/notifications/unsubscribe-auth/AFD6iKfrSpV_D4N7K9hQcQNq8ezcsEOMks5s6f6agaJpZM4Qq-7U .

highperformancecoder commented 6 years ago

On Mon, Nov 27, 2017 at 01:16:41AM +0000, SolarAquarion wrote:

I'm trying to figure it out

Aren't we all. Git moves in mysterious ways :).

I believe github has an option for the author of a pull request to change the base branch after it is created, but I haven't seen it with my own eyes.

Anyway, for now, I'm just leaving the PR open, and merging it manually into my own meson branch. --


Dr Russell Standish Phone 0425 253119 (mobile) Principal, High Performance Coders Visiting Senior Research Fellow hpcoder@hpcoders.com.au Economics, Kingston University http://www.hpcoders.com.au

SolarAquarion commented 6 years ago

@highperformancecoder http://mesonbuild.com/Custom-build-targets.html that's the solution to the "-w -MM -MG"

SolarAquarion commented 6 years ago

@highperformancecoder how should i handle the test folder?

SolarAquarion commented 6 years ago

@highperformancecoder you just need to build unit tests that use meson and ninja

That sounds like a lot of work, for dubious benefit. Surely, all we need to do is run a script (runtests.sh).

SolarAquarion commented 6 years ago

meson is only python3, not python2

I meant, what is the advantage of using pip/pip3 over apt-get?

On Nov 28, 2017 4:15 PM, "Russell Standish" notifications@github.com wrote:

@highperformancecoder commented on this pull request.

What's the advantage of using pip or pip3?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/highperformancecoder/classdesc/pull/4#pullrequestreview-79658830, or mute the thread https://github.com/notifications/unsubscribe-auth/AFD6iD13CaXQKOGEKl4AtHhoSILt6jhDks5s7HfrgaJpZM4Qq-7U .

SolarAquarion commented 6 years ago

They do, I was playing with the Travis things and I was getting confused, because Travis isn't so clear what is permitted or not permitted

On Nov 28, 2017 4:19 PM, "Russell Standish" notifications@github.com wrote:

@highperformancecoder commented on this pull request.

In .travis.yml https://github.com/highperformancecoder/classdesc/pull/4#discussion_r153626133 :

@@ -24,6 +24,7 @@ before_install:

  • ./configure.py --bootstrap
  • sudo install ninja /usr/bin script:
    • meson -C build
    • mkdir build

I thought meson automatically created the build directory for you

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/highperformancecoder/classdesc/pull/4#pullrequestreview-79659887, or mute the thread https://github.com/notifications/unsubscribe-auth/AFD6iP1mB8ZKifoWRNtsRdsPc7ZSEKd-ks5s7HjPgaJpZM4Qq-7U .

SolarAquarion commented 6 years ago

skbuild was something that I was seeing when I did pip3 for ninja, but seemingly you need to download the binary or compile it yourself

On Nov 28, 2017 4:17 PM, "Russell Standish" notifications@github.com wrote:

@highperformancecoder commented on this pull request.

In .travis.yml https://github.com/highperformancecoder/classdesc/pull/4#discussion_r153625681 :

@@ -19,6 +19,7 @@ before_install:

  • sudo apt-get install -y libxml2-utils
  • sudo apt-get install -y python3
  • sudo apt-get install -y python3-pip
    • sudo pip3 install skbuild

skbuild?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/highperformancecoder/classdesc/pull/4#pullrequestreview-79659334, or mute the thread https://github.com/notifications/unsubscribe-auth/AFD6iE0aLOlvk11ldeXKrkOGtLW1y8Hyks5s7HhdgaJpZM4Qq-7U .

SolarAquarion commented 6 years ago

Yes, but docker allows for less build annoyances

On Nov 28, 2017 4:21 PM, "Russell Standish" notifications@github.com wrote:

@highperformancecoder commented on this pull request.

In .travis.yml https://github.com/highperformancecoder/classdesc/pull/4#discussion_r153626731 :

sudo: true -services: docker

The problem with docker IIRC is that you need sudo access to the image in order to install prerequisites.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/highperformancecoder/classdesc/pull/4#pullrequestreview-79660613, or mute the thread https://github.com/notifications/unsubscribe-auth/AFD6iE3I1skl_PMEAJuO5bUKENQm82Evks5s7HljgaJpZM4Qq-7U .

SolarAquarion commented 6 years ago

@highperformancecoder i can't get the std to 98

SolarAquarion commented 6 years ago

@highperformancecoder g++ doesn't support cpp_std=C++98

highperformancecoder commented 6 years ago

odd its not avail, but no doubt one could create a new meson standard def to handle that case.

On 29/11/2017 1:46 PM, "SolarAquarion" notifications@github.com wrote:

@highperformancecoder https://github.com/highperformancecoder i can't get the std to 98

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/highperformancecoder/classdesc/pull/4#issuecomment-347735468, or mute the thread https://github.com/notifications/unsubscribe-auth/AC7u8Ub9Xr2PpFYNVkJ8Cnwmj7ole2y4ks5s7MVcgaJpZM4Qq-7U .

SolarAquarion commented 6 years ago

Yes, definitively weird. I suppose a patch is required

SolarAquarion commented 6 years ago

@highperformancecoder i created a patch for meson https://patch-diff.githubusercontent.com/raw/mesonbuild/meson/pull/2702.patch so i guess i could just do a patch of meson on travis for now, but still would it require a souce build or not

SolarAquarion commented 6 years ago

this should finally fix the issue of mine

SolarAquarion commented 6 years ago

I already did a patch

On Nov 29, 2017 3:31 PM, "Russell Standish" notifications@github.com wrote:

@highperformancecoder commented on this pull request.

In meson.build https://github.com/highperformancecoder/classdesc/pull/4#discussion_r153906833 :

@@ -4,8 +4,8 @@ project('classdesc', 'cpp', meson_version: '>=0.39.1', license: [ 'GPL3+', 'MIT' ], default_options: [

  • 'cpp_std=c++03',

I didn't realise there was a C++03 on the table - that would have done, as it is not significantly different from C++98. The main thing is that it compiles on pre-modern (ie prior to c++11) standard compilers.

Still odd that meson doesn't provide a c++98, as that is the first, and still best known standard.

Also, all that is required is a global compiler option -std=c++98. That shouldn't need patching meson.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/highperformancecoder/classdesc/pull/4#pullrequestreview-79987302, or mute the thread https://github.com/notifications/unsubscribe-auth/AFD6iPT6Bnoj-4Yi_Omsr7vLwFcd5uzXks5s7b80gaJpZM4Qq-7U .

SolarAquarion commented 6 years ago

@highperformancecoder done

highperformancecoder commented 6 years ago

Trying to get my head around what you've done. I'm guessing from the Dockerfile that you have created a Zesty Ubuntu image, and using that to run the meson build process, instead of the Travis-provided Trusty images. Is it a bog standard Zesty install, or did you bake some extra stuff into it?

Also looks like you found a way around the apt pkg whitelist problem. Good stuff.

Looking forward, I'd probably look to creating an OpenSUSE Tumbleweed image to run the CI in, as it clears up an annoying mismatch in OS behavior between Travis and my dev machine - but that's a future refinement.

Now we need to get the examples and test directories building under meson. The biggest thing is to figure out how to add a custom classdesc rule - the equivalent of the .cd.h rule in the Makefile.

SolarAquarion commented 6 years ago

Meson has a feature where you can do custom build targets http://mesonbuild.com/Custom-build-targets.html

On Nov 30, 2017 11:48 PM, "Russell Standish" notifications@github.com wrote:

Trying to get my head around what you've done. I'm guessing from the Dockerfile that you have created a Zesty Ubuntu image, and using that to run the meson build process, instead of the Travis-provided Trusty images. Is it a bog standard Zesty install, or did you bake some extra stuff into it?

Also looks like you found a way around the apt pkg whitelist problem. Good stuff.

Looking forward, I'd probably look to creating an OpenSUSE Tumbleweed image to run the CI in, as it clears up an annoying mismatch in OS behavior between Travis and my dev machine - but that's a future refinement.

Now we need to get the examples and test directories building under meson. The biggest thing is to figure out how to add a custom classdesc rule - the equivalent of the .cd.h rule in the Makefile.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/highperformancecoder/classdesc/pull/4#issuecomment-348400401, or mute the thread https://github.com/notifications/unsubscribe-auth/AFD6iMLAfwuNjOGIjGraMGG7JZOpvdBzks5s74UUgaJpZM4Qq-7U .

SolarAquarion commented 6 years ago

@highperformancecoder it's the"mesonci" Docker Image. I could probably do the same with the plain ubuntu zesty Docker image

SolarAquarion commented 6 years ago

https://hub.docker.com/_/opensuse/

Merge my meson-src branch into meson

On Dec 1, 2017 5:27 AM, "Solomon Choina" shlomochoina@gmail.com wrote:

Meson has a feature where you can do custom build targets http://mesonbuild.com/Custom-build-targets.html

On Nov 30, 2017 11:48 PM, "Russell Standish" notifications@github.com wrote:

Trying to get my head around what you've done. I'm guessing from the Dockerfile that you have created a Zesty Ubuntu image, and using that to run the meson build process, instead of the Travis-provided Trusty images. Is it a bog standard Zesty install, or did you bake some extra stuff into it?

Also looks like you found a way around the apt pkg whitelist problem. Good stuff.

Looking forward, I'd probably look to creating an OpenSUSE Tumbleweed image to run the CI in, as it clears up an annoying mismatch in OS behavior between Travis and my dev machine - but that's a future refinement.

Now we need to get the examples and test directories building under meson. The biggest thing is to figure out how to add a custom classdesc rule - the equivalent of the .cd.h rule in the Makefile.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/highperformancecoder/classdesc/pull/4#issuecomment-348400401, or mute the thread https://github.com/notifications/unsubscribe-auth/AFD6iMLAfwuNjOGIjGraMGG7JZOpvdBzks5s74UUgaJpZM4Qq-7U .