-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Fixup MSVC source file inclusion for cmake builds #2957
Conversation
It seems that, while this PR is related to #2951, Both try to achieve similar objectives, altering the
So any other compiler which is not part of this list will be either accepting the assembly file (first case) or not (second case). There is also the interesting corner case of |
I guess here I am altering the included cmake files. Is there an other way to regenerate these? You are correct in identifying the nuances. If you can regenerate the cmake files, then I'm happy to close this one. It just seemed that the logic was different enough that the cmake code was hand written. |
Wait, I misinterpreted, So, essentially, same questions apply :
|
ok. it seems that you are using msbuild in your internal ci. Honestly, it is alot of work to maintain multiple build systems. msbuild, meson, cmake, seems like a big build matrix. it can be done, but do you really want that? it is also a little more than the amount of time i wanted to spend on this. if you wanted to let us know the behaviour you want, we can make sure to implement it in the (hopefully) the way between meson and cmake. I know patches like this are reactionary, but often it is hard to anticipate all the different integration methods that downstream users will think of |
The correct choice is to reject it for all compilers other than those that are or identify as gcc/clang, because this source file is not C and you cannot assume any C compiler will understand it. In fact, the compiler that understands it isn't, tech ucally,
Aren't those both compilers? How do you have a compiler on a compiler? The check should be matching a compiler (gcc, clang, MSVC), not a generator (unix makefiles, nmake, xcode, Visual Studio, ninja). Whichever compiler is being run to produce an intermediate |
What I don't understand is...
This CI job uses cmake to generate a VS project with the detected compiler being MSVC. So why did this CI job succeed before this PR? When I submitted the meson PR my naive assumption was that maybe cmake automatically ignores that file because it knows MSVC cannot build asm. |
I don't think all the tests are being run on master, at least it is hard for me to find them. I created #2959 to see what the current test suite does. |
Some commits seem to only be running 6 tests, others are running in the range of 70. The important one is https://github.com/facebook/zstd/runs/4402057229?check_suite_focus=true which builds commit a74a369 At this point you can check that:
|
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.
One thing to fix and this looks good to me.
f630a9b
to
df5ad5a
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.
Looks good to me!
Related to: #2951
Working builds in conda-forge: conda-forge/zstd-feedstock#56