Skip to main content
Version: Next

Build From Source on MacOS

Prerequisites

In order to compile PcapPlusPlus on MacOS please make sure you have the following components installed:

  1. Xcode which contains all prerequisites required for PcapPlusPlus including gcc/g++ compiler and libpcap with all relevant header files
  2. PcapPlusPlus is available for both Intel and Apple Silicon processors. To cross-compile for a different architecture you can use the -DCMAKE_OSX_ARCHITECTURES option, see more details below
  3. OPTIONAL - install Zstd if you wish to enable PCAPNG streaming compression support:
    brew install zstd

Build

Assuming you want to build PcapPlusPlus into a build directory:

cmake -S . -B build

And then initiate the build in one of two ways:

  • Using CMake:
    cmake --build build
  • Using make:
    cd build
    make

This process will build the following artifacts:

  • PcapPlusPlus libs:
    • build/Common++/libCommon++.a
    • build/Packet++/libPacket++.a
    • build/Pcap++/libPcap++.a
  • PcapPlusPlus examples binaries under build/examples_bin
  • PcapPlusPlus tests:
    • <PcapPlusPlus_Dir>/Tests/Packet++Test/Bin/Packet++Test
    • <PcapPlusPlus_Dir>/Tests/Pcap++Test/Bin/Pcap++Test

The following configuration options are available (on top of CMake's built-in options):

OptionDescription
-DPCAPPP_BUILD_EXAMPLES=<ON/OFF>Build PcapPlusPlus examples (default value is ON if building the project itself, otherwise OFF)
-DPCAPPP_BUILD_TESTS=<ON/OFF>Build PcapPlusPlus tests (default value is ON if building the project itself, otherwise OFF)
-DPCAPPP_BUILD_TUTORIALS=<ON/OFF>Build PcapPlusPlus tutorials. This option is only available if DPCAPPP_BUILD_EXAMPLES=ON. The tutorials binaries will be under build/tutorials_bin (default value is OFF)
-DPCAPPP_INSTALL=<ON/OFF>Install PcapPlusPlus (default value is ON if building the project itself, otherwise OFF)
-DBUILD_SHARED_LIBS=<ON/OFF>Build shared libs (default value is OFF)
-DLIGHT_PCAPNG_ZSTD=<ON/OFF>Build with Zstd to enable PCAPNG streaming compression support (default value is OFF)
-DCMAKE_OSX_ARCHITECTURES=<x86_64,arm64>Build for either Intel (x86_64) or Apple Silicon (arm64) architecture. If not provided, the default is the machine's architecture
-DPCAPPP_ENABLE_PCAP_IMMEDIATE_MODE=<ON/OFF>Enable pcap immediate mode (default value is OFF)
-DPCAPPP_ENABLE_PCAP_SET_DIRECTION=<ON/OFF>Enable set direction for capturing incoming or outgoing packets (default value is OFF)

Installation

After the build is complete you can run the installation script which will copy the libraries, header files and examples into the installation directories:

sudo cmake --install .

If you want to install on a non-default directory you can use this command:

DESTDIR=<DIR> cmake --install build --prefix "/"

Running tests

PcapPlusPlus contains a set of test-cases you can run to make sure that everything works correctly on your system. This guide contains detailed instructions on how to run them.