-
Notifications
You must be signed in to change notification settings - Fork 271
Initial commit of experimental CMake build system #30
base: master
Are you sure you want to change the base?
Conversation
Just to save your time - I'm not sure your PR is going to be accepted. First, it's not atomic, second, your changes are questionable (like, you changed |
Can you explain what you would like atomic better?
It was necessary to get the code to compile on my build systems, I'm not sure how it would compile under normal circumstances otherwise.
I was told that it wasn't "needed", not that it wasn't welcome. Is there a reason that CMake isn't welcome in this project? I can't foresee any downsides to adding it. |
Atomic changes are easier to review because there's no need to switch contexts.
Obviously you should fix your build system, not the project. In this particular case the change is potentially dangerous because the C standard guarantees almost nothing regarding the size of
There's already a build system, why would we need another one? If it's added, somebody will have to maintain it. |
Contexts? This isn't a C concept as far as I know, can you be more explicit?
It was failing on all of my build systems across all platforms: Windows, Mac, Linux. That indicates either something wasn't setup in the build properly (didn't seem like the case here), or the project was at fault.
The standards specify this size range:
I agree that it may not be the safest way to handle those situations, but for now my code works on all of my build systems; yours doesn't.
Actual portability. For example: building sphinxbase and pocketsphinx on Windows is a PITA right now. This is a step into making it more streamlined.
Maintenance is minimal on build systems (that's the whole point of them). Right now all you have to do is add new files that you create so that they will be compiled... and even that could be fixed so you don't have to do that. |
Anyway, I'm not the one who makes the final decision, so this was just my advice. Although I'd still wait @nshmyrev to accept your ideas before starting to write the code. FYI, building cross-platform projects on Windows has always been a pain, mainly because Visual Studio doesn't have a conforming C99 compiler and because Windows is not POSIX-compliant. I'd suggest MinGW build on UNIX-like OS instead. |
The build system is already been written, and my code that uses that build system has already been written. My fork is just serving as a "glue" between this code and mine, hopefully just temporarily.
Yes and no. It does support many features, but is not fully compliant. |
0b5f032
to
5713af4
Compare
dffd95e
to
89a2b8f
Compare
d3fae91
to
b21d652
Compare
Hi, I'm not sure who said CMake wasn't welcome, but it wasn't me. It's awful, but it's less awful than autotools, and the configuration files are quite a lot simpler. That said I imagine lots of things have changed since 6 years ago. Please take a look at this fork which switches everything to CMake, and will change other things as well: https://github.com/dhdaines/pocketsphinx |
@dhdaines nice it is going David! I suppose you can push it all to the master instead of a fork. |
Hi @nshmyrev ! I was hoping to discuss some of the other changes with you which is why it's on a fork :) |
No need to ask me, please change as you like. I'm always here if needed. |
Built and tested working static library.