AlexSm 6d3e410c45 Remove CMakeLists from main (#2032) 9 months ago
..
include 33ffd2163c Update contrib/restricted/uriparser to 0.9.7 2 years ago
src 33ffd2163c Update contrib/restricted/uriparser to 0.9.7 2 years ago
test bf0f13dd39 add ymake export to ydb 1 year ago
tool bf0f13dd39 add ymake export to ydb 1 year ago
AUTHORS 2d37894b1b Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2. 2 years ago
COPYING 2d37894b1b Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2. 2 years ago
ChangeLog 33ffd2163c Update contrib/restricted/uriparser to 0.9.7 2 years ago
GOALS.txt 2d37894b1b Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2. 2 years ago
README.md 2d37894b1b Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2. 2 years ago
TODO.txt 2d37894b1b Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2. 2 years ago
UriConfig.h 33ffd2163c Update contrib/restricted/uriparser to 0.9.7 2 years ago
ya.make bf0f13dd39 add ymake export to ydb 1 year ago

README.md

Build and test AppVeyor Build Status

uriparser

uriparser is a strictly RFC 3986 compliant URI parsing and handling library written in C89 ("ANSI C"). uriparser is cross-platform, fast, supports both char and wchar_t, and is licensed under the New BSD license.

To learn more about uriparser, please check out https://uriparser.github.io/.

Example use from an existing CMake project

cmake_minimum_required(VERSION 3.3)

project(hello VERSION 1.0.0)

find_package(uriparser 0.9.2 CONFIG REQUIRED char wchar_t)

add_executable(hello
    hello.c
)

target_link_libraries(hello PUBLIC uriparser::uriparser)

Compilation

Compilation (standalone, GNU make, Linux)

# mkdir build
# cd build
# cmake -DCMAKE_BUILD_TYPE=Release ..  # see CMakeLists.txt for options
# make
# make test
# make install

Available CMake options (and defaults)

# rm -f CMakeCache.txt ; cmake -LH . | grep -B1 ':.*=' | sed 's,--,,'
// Build shared libraries (rather than static ones)
BUILD_SHARED_LIBS:BOOL=ON

// Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ...
CMAKE_BUILD_TYPE:STRING=

// Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr/local

// Path to qhelpgenerator program (default: auto-detect)
QHG_LOCATION:FILEPATH=

// Build code supporting data type 'char'
URIPARSER_BUILD_CHAR:BOOL=ON

// Build API documentation (requires Doxygen, Graphviz, and (optional) Qt's qhelpgenerator)
URIPARSER_BUILD_DOCS:BOOL=ON

// Build test suite (requires GTest >=1.8.0)
URIPARSER_BUILD_TESTS:BOOL=ON

// Build tools (e.g. CLI "uriparse")
URIPARSER_BUILD_TOOLS:BOOL=ON

// Build code supporting data type 'wchar_t'
URIPARSER_BUILD_WCHAR_T:BOOL=ON

// Enable installation of uriparser
URIPARSER_ENABLE_INSTALL:BOOL=ON

// Use of specific runtime library (/MT /MTd /MD /MDd) with MSVC
URIPARSER_MSVC_RUNTIME:STRING=

// Treat all compiler warnings as errors
URIPARSER_WARNINGS_AS_ERRORS:BOOL=OFF