Title: CMake integration Post by: dkaparis on August 05, 2010, 12:26:36 PM Greetings,
I have set up a mirror hg repository over at bitbucket for integrating the CMake build system: http://bitbucket.org/dkaparis/bitcoin-cmake/ It's based on latest SVN and I'm regularly updating. My modifications are addition of build files and the fix for MSVC non-debug runtime compiling of the secure_allocator class I posted some time ago. See the included build_cmake.txt file for more details. Currently it's tested and works for Visual C++ 2008, both IDE and command-line builds. Still not tested: MSVC x64, MinGW and UNIX builds. Use it as you deem fit. Contributions are welcomed. Title: Re: CMake integration Post by: dkaparis on August 11, 2010, 10:44:11 PM It now builds on FreeBSD. Tested on 8.1 x64. I have no graphical environment on my test machine, so I haven't tested with wxWidgets. Volunteers are welcome.
Provided you set up all dependencies from the ports tree and have CMake installed, building Bitcoind should take only this: hg clone https://dkaparis@bitbucket.org/dkaparis/bitcoin-cmake cd bitcoin-cmake mkdir build cd build cmake .. make Haven't tested on Linux yet, but it should be virtually the same. Again, volunteers are welcome. Cheers. Title: Re: CMake integration Post by: pavelo on August 27, 2010, 06:14:28 PM thanks for this cmake thingy
I managed to compile in on linux (uname -a = Linux unimatrix0 2.6.34-gentoo-r6 #1 SMP PREEMPT Wed Aug 25 11:27:50 CEST 2010 x86_64 Intel(R) Core(TM)2 Duo CPU E4500 @ 2.20GHz GenuineIntel GNU/Linux, if anyone wants to know) I just needed to remove some wx libs from the linker command because it was complaining it cannot find them. As it seems to link fine without them, i guess they are not really needed, and you can remove them. I have a patch below: Code: # HG changeset patch Title: Re: CMake integration Post by: dkaparis on September 06, 2010, 10:11:03 AM thanks for this cmake thingy I managed to compile in on linux (uname -a = Linux unimatrix0 2.6.34-gentoo-r6 #1 SMP PREEMPT Wed Aug 25 11:27:50 CEST 2010 x86_64 Intel(R) Core(TM)2 Duo CPU E4500 @ 2.20GHz GenuineIntel GNU/Linux, if anyone wants to know) I just needed to remove some wx libs from the linker command because it was complaining it cannot find them. As it seems to link fine without them, i guess they are not really needed, and you can remove them. I have a patch below: Code: # HG changeset patch Thanks, I'll add the change. I remember just copying the lib names straight from the original makefile, I suspected not all are used. It's also worth noticing it can build bitcoind (the headless version) without any wxWidgets libraries at all (in fact I did that on my FreeBSD system). Title: Re: CMake integration Post by: phma on April 20, 2012, 09:02:08 PM I just cloned it and ran cmake and got this:
-- Found wxWidgets: TRUE -- Found OpenSSL: /usr/lib/libssl.so;/usr/lib/libcrypto.so -- Boost version: 1.46.1 -- Found the following Boost libraries: -- system -- filesystem -- program_options -- thread -- date_time -- regex -- Could NOT find DB (missing: DB_LIBRARIES) CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: DB_LIB linked by target "bitcoin" in directory /home/phma/crypt/bitcoin-cmake linked by target "bitcoind" in directory /home/phma/crypt/bitcoin-cmake -- Configuring incomplete, errors occurred! I have several versions of db installed: db-2.7.7nb3 = Sleepycat Software's Berkeley DB version 2 db3-3.11.2nb4 Sleepycat Software's Berkeley DB version 3 db4-4.8.30 = Berkeley DB version 4 from Oracle db46-4.6.21 = Berkeley DB version 4 from Oracle db5-5.2.28 = Berkeley DB version 5 from Oracle And why is it looking for wxWidgets instead of Qt? Title: Re: CMake integration Post by: Pieter Wuille on April 20, 2012, 09:50:31 PM The previous post in this thread is 1.5 years old. We've since switched from the wx GUI ("bitcoin") to a Qt GUI ("bitcoin-qt"), and the version requirements for several libraries changed as well. We've also switched from SVN to GIT...
In any case, that cmake file will be severely outdated by now. Title: Re: CMake integration Post by: phma on April 24, 2012, 01:46:21 AM Is anyone up to updating the CMake file? I'd love to get Bitcoin to build on my box, but the existing build system (or lack thereof) just doesn't work on it. I have no problem building Vidalia (a Qt app which uses CMake as build system), and I've been porting my projects to CMake, but none of them are GUI projects. I started to port Bitcoin to CMake, found that CMake doesn't have a library find module for Berkeley DB, searched for it, and landed on dkaparis's site.
Title: Re: CMake integration Post by: Pieter Wuille on April 24, 2012, 01:59:08 AM What problems do you have with the current build system, and on which platform?
|