All Projects â†’ uriparser â†’ Uriparser

uriparser / Uriparser

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

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Uriparser

Kissme
Kissme: Kotlin Secure Storage Multiplatform
Stars: ✭ 351 (+115.34%)
Mutual labels:  library, cross-platform
Substitution Schedule Parser
Java library for parsing schools' substitution schedules. Supports multiple different systems mainly used in the German-speaking countries, including Untis, svPlan, and DAVINCI
Stars: ✭ 33 (-79.75%)
Mutual labels:  parser-library, library
Machineid
Get the unique machine id of any host (without admin privileges)
Stars: ✭ 422 (+158.9%)
Mutual labels:  library, cross-platform
Structopt
Parse command line arguments by defining a struct
Stars: ✭ 323 (+98.16%)
Mutual labels:  library, cross-platform
Igropyr
a async http server base on libuv for Chez Scheme
Stars: ✭ 85 (-47.85%)
Mutual labels:  library, cross-platform
Reproc
A cross-platform (C99/C++11) process library
Stars: ✭ 325 (+99.39%)
Mutual labels:  library, cross-platform
Argparse
Argument Parser for Modern C++
Stars: ✭ 680 (+317.18%)
Mutual labels:  library, cross-platform
Gwork
Skinnable GUI with useful widget collection. Fork of GWEN.
Stars: ✭ 179 (+9.82%)
Mutual labels:  library, cross-platform
Raz
Modern & multiplatform game engine in C++17
Stars: ✭ 161 (-1.23%)
Mutual labels:  library, cross-platform
Plog
Portable, simple and extensible C++ logging library
Stars: ✭ 1,061 (+550.92%)
Mutual labels:  library, cross-platform
Csconsoleformat
.NET C# library for advanced formatting of console output [Apache]
Stars: ✭ 296 (+81.6%)
Mutual labels:  library, cross-platform
Kivymd
Set of widgets for Kivy inspired by Google's Material Design.
Stars: ✭ 107 (-34.36%)
Mutual labels:  library, cross-platform
Cute headers
Collection of cross-platform one-file C/C++ libraries with no dependencies, primarily used for games
Stars: ✭ 3,274 (+1908.59%)
Mutual labels:  library, cross-platform
Td
Cross-platform library for building Telegram clients
Stars: ✭ 4,260 (+2513.5%)
Mutual labels:  library, cross-platform
Midir
Cross-platform realtime MIDI processing in Rust.
Stars: ✭ 221 (+35.58%)
Mutual labels:  library, cross-platform
Pycnn
Image Processing with Cellular Neural Networks in Python
Stars: ✭ 509 (+212.27%)
Mutual labels:  library, cross-platform
Handle Path Oz
Android Library to handle multiple Uri's(paths) received through Intents.
Stars: ✭ 36 (-77.91%)
Mutual labels:  library, uri
Xdg
Go implementation of the XDG Base Directory Specification and XDG user directories
Stars: ✭ 88 (-46.01%)
Mutual labels:  library, cross-platform
Borealis
Hardware accelerated, controller and TV oriented UI library for PC and Nintendo Switch (libnx).
Stars: ✭ 135 (-17.18%)
Mutual labels:  library, cross-platform
React Timelines
React Timelines Library
Stars: ✭ 161 (-1.23%)
Mutual labels:  library

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

project(hello VERSION 1.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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].