• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/H06-Jan-2022-192161

cmake/H06-Jan-2022-12170

doc/H03-May-2022-10,6067,345

include/uriparser/H06-Jan-2022-1,882409

scripts/H06-Jan-2022-6647

src/H06-Jan-2022-7,9575,321

test/H06-Jan-2022-3,9973,018

tool/H06-Jan-2022-14190

.gitignoreH A D06-Jan-2022363 2322

AUTHORSH A D06-Jan-202277 32

COPYINGH A D06-Jan-20221.7 KiB3730

ChangeLogH A D06-Jan-202224.1 KiB578496

README.mdH A D06-Jan-20222.4 KiB8861

THANKSH A D06-Jan-20221 KiB6867

appveyor.ymlH A D06-Jan-20223.9 KiB112100

configureH A D06-Jan-20221.9 KiB5111

liburiparser.pc.inH A D06-Jan-2022316 1310

make-distcheck.shH A D06-Jan-20223.9 KiB12670

README.md

1[![Build and test](https://github.com/uriparser/uriparser/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/uriparser/uriparser/actions/workflows/build-and-test.yml)
2[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/uriparseradmin/uriparser?svg=true)](https://ci.appveyor.com/project/uriparseradmin/uriparser)
3
4
5# uriparser
6
7uriparser is a
8strictly [RFC 3986](http://tools.ietf.org/html/rfc3986) compliant
9URI parsing and handling library
10written in C89 ("ANSI C").
11uriparser is cross-platform,
12fast,
13supports both `char` and `wchar_t`, and
14is licensed under the [New BSD license](https://github.com/uriparser/uriparser/blob/master/COPYING).
15
16To learn more about uriparser,
17please check out [https://uriparser.github.io/](https://uriparser.github.io/).
18
19
20# Example use from an existing CMake project
21
22```cmake
23cmake_minimum_required(VERSION 3.3)
24
25project(hello VERSION 1.0.0)
26
27find_package(uriparser 0.9.2 CONFIG REQUIRED char wchar_t)
28
29add_executable(hello
30    hello.c
31)
32
33target_link_libraries(hello PUBLIC uriparser::uriparser)
34```
35
36
37# Compilation
38
39## Compilation (standalone, GNU make, Linux)
40```console
41# mkdir build
42# cd build
43# cmake -DCMAKE_BUILD_TYPE=Release ..  # see CMakeLists.txt for options
44# make
45# make test
46# make install
47```
48
49## Available CMake options (and defaults)
50```console
51# rm -f CMakeCache.txt ; cmake -LH . | grep -B1 ':.*=' | sed 's,--,,'
52// Build shared libraries (rather than static ones)
53BUILD_SHARED_LIBS:BOOL=ON
54
55// Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ...
56CMAKE_BUILD_TYPE:STRING=
57
58// Install path prefix, prepended onto install directories.
59CMAKE_INSTALL_PREFIX:PATH=/usr/local
60
61// Path to qhelpgenerator program (default: auto-detect)
62QHG_LOCATION:FILEPATH=
63
64// Build code supporting data type 'char'
65URIPARSER_BUILD_CHAR:BOOL=ON
66
67// Build API documentation (requires Doxygen, Graphviz, and (optional) Qt's qhelpgenerator)
68URIPARSER_BUILD_DOCS:BOOL=ON
69
70// Build test suite (requires GTest >=1.8.0)
71URIPARSER_BUILD_TESTS:BOOL=ON
72
73// Build tools (e.g. CLI "uriparse")
74URIPARSER_BUILD_TOOLS:BOOL=ON
75
76// Build code supporting data type 'wchar_t'
77URIPARSER_BUILD_WCHAR_T:BOOL=ON
78
79// Enable installation of uriparser
80URIPARSER_ENABLE_INSTALL:BOOL=ON
81
82// Use of specific runtime library (/MT /MTd /MD /MDd) with MSVC
83URIPARSER_MSVC_RUNTIME:STRING=
84
85// Treat all compiler warnings as errors
86URIPARSER_WARNINGS_AS_ERRORS:BOOL=OFF
87```
88