A YAML parser and emitter in C++
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
u3shit 8f79d2f39d vita build fix 3 years ago
docs Support as<uint8_t>/as<int8_t>. 5 years ago
include/yaml-cpp vita build fix 3 years ago
src Prevent trailing spaces when emitting literal strings (#1005) 3 years ago
test Prevent trailing spaces when emitting literal strings (#1005) 3 years ago
util [clang-tidy] use empty method (#895) 5 years ago
.clang-format Update .clang-format to use C++ 11 style. 9 years ago
.codedocs test: Upgrade googlemock 1.7.0 to googletest 1.8.0 7 years ago
.gitignore Add bazel Support (#724) 5 years ago
.travis.yml Update travis config to use updated versions of OS and compilers. (#845) 5 years ago
BUILD.bazel Allow including yaml-cpp as system headers (#829) 5 years ago
CMakeLists.txt Update version to 0.7.0. 3 years ago
CONTRIBUTING.md Update CONTRIBUTING.md 9 years ago
LICENSE Rename license file and update copyright date. 10 years ago
README.md Add Qt wrapper gist (#853) 5 years ago
WORKSPACE Add bazel Support (#724) 5 years ago
appveyor.yml Add the AppVeyor configuration file (#927) 4 years ago
install.txt Added newline to install and license files 15 years ago
yaml-cpp-config.cmake.in Add yaml-cpp-config.cmake and yaml-cpp-config-version.cmake files for importing yaml-cpp into external projects (through find_package). 10 years ago
yaml-cpp.pc.in Refactor CMake to use more modern paradigms (#741) 5 years ago

README.md

yaml-cpp Build Status Documentation

yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec.

To get a feel for how it can be used, see the Tutorial or How to Emit YAML. For the old API (version < 0.5.0), see How To Parse A Document.

Problems?

If you find a bug, post an issue! If you have questions about how to use yaml-cpp, please post it on http://stackoverflow.com and tag it yaml-cpp.

How to Build

yaml-cpp uses CMake to support cross-platform building. The basic steps to build are:

  1. Download and install CMake (Resources -> Download).

Note: If you don't use the provided installer for your platform, make sure that you add CMake's bin folder to your path.

  1. Navigate into the source directory, and type:
mkdir build
cd build
  1. Run CMake. The basic syntax is:
cmake [-G generator] [-DYAML_BUILD_SHARED_LIBS=ON|OFF] ..
  • The generator is whatever type of build system you'd like to use. To see a full list of generators on your platform, just run cmake (with no arguments). For example:

    • On Windows, you might use "Visual Studio 12 2013" to generate a Visual Studio 2013 solution or "Visual Studio 14 2015 Win64" to generate a 64-bit Visual Studio 2015 solution.
    • On OS X, you might use "Xcode" to generate an Xcode project
    • On a UNIX-y system, simply omit the option to generate a makefile
  • yaml-cpp defaults to building a static library, but you may build a shared library by specifying -DYAML_BUILD_SHARED_LIBS=ON.

  • For more options on customizing the build, see the CMakeLists.txt file.

  1. Build it!

  2. To clean up, just remove the build directory.

Recent Release

yaml-cpp 0.6.0 has been released! This release requires C++11, and no longer depends on Boost.

yaml-cpp 0.3.0 is still available if you want the old API.

The old API will continue to be supported, and will still receive bugfixes! The 0.3.x and 0.4.x versions will be old API releases, and 0.5.x and above will all be new API releases.

API Documentation

The autogenerated API reference is hosted on CodeDocs

Third Party Integrations

The following projects are not officially supported: