You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A recent (GCC >= 5.4 or Clang >= 3.9 both work) C++14 compiler is required.
CMake build
libraries
cd uap-cpp
mkdir build
cd build
cmake ..
make uap-cpp-static
make uap-cpp-shared
tests
Prepare gtest:
apt-get install libgtest-dev
apt-get install cmake
cd /usr/src/gtest
cmake CMakeLists.txt
make
cp *.a /usr/lib
Run from build directory:
make test
Run from uap-cpp directory:
./build/uap-cpp-tests
benchmark
Run from build directory:
make bench
Run from uap-cpp directory:
time ./build/UaParserBench uap-core/regexes.yaml benchmarks/useragents.txt 1000
Windows
First, open uap-cpp.sln with MSVC 15 (Visual Studio 2017).
To build the (static) library:
build the "UaParser" project
To build and run the tests:
build the "UaParserTest" project
The MSVC projects assume boost to be installed at: C:\boost_1_69_0 and yaml to be installed at: C:\yaml-cpp. Change these paths if needed. boost_regex needs to be built from source in advance. For yaml-cpp, you can built it from source, or use a prebuilt here.
Dependencies
re2, yaml-cpp (>=0.5)
gtest (for testing)
uap-core, same directory level as uap-cpp. You can clone this repo with --recurse-submodules to get it. Alternatively, run git submodule update --init.
Contributing
Pull requests are welcome. Use clang-format -i *.cpp *.h to format the sources before sending the patch.
Credits
Inspired from the D implementation by Shripad K and using agent data from BrowserScope.