-
Notifications
You must be signed in to change notification settings - Fork 484
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
Revamp CMake support #1118
base: master
Are you sure you want to change the base?
Revamp CMake support #1118
Conversation
Do you think we should wait for this before making SOCI 4.1.0 release or can we leave this change until a later 4.1.x? |
Well, it would probably be nice if 4.1 had this already, but it's more of a nice-to-have. So I guess you don't have to wait for this PR to be done. Unrelated to this PR, I would appreciate if #992 made it into 4.1 though :) |
7815446
to
c8d5da6
Compare
0b83bb8
to
e1e4433
Compare
e4b2e0d
to
39b9037
Compare
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.
Sorry, there are just too many changes here for me to really review them :-( I've tried, but this is simply too overwhelming. I guess we'll just have to merge it without any meaningful review, which is not ideal, but I just don't see what else to do.
However I'd like to address the following issues before the merge:
- Keep the list of the CI builds as before instead of having both the matrix and the list.
- Use non-unity builds for at least some of the CI builds. Maybe use unity for static and normal for shared or vice versa or some mix, but we want to test both.
- Avoid adding an almost empty new file for the callbacks.
Also, I think docs/installation.md
may need to be updated.
Thanks again for your work on this!
src/core/callbacks.cpp
Outdated
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.
So could we fix the DLL declaration and avoid adding this file?
#ifdef SOCI_GCC_WARNING_SUPPRESS | ||
SOCI_GCC_WARNING_SUPPRESS(pedantic) | ||
#endif |
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 guess I should have also asked why... I don't think the warnings these pragmas suppressed have disappeared from the MySQL headers, so why did you need to remove them?
1a7135d
to
b5c70b2
Compare
4ca0dd9
to
ed0ceab
Compare
Some library is said to be missing when running on 24.04. Might be an artifact of the specific container image we're using.
ed0ceab
to
b23bdfe
Compare
@vadz as the Windows CI demonstrates, CI will fail if I don't separate out the callback implementation. I think the most straightforward thing to do here would be to keep the separate implementation for this PR and then it can be removed after #1192 has been merged. Otherwise, I believe I have addressed all remaining review comments 👀 |
But AFAICS you didn't remove |
I won't have time to do it today, but if I can get back to this during the week-end: would you prefer to make a real merge or squash merge all the changes together (or something in between — but in this case you will need to do the rebase yourself)? |
No I didn't, because that's what #1192 already does and I didn't want to introduce partial mixing of PR changes.
I think given the magnitude of this PR, a real merge would be good as the commit history might turn out to be useful when blaming any of the touched code in the future (to get a feeling for why a given change was introduced). |
I'd rather do it here than add a new source file only to immediately delete it later. Any conflicts will just have to be resolved when applying the other PR later.
Yes, true, it's just that there are a lot of commits here and it seems like at least some of them are changed/replaced by later ones... But I guess we'll just have to live with this too. |
Alright, will do 👍
True. But sometimes this is the exact history of a changeset that one needs to see in order to understand why code lokks as it does today. So there is an upside as well :) |
Thanks for the update! I've tested this on my own system and I see a few (small?) problems:
|
Did some poking around and agree here; seems the MySQL header should be included directly with On my (Ubuntu 22.04) I'm seeing the following from
The I've noticed that both MySQL and MariaDB usage from C would directly |
Fixes #1115
Fixes #1152
Fixes #1122
Fixes #1094
Fixes #1159
Fixes #644
Fixes #1005
Fixes #1111
Fixes #1015
Fixes #929
Fixes #843
Fixes #456
Fixes #394
Fixes #208