summaryrefslogtreecommitdiff
path: root/yamlConfig.cmake.in
diff options
context:
space:
mode:
authorJean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>2017-11-30 08:14:27 -0500
committerIan Stapleton Cordasco <graffatcolmingov@gmail.com>2017-11-30 07:14:27 -0600
commitfe3d086fa75a289d6e4085df6f855f4c88c8d7c2 (patch)
tree02cc993cdd3d0322861daf4eb09ad636afeb4cd3 /yamlConfig.cmake.in
parent660242d6a418f0348c61057ed3052450527b3abf (diff)
downloadlibyaml-git-fe3d086fa75a289d6e4085df6f855f4c88c8d7c2.tar.gz
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
Diffstat (limited to 'yamlConfig.cmake.in')
-rw-r--r--yamlConfig.cmake.in16
1 files changed, 16 insertions, 0 deletions
diff --git a/yamlConfig.cmake.in b/yamlConfig.cmake.in
new file mode 100644
index 0000000..dd3f8ee
--- /dev/null
+++ b/yamlConfig.cmake.in
@@ -0,0 +1,16 @@
+# Config file for the yaml library.
+#
+# It defines the following variables:
+# yaml_LIBRARIES - libraries to link against
+
+@PACKAGE_INIT@
+
+set_and_check(yaml_TARGETS "@PACKAGE_CONFIG_DIR_CONFIG@/yamlTargets.cmake")
+
+if(NOT yaml_TARGETS_IMPORTED)
+ set(yaml_TARGETS_IMPORTED 1)
+ include(${yaml_TARGETS})
+endif()
+
+set(yaml_LIBRARIES yaml)
+