-
Notifications
You must be signed in to change notification settings - Fork 7.9k
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
CMake Support #466
Comments
FYI: #475 |
CMake supported is much needed in order to integrate it into vcpkg |
Work on CMake support is underway. |
@cmumford is it going to be supported on *nix platforms as well as Windows too? Please support CMake on *nix as well as Windows. |
Windows support requires a separate effort, because we'll need replacements for the POSIX port and env. That being said, one of the benefits of CMake is the ability to support Windows down the line. Sorry we have no plans to announce right now, but we are aware of the demand! |
@pwnall @cmumford I was watching the Windows Support thread, and just want to make myself available to this effort. I'm leading the port of Mesos to Windows, where we had to switch from Autotools to CMake as well, and in fact, leveldb is one of remaining requirements to bring the Mesos I've also previously patched ZooKeeper's C client library to support Windows with a new CMake build system, and for Mesos, wrote documentation covering how to maintain a good CMake build system (after I rewrote it). Not knowing how familiar leveldb developers are with CMake, I very highly recommend reading this list of common anti-patterns and this modern guide to CMake. Please feel free to bug me with any questions or work items you have, I'd be happy to help. I would especially like to help test the CMake build as its developed, as I'll be integrating it as a third-party dependency into my build system back at Mesos (using External_ProjectAdd). |
Can you share the current status of this task? I can help or even do it from scratch. |
@chfast Thank you very much for the offer! Unfortunately, unless you're a Googler, it's highly unlikely that you can help. I have a patch for the open-source repository here: https://github.com/pwnall/leveldb/tree/cmake The work is blocked on integrating this changes into Google's internal source repository. Sorry, that's all I have to share right now. |
Any estimations how long it can take? |
Someone wrote a CMakeLists for leveldb on vcpkg https://github.com/Microsoft/vcpkg/blob/master/ports/leveldb/CMakeLists.txt, and it is fully working on Windows. Simply install leveldb with |
@pwnall thanks for the CMake support. I think that is good enough for me. On a related note, I wonder why you chose to redefine all of the |
The |
I'm not saying it was worth to change it in a side branch. |
@jasjuang Thanks! But produced result - 02/08/2018 04:40 PM 25,541,932 libleveldb.lib - weighs like it has some extra stuff. It was downloading something bitcoin-related: "-- Downloading https://github.com/bitcoin-core/leveldb/archive/8b1cd3753b184341e837b30383832645135d3d73.tar.gz...". Looks like some bitcoin-oriented code that's just using leveldb. So package name leveldb for vcpkg is just misguiding, but not an actual leveldb that you would expect... |
@maxim-allen bitcoin maintains a windows compatible LevelDB. Google does not. |
@maxim-allen You are right the leveldb on vcpkg is actually from the bitcoin fork. You might want to try modifying the portfile to install the original leveldb and see if it works. |
BTW, why are some tests skipped when building as a shared library? Makefile-based builds used all of them. Line 347 in b7d3023
|
I think that the CMake version now builds with I want us to be testing with I hope this helps. |
…ark. (google#466) Describe how to use the cpupower command to disable CPU frequency scaling. Document this, since there are other ways that don't see to have the same effect. See google#325
Hi, @cmumford
Does it make sense if we add cmake support to leveldb? if the answer is YES, I will try to do it.
There are some useful LLVM tools likes clang-tidy/woboq that need cmake support. We will get code format automatically, static check and online code browser if here is CMakeLists.txt.
any comments are appreciated. thx
The text was updated successfully, but these errors were encountered: