-
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
Great, thanks!
OK, this works too, thanks.
Thanks, this is probably a good advice, but I don't always CMake for building and I also suspect that I might be not the only one doing it like this, so it's still nice to avoid unnecessary changes.
I'll try to retest a.s.a.p., thanks again for your work!
Yes, it doesn't really matter and I do hope to merge it soon. |
Sorry, I still have a problem with MySQL on my system. Configuring says
but I get an error about
(where target_include_directories(MySQL SYSTEM INTERFACE ${MySQL_INCLUDE_DIRS}) in Any idea what's going on here? |
2085453
to
8c9f231
Compare
03f07d9
to
a9d1c24
Compare
@Krzmbrzl I do appreciate your efforts to find this problem, but perhaps it would be better to run the debugging CI jobs in a separate branch in your own fork? |
a9d1c24
to
845b3de
Compare
Why? I don't see a big difference in whether the CI runs on the PR branch or on a different one 🤔 Anyway, the I am done and the issue is resolved (at least in the CI setup). |
Mostly to avoid a lot of force pushes here, which result in confusing notification emails being sent. When I need to do something like this, I usually start by creating a branch in my fork and disabling all the other CI jobs in it to avoid running them uselessly, then just cherry pick the commit with the fix to the real branch.
Thanks, I see what you did, but isn't it a bit dangerous to strip anything of the form |
Actually, sorry, I still don't understand what is going here :-( According to CMake docs we should have
So why do we need to remove the |
OK, to answer my own question, this is because we don't use And we should do this replacement only in case when we use if (EXISTS "${VERSION_FILE}") test which should be always failing for mariadb currently. Should I push a fix for this into this branch? |
Set options for soci_compiler_interface, not the non-existent soci_compiler_options target. This was missed in a51a5e4 (Move compiler flag options + handling to dedicated file, 2025-02-02).
This is not necessary in the other cases, such as when using pkg-config. It's also not necessary to do it for MySQL_LIBRARIES as the arguments to target_link_libraries() can be arbitrary linker options too. Finally, make the regex more precise and only remove "-I" and, also, "-isystem", instead of anything starting with "-".
Accept either mysqlclient or libmariadb packages in MySQL backend configuration.
Sorry, I'm finally pushing my changes here without waiting for the answer as applying the regex replacement unconditionally broke Windows build, as can be seen here and I think my fixes should help with it. |
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