Build From Source on MacOS
Prerequisites
In order to compile PcapPlusPlus on MacOS please make sure you have the following components installed:
- Xcode which contains all prerequisites required for PcapPlusPlus including gcc/g++ compiler and libpcap with all relevant header files
- 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 - 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):
Option | Description |
---|---|
-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.