annotate yaml/CMakeLists.txt @ 64:58ade32642d6

cmake: don't force STATIC builds, closes #879 @5m
author David Demelier <markand@malikania.fr>
date Fri, 13 Jul 2018 12:35:42 +0200
parents b3c185090dc2
children 46012b0dea51
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 # CMakeLists.txt -- CMake build system for libyaml
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 #
58
e505b2708c99 misc: update copyrights
David Demelier <markand@malikania.fr>
parents: 31
diff changeset
4 # Copyright (c) 2016-2018 David Demelier <markand@malikania.fr>
1
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 #
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # Permission to use, copy, modify, and/or distribute this software for any
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # copyright notice and this permission notice appear in all copies.
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 #
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 #
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 cmake_minimum_required(VERSION 3.0)
62
6b612e43bfee cmake: prefix libraries with lib, closes #880 @10m
David Demelier <markand@malikania.fr>
parents: 58
diff changeset
20 project(libyaml C)
1
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 set(YAML_VERSION_MAJOR 0)
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 set(YAML_VERSION_MINOR 1)
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 set(YAML_VERSION_PATCH 5)
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 set(YAML_VERSION_STRING "${YAML_VERSION_MAJOR}.${YAML_VERSION_MINOR}.${YAML_VERSION_PATCH}")
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
26
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 set(
17
b63f9c593c90 misc: switch to spaces
David Demelier <markand@malikania.fr>
parents: 7
diff changeset
28 SOURCES
62
6b612e43bfee cmake: prefix libraries with lib, closes #880 @10m
David Demelier <markand@malikania.fr>
parents: 58
diff changeset
29 ${libyaml_SOURCE_DIR}/src/api.c
6b612e43bfee cmake: prefix libraries with lib, closes #880 @10m
David Demelier <markand@malikania.fr>
parents: 58
diff changeset
30 ${libyaml_SOURCE_DIR}/src/dumper.c
6b612e43bfee cmake: prefix libraries with lib, closes #880 @10m
David Demelier <markand@malikania.fr>
parents: 58
diff changeset
31 ${libyaml_SOURCE_DIR}/src/emitter.c
6b612e43bfee cmake: prefix libraries with lib, closes #880 @10m
David Demelier <markand@malikania.fr>
parents: 58
diff changeset
32 ${libyaml_SOURCE_DIR}/src/loader.c
6b612e43bfee cmake: prefix libraries with lib, closes #880 @10m
David Demelier <markand@malikania.fr>
parents: 58
diff changeset
33 ${libyaml_SOURCE_DIR}/src/parser.c
6b612e43bfee cmake: prefix libraries with lib, closes #880 @10m
David Demelier <markand@malikania.fr>
parents: 58
diff changeset
34 ${libyaml_SOURCE_DIR}/src/reader.c
6b612e43bfee cmake: prefix libraries with lib, closes #880 @10m
David Demelier <markand@malikania.fr>
parents: 58
diff changeset
35 ${libyaml_SOURCE_DIR}/src/scanner.c
6b612e43bfee cmake: prefix libraries with lib, closes #880 @10m
David Demelier <markand@malikania.fr>
parents: 58
diff changeset
36 ${libyaml_SOURCE_DIR}/src/writer.c
6b612e43bfee cmake: prefix libraries with lib, closes #880 @10m
David Demelier <markand@malikania.fr>
parents: 58
diff changeset
37 ${libyaml_SOURCE_DIR}/src/yaml_private.h
1
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 )
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
39
64
58ade32642d6 cmake: don't force STATIC builds, closes #879 @5m
David Demelier <markand@malikania.fr>
parents: 63
diff changeset
40 add_library(libyaml ${SOURCES})
62
6b612e43bfee cmake: prefix libraries with lib, closes #880 @10m
David Demelier <markand@malikania.fr>
parents: 58
diff changeset
41 set_target_properties(libyaml PROPERTIES PREFIX "")
1
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
42
63
b3c185090dc2 cmake: use BUILD_INTERFACE, closes #881 @10m
David Demelier <markand@malikania.fr>
parents: 62
diff changeset
43 target_include_directories(
b3c185090dc2 cmake: use BUILD_INTERFACE, closes #881 @10m
David Demelier <markand@malikania.fr>
parents: 62
diff changeset
44 libyaml
b3c185090dc2 cmake: use BUILD_INTERFACE, closes #881 @10m
David Demelier <markand@malikania.fr>
parents: 62
diff changeset
45 PUBLIC
b3c185090dc2 cmake: use BUILD_INTERFACE, closes #881 @10m
David Demelier <markand@malikania.fr>
parents: 62
diff changeset
46 $<BUILD_INTERFACE:${libyaml_SOURCE_DIR}/include>
b3c185090dc2 cmake: use BUILD_INTERFACE, closes #881 @10m
David Demelier <markand@malikania.fr>
parents: 62
diff changeset
47 )
1
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 target_compile_definitions(
62
6b612e43bfee cmake: prefix libraries with lib, closes #880 @10m
David Demelier <markand@malikania.fr>
parents: 58
diff changeset
49 libyaml
17
b63f9c593c90 misc: switch to spaces
David Demelier <markand@malikania.fr>
parents: 7
diff changeset
50 PRIVATE
b63f9c593c90 misc: switch to spaces
David Demelier <markand@malikania.fr>
parents: 7
diff changeset
51 YAML_DECLARE_STATIC
b63f9c593c90 misc: switch to spaces
David Demelier <markand@malikania.fr>
parents: 7
diff changeset
52 YAML_VERSION_MAJOR=${YAML_VERSION_MAJOR}
b63f9c593c90 misc: switch to spaces
David Demelier <markand@malikania.fr>
parents: 7
diff changeset
53 YAML_VERSION_MINOR=${YAML_VERSION_MINOR}
b63f9c593c90 misc: switch to spaces
David Demelier <markand@malikania.fr>
parents: 7
diff changeset
54 YAML_VERSION_PATCH=${YAML_VERSION_PATCH}
62
6b612e43bfee cmake: prefix libraries with lib, closes #880 @10m
David Demelier <markand@malikania.fr>
parents: 58
diff changeset
55 YAML_VERSION_STRING="${YAML_VERSION_STRING}"
1
4d89bd8a3f7f yaml: import 0.1.5
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 )
7
5f50c00a3472 yaml: fix MSVC 2015 warnings
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
57
5f50c00a3472 yaml: fix MSVC 2015 warnings
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
58 if (MSVC)
62
6b612e43bfee cmake: prefix libraries with lib, closes #880 @10m
David Demelier <markand@malikania.fr>
parents: 58
diff changeset
59 target_compile_definitions(libyaml PUBLIC _CRT_SECURE_NO_WARNINGS)
6b612e43bfee cmake: prefix libraries with lib, closes #880 @10m
David Demelier <markand@malikania.fr>
parents: 58
diff changeset
60 target_compile_options(libyaml PUBLIC /wd4244 /wd4267 /wd4996)
7
5f50c00a3472 yaml: fix MSVC 2015 warnings
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
61 endif ()