21 Commits

Author SHA1 Message Date
Tina Müller acd6f6f014 Add workflow for creating release tarballs
Also minor cleanup of .github/workflows/main.yml
2020-06-22 10:21:14 -07:00
Ingy döt Net d12ce2aa88 Allow test suite runner to come from a different repo 2020-06-01 21:52:12 +02:00
Ingy döt Net 00780e83d2 A couple patches to improve test suite support (#191)
* Need newer bash and make for Macos testing

* Allow override of the run-test-suite branch
2020-06-01 21:33:39 +02:00
Tina Müller 72e2f75277 Changes for v0.2.4 release 2020-04-19 13:15:10 +02:00
Tina Müller (tinita) 47bf3f086f Add packaging/docker-dist to Makefile.am (#143) 2020-04-19 12:36:01 +02:00
Tina Müller bf52902899 Changes for v0.2.3 release 2020-04-11 19:08:22 +02:00
Tina Müller (tinita) 21429b031f Add CHANGES file (#159) 2020-03-26 22:24:32 +01:00
Ingy döt Net 94ecadc50e Makefile test-suite rule builds libyaml first 2019-12-21 11:11:26 -08:00
Ingy döt Net aa10f65706 Fix problems in CI failures (travis and semaphore)
In the Makefile.am, switched out the fetch (which can have auth problems
in certain envs) with a simple branch per @perlpunk++'s suggestion.

With the new test branches, travis had a problem in that it only clones
one branch and we need the other branch refs to be available. Fixed this
by fetching the other branch refs. I also cleaned up the travis YAML
file.

The Ubuntu 14.04 docker image (used by semaphoreci) had an older git,
without the worktree command, so I made it install the latest git from a
ppa.

Renamed tests/run-tests.sh to tests/run-all-tests.sh for tab completion
conflict reasons.
2018-01-06 14:39:12 -08:00
Ingy döt Net e4aee06ff4 Move tests/run-test-suite to branch run-test-suite
with the intent that `make test-suite` will use it as a branch.

This commit makes the libyaml and yaml-test-suite repos completely
independent. The only thing in master is a Makefile rule for
`make run-test-suite`.

The run-test-suite branch takes care of everything else.

This will keep the master branch history clean from any yaml-test-suite
activity, while keeping everything up to date.

Pinning will just work for whatever commit of master you run the tests
from. The pinning work will all be done in the `run-test-suite` branch.
2017-12-29 19:58:07 -08:00
Tina Müller e5aadc7349 Rewrite make test-suite
No recursive make anymore

Remove MY_LD_LIBRARY_PATH and friends

This is now done by the wrapper script

Remove LIBYAML_DIR variable

not needed anymore

Merge ReadMe.md files to one
2017-12-02 22:23:23 +01:00
Jean-Christophe Fillion-Robin fe3d086fa7 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
2017-11-30 07:14:27 -06:00
Ingy döt Net a672b07109 Include libyaml-test and libyaml-parser-emitter
Before the `make test-suite` command would clone yaml/libyaml-test which
would in tuen clone yaml/libyaml-parser-emitter. Now they are part of
the repository since they are not really useful outside the repository.

They still clone the data branch of yaml/yaml-test-suite. That is where
all the actual test data resides. That belongs outside the repo because
it is intended for all yaml frameworks.
2016-12-30 11:09:58 -06:00
Ingy döt Net 26b098f267 Add Makefile support for yaml-test-suite
Add `test-suite` rule to Makefile.  This test clones the libyaml-test
repo (which then clones the libyaml-parser and libyaml-emitter repos)
and calls `make test` in it.  That in turn clone yaml/yaml-test suite.

Normally the subtests will clone the latest libyaml, but this test
passes the current libyaml via an environment variable.

Also add `test-all` to run this together with normal `make test` rule.
2016-12-17 14:50:24 -08:00
Ingy döt Net 9db8216095 Add make test target to Makefile 2016-09-14 22:44:18 -07:00
Kirill Simonov 01e8dadf4c Added a basic CMake project. 2014-01-12 18:27:39 -06:00
Kirill Simonov 242a44b6a6 Added support for pkg-config. 2011-05-29 05:29:39 +00:00
Kirill Simonov dded84b14d Added autoconf rules to distribute win32 project files. 2008-12-27 22:55:39 +00:00
Kirill Simonov 028f3e8709 Prepare the initial release. 2006-08-01 11:28:16 +00:00
Kirill Simonov 721c1923e4 Add doxygen support. 2006-05-21 14:58:32 +00:00
Kirill Simonov cec6fc98eb Add the basic autoconf infrastructure. 2006-05-20 22:43:15 +00:00