jibsen / uriparser

:hocho: Strictly RFC 3986 compliant URI parsing and handling library written in C89; moved from SourceForge to GitHub

Home Page:https://uriparser.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Travis CI 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 Unicode, 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

project(hello VERSION 1.0)

find_package(uriparser 0.9.1 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 -LAH | grep -B1 'URIPARSER_\|BUILD_SHARED_LIBS'
[..]
// Build shared libraries (rather than static ones)
BUILD_SHARED_LIBS:BOOL=ON
--
// 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.1)
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

About

:hocho: Strictly RFC 3986 compliant URI parsing and handling library written in C89; moved from SourceForge to GitHub

https://uriparser.github.io/

License:Other


Languages

Language:C 64.7%Language:C++ 30.0%Language:CMake 3.4%Language:Shell 1.1%Language:Makefile 0.7%