-
Notifications
You must be signed in to change notification settings - Fork 1
/
CMakeLists.txt
115 lines (89 loc) · 2.99 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 (trademgen)
set_project_names (trademgen TraDemGen)
set_project_brief ("C++ Simulated Travel Demand Generation Library")
set_project_versions (1 00 11)
##
# 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 the corresponding
C++ implementation, able to generate demand for travel solutions (e.g.,
from JFK to PEK on 25-05-2009) according to characteristics (e.g.,
Willingness-To-Pay, preferred airline, etc).
${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 "python 3.4" "boost 1.41" "mysql 5.0" "soci 3.0"
readline curses "doxygen 1.4" "gcov 4.6.3" "lcov 1.9"
"stdair 1.00.0" "sevmgr 1.00.0")
##############################################
## Build, Install, Export ##
##############################################
##
# Initialise the building process
init_build ()
##
# Sub-modules
add_modules (${PROJECT_NAME})
##
# For other projects to use Trademgen, install a few helpers for standard
# build/packaging systems: CMake, GNU Autotools (M4), pkgconfig/pc,
# trademgen-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})
add_test_suite (sequential_generation)
#######################################
## GCOV ##
#######################################
gcov_task()
#######################################
## Overall Status ##
#######################################
display_status ()
#######################################
## CMake Cache Storage ##
#######################################
store_in_cache ()