You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3.5 KiB

Build on Mac

Install Xcode

You should install Xcode as the step 0.

Install CMake

Download the .dmg from here. Just double click and follow the instructions.

Install Boost

Download the .tar.bz2 or .tar.gz from here.

Unpack and go into the directory (suppose Boost version is 1.74):

tar -xzf boost_1_74_0.tar.bz2
cd boost_1_74_0

Run bootstrap.sh to generate b2:

./bootstrap.sh

You can change install prefix with --prefix option (default is /usr/local, need sudo), but I don't recommend.

Build and install:

sudo ./b2 --with-system --with-date_time --with-filesystem variant=debug link=static threading=multi -j4 install

Notes:

  • Only build the specified libraries. Asio itself is header only so doesnt have to be built. Only build static libraries (link=static)
  • The number after -j depends on the number of CPU cores you have.
  • If you want to build release version libraries, set variant=release. The debug and release libraries have exactly the same name, so you cannot build them both at the same time.
  • Dont forget the sudo since the install prefix is /usr/local.

To clean the build, run b2 with target "clean":

./b2 clean

The libraries are installed to /usr/local/lib. E.g.,

$ ls -l /usr/local/lib/libboost*
-rw-r--r--  1 adam  admin   540288 Apr 21 11:01 /usr/local/lib/libboost_date_time.a
-rw-r--r--  1 root  admin     2976 Apr 21 11:01 /usr/local/lib/libboost_system.a
...

The headers are installed to /usr/local/include/boost.

IMPORTANT

Remove the following directory otherwise CMake couldnt find Boost.

sudo rm -r /usr/local/lib/cmake

This directory was installed by b2. I cant see why its necessary.

Install OpenSSL

Install with Homebrew (the usage of Homebrew itself is out of the scope, please Google and learn it by yourself):

brew install openssl

Please note that it will be installed to /usr/local/opt/openssl instead of /usr/local.

Install Zlib

Zlib should have already been provided by the system (/usr/lib/libz.dylib). If not, try to install with Homebrew.

Build Webcc

Open CMake, set Where is the source code to Webcc root directory (e.g., /Users/adam/github/webcc), set Where to build the binaries to any directory (e.g., /Users/adam/github/webcc_build).

Check Grouped and Advanced two check boxes.

Click Configure button. Select "Unix Makefiles" (or "Xcode") as the generator in the popup dialog.

In the center of CMake, you can see a lot of configure options which are grouped and might also be highlighted in RED.

CMake config

Now change the options according to your need. E.g.,

CMake config

Click Configure button again, a message would say that OpenSSL couldnt be found.

Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY OPENSSL_INCLUDE_DIR)

Dont try to set the OPENSSL_ROOT_DIR system variable, it wont work.

As aforementioned, the OpenSSL was installed by Homebrew, and its located in /usr/local/opt/openssl. Lets tell CMake where it is.

CMake config OpenSSL

Click Configure button again. If everything is OK, click Generate button.

Open Terminal, go to the build directory, run make. E.g.,

$ cd github/webcc_build
$ make -j4