-
- Downloads
Improve CMake build system
New build options ----------------- * Add option BUILD_TESTING by default ON See https://cmake.org/cmake/help/v2.8.12/cmake.html#module:CTest * Simplify library type selection using standard option BUILD_SHARED_LIBS See https://cmake.org/cmake/help/v3.0/variable/BUILD_SHARED_LIBS.html yamlConfig.cmake ---------------- * Generate and install yamlConfig.cmake, yamlConfigVersion.cmake and yamlTargets.cmake * Bump CMake version and explicitly associate include dirs with targets See https://cmake.org/cmake/help/v3.0/manual/cmake-buildsystem.7.html#include-directories-and-usage-requirements * Ensure building against libyaml using "find_package(yaml)" uses expected compile options: Set HAVE_CONFIG_H as private compile option, YAML_DECLARE_STATIC as public Testing ------- * Build all examples from "tests" directory CMake Best practices -------------------- * configure "config.h" based on version info found in CMakeLists.txt * Ensure buildsystem re-generation listing sources (best-practice) It is not recommended to use GLOB to collect a list of source files from the source tree. If no CMakeLists.txt file changes when a source is added or removed then the generated build system cannot know when to ask CMake to regenerate. See https://cmake.org/cmake/help/v3.8/command/file.html Compilation warnings -------------------- * Set _CRT_SECURE_NO_WARNINGS if building using VisualStudio This will avoid warnings like this one: ``` C:\projects\libyaml\tests\run-emitter.c(268): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. ``` Continuous Integration ---------------------- * travis: Install CMake >= 3.x using scikit-ci-addons * Add comments to appveyor.yml and run-tests.sh
Showing
- .gitignore 0 additions, 1 deletion.gitignore
- .travis.yml 15 additions, 6 deletions.travis.yml
- CMakeLists.txt 147 additions, 15 deletionsCMakeLists.txt
- Makefile.am 1 addition, 1 deletionMakefile.am
- appveyor.yml 13 additions, 0 deletionsappveyor.yml
- cmake/config.h.in 4 additions, 0 deletionscmake/config.h.in
- configure.ac 1 addition, 1 deletionconfigure.ac
- tests/CMakeLists.txt 25 additions, 0 deletionstests/CMakeLists.txt
- tests/run-tests.sh 2 additions, 0 deletionstests/run-tests.sh
- win32/Makefile.am 0 additions, 3 deletionswin32/Makefile.am
- win32/config.h 0 additions, 4 deletionswin32/config.h
- yamlConfig.cmake.in 16 additions, 0 deletionsyamlConfig.cmake.in
Loading
Please register or sign in to comment