aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/restricted/uriparser/README.md
blob: 49bb53f863b3ab1f0f3f80f6b5d4b85753751902 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
[![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)
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/uriparseradmin/uriparser?svg=true)](https://ci.appveyor.com/project/uriparseradmin/uriparser) 
 
 
# uriparser 
 
uriparser is a 
strictly [RFC 3986](http://tools.ietf.org/html/rfc3986) 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](https://github.com/uriparser/uriparser/blob/master/COPYING). 
 
To learn more about uriparser, 
please check out [https://uriparser.github.io/](https://uriparser.github.io/). 
 
 
# Example use from an existing CMake project 

```cmake 
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) 
```console 
# mkdir build 
# cd build 
# cmake -DCMAKE_BUILD_TYPE=Release ..  # see CMakeLists.txt for options 
# make 
# make test 
# make install 
``` 
 
## Available CMake options (and defaults) 
```console 
# 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
```