-
Notifications
You must be signed in to change notification settings - Fork 9
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’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add meson build file #28
Conversation
Also, we need to resolve this issue with the compiler and |
I think too is a compiler bug as I built with meson (and ldc2) the latest release with success. |
One final request, is there a way to ensure the meson build is tested during CI? Otherwise, you will be spending a lot of time fixing things when the meson build breaks ;) |
I will take a look, I agree with you is better with test. |
5210b3b
to
2c55ec0
Compare
So I updated CI in order to add meson build part of test. Only meson with ldc build actually. Moreover currently the code is not dip1000 compatible as once I enable the feature meson with ldc fail. |
3950754
to
2cae3c9
Compare
477f26a
to
b668f5f
Compare
I think too page deployment is broken from a long time as travis documentation tell to set the secret variable from the settings page of
To meet the travis documentation we have to
|
$url = "http://downloads.dlang.org/releases/2.x/$($latest)/dmd.$($latest).windows.7z"; | ||
#$latest = (Invoke-WebRequest "http://downloads.dlang.org/releases/LATEST").toString(); | ||
#$url = "http://downloads.dlang.org/releases/2.x/$($latest)/dmd.$($latest).windows.7z"; | ||
$url = "http://downloads.dlang.org/releases/2.x/2.088.1/dmd.2.088.1.windows.7z" |
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.
Not sure you want this...
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.
current io code can build up to dmdfe 2.088.1
Updating io
code should be done in another pull request
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.
Yeah, we can update this when the bugs are fixed in the latest compiler.
Looking at the meson build output, it doesn't look like it's running unittests. Is this expected? If it can run the unit tests, that would be ideal. |
link_args : common_ldflags, | ||
install: true, | ||
version: meson.project_version(), | ||
d_unittest: false |
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 we make a separate executable with unittests turned on?
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.
From the meson site, looks like we can do that with:
io_test_exe = executable('io_test', sources, d_unittest: true)
test('iotest', io_test_exe)
I think we would have to add a main function somewhere, and add that to the sources.
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 added the option run_test
$ meson build -Drun_test=true
$ ninja build test
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.
Awesome! Let's see how it goes, and I'll merge if things look good. Thanks for all the effort here! Always good to spread libraries into alternate build mechanisms.
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.
Thank you for your words of encouragement.
I think meson
is a good thing for D libraries as the build system can to be used for linux distro packaging. Moreover it can generate pkg-config
file and dub file. It can query dub repository and many others things :-)
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.
Good stuff!
I think the meson test is failing because it's running the test application in the build directory, not in the root directory. Is there a way to fix it? |
Thanks @schveiguy I will take a look |
OK, I don't know how long it will be for LDC/DMD to get these bugs fixed. If you want to change the meson with ldc to not required, that's probably good enough for now, we can squash-merge. |
@bioinfornatics I think we fixed the issue for LDC in #30. Can you add back in the ldc test with 1.18.0? I want to see if it works. |
2a7278d
to
c516be4
Compare
Good job that works 😉 |
Alright excellent! I think when ldc 1.19.0 comes out, we may have to revisit, but it's green right now. Thanks @kinke and @bioinfornatics. |
Dear,
In order to be able to build with meson. I added a
meson.build
file