-
Notifications
You must be signed in to change notification settings - Fork 839
Switching to using our own flatcc compiler library. #7468
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
Conversation
GMNGeoffrey
left a comment
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.
Lol almost less code
c20c87b to
a03b775
Compare
|
This is awesome. I was tired of their damn CMake warnings I tried to submit a PR upstream dvidelabs/flatcc#217 ... one less warning :D |
|
Yeah this has bugged me. The latest weirdness was their CMake touching a file in the source tree on every configure: https://discord.com/channels/689900678990135345/689957613152239638/902723131939094618 |
I can't follow that discord link, but are you referring to CMake in general at that version, or something in the flatcc configuration? I would also like to not have the source tree touched. (Author of flatcc speaking.) In either case, flatcc was intended to be easily integrated in end users builds more than necessarily consuming the existing CMake project as is. |
|
Here's the place where it is touching the source tree: https://github.com/dvidelabs/flatcc/blob/62a7f88611af08c68be5485ce6d9c7e92474eab8/CMakeLists.txt#L135-L143 |
|
Thanks for pointing this out, but this touches a file in the build directory, not in the source tree, and it is covered by .gitignore. There is probably a more sane way to configure this, but the problem being solved here is that flatcc depends on its own output, and if the output somehow becomes invalid during development, it cannot bootstrap itself to fix the problem without removing the feature that depends on its own output (being able to read binary schema files in flatbuffer format). There is actually another file |
Only if the build directory is located within the source directory and called "build", which is not always the case. If you want to use the build directory, you should use |
|
OK, I removed the offensive files - they were only used to flag test scripts that needed to know, but they were largely obsolete anyway. All the shell script build and test drivers still make assumptions about build location, but CMake itself shouldn't, I agree. |
We were already doing our own runtime library slicing, and we have to do our own compiler build for bazel, so this is consistent and lets us avoid including their cmake file (and the issues that creates).