-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
116 lines (90 loc) · 3.06 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#
cmake_minimum_required (VERSION 3.15..)
##
# CMake macros for the project
include (config/project_config_embeddable.cmake)
##
# Project info
project (tvlsim)
set_project_names (tvlsim TvlSim)
set_project_brief ("C++ Simulated Travel-Oriented Distribution System Library")
set_project_versions (1 01 8)
##
# Project options
# The parameters are:
# * whether or not the documentation must be built and installed
# * whether or not the tests must be compiled and run
# * whether or not the code coverage must be performed
set_project_options (on on off)
#####################################
## Packaging ##
#####################################
#
packaging_init (${PROJECT_NAME})
packaging_set_summary (
"${PROJECT_NAME} aims at providing a clean API and a simple implementation,
as a C++ library, of a Travel-oriented Distribution System.
It corresponds to the simulated version of the real-world
Computerized Reservation Systems (CRS).
${PROJECT_NAME} makes an extensive use of existing open-source libraries for
increased functionality, speed and accuracy. In particular the Boost
(C++ Standard Extensions: http://www.boost.org) library is used.")
packaging_set_contact ("Denis Arnaud <denis_arnaud - at - users dot sourceforge dot net>")
packaging_set_vendor ("Denis Arnaud")
#
packaging_set_other_options (TBZ2 "TBZ2;TGZ")
########################################
## Dependencies ##
########################################
#
get_external_libs (git "boost 1.41" "mysql 5.0" "soci 3.0"
"zeromq 2.0" readline curses "doxygen 1.4" "gcov 4.6.3" "lcov 1.9"
"stdair 1.00.0" "airtsp 1.01.0" "airrac 1.00.0" "rmol 1.00.0"
"sevmgr 1.00.0" "airinv 1.00.0" "simfqt 1.00.0"
"trademgen 1.00.0" "travelccm 1.00.0" "simcrs 1.00.0")
##############################################
## Build, Install, Export ##
##############################################
##
# Initialise the building process
init_build ()
##
# Sub-modules
add_modules (${PROJECT_NAME})
##
# For other projects to use TvlSim, install a few helpers for standard
# build/packaging systems: CMake, GNU Autotools (M4), pkgconfig/pc,
# tvlsim-config
install_dev_helper_files ()
##
# Basic documentation (i.e., AUTHORS, NEWS, README, INSTALL)
install_basic_documentation ()
##########################################
## Documentation ##
##########################################
#
handle_html_doc ()
##
# Subdirs
add_subdirectory (man)
#####################################
## Tests ##
#####################################
##
# Initialise the unit test process
init_test ()
##
# Test suites
add_test_suite (${PROJECT_NAME})
#######################################
## GCOV ##
#######################################
gcov_task()
#######################################
## Overall Status ##
#######################################
display_status ()
#######################################
## CMake Cache Storage ##
#######################################
store_in_cache ()