forked from cmake-basis/BASIS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
BasisProject.cmake
119 lines (115 loc) · 5.03 KB
/
BasisProject.cmake
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
116
117
118
119
# ============================================================================
# Copyright (c) 2011-2012 University of Pennsylvania
# Copyright (c) 2013-2014 Carnegie Mellon University
# Copyright (c) 2013-2016 Andreas Schuh
# All rights reserved.
#
# See COPYING file for license information or visit
# https://cmake-basis.github.io/download.html#license
# ============================================================================
##############################################################################
# @file BasisProject.cmake
# @brief Sets basic information about a BASIS Project and calls basis_project().
#
# This file defines basic information about a project by calling
# the basis_project() function. This basic information, also known as metadata,
# is used by BASIS to setup the project. Moreover, if the project is a module
# of another BASIS project, the dependencies to other modules have to be specified
# here such that the top-level project can analyze the inter-module dependencies.
#
# @sa https://cmake-basis.github.io/standard/modules.html
#
# However, not only dependencies to other modules can be specified here,
# but also dependencies on external packages. A more flexible alternative to
# resolve external dependencies is to add the corresponding basis_find_package()
# statements to the Depends.cmake file. This should, however, only be done
# if specifying the dependencies as arguments to the basis_project() function
# cannot be used to resolve the dependencies properly. If you only need to
# make use of additional variables set by the package configuration file
# of the external package or the corresponding Find<Package>.cmake module,
# add the related CMake code to the Settings.cmake file instead.
#
# Example:
# @code
# basis_project (
# # ------------------------------------------------------------------------
# # meta-data
# NAME MyProject
# PACKAGE_VENDOR shortvname # Note: Part of default CMAKE_INSTALL_PREFIX
# VERSION 1.1.5
# DESCRIPTION "This is the description of the project, which is useful for this"
# " important thing and that important thing."
# " MyProject follows the BASIS implementation standard."
# AUTHOR "Ima Nauthor"
# PROVIDER_NAME "Great Product Co"
# PROVIDER_WEBSITE "http://www.greatproductcompany.com"
# PROVIDER_LOGO "${PROJECT_SOURCE_DIR}/doc/logo.png"
# DIVISION_NAME "Awesome App Division"
# DIVISION_WEBSITE "http://www.awesomeapp.greatproductcompany.com"
# DIVISION_LOGO ""${PROJECT_SOURCE_DIR}/doc/division_logo.png""
# COPYRIGHT "Copyright (c) 2014 Great Product Co"
# LICENSE "See COPYING file."
# CONTACT "Contact <info@greatproductcompany.com>"
# # ------------------------------------------------------------------------
# # dependencies
# DEPENDS
# NiftiCLib
# Python{Interp}
# OPTIONAL_DEPENDS
# Jython{Interp}
# Perl
# MATLAB{matlab}
# BASH
# Doxygen
# Sphinx{build}
# TEST_DEPENDS
# Perl
# OPTIONAL_TEST_DEPENDS
# MATLAB{mex}
# MATLAB{mcc}
# )
# @endcode
#
# @ingroup BasisSettings
##############################################################################
# Note: The #<*dependency> patterns are required by the basisproject tool
# and should be kept on a separate line as last commented argument of
# the corresponding options of the basis_project() command.
basis_project (
# --------------------------------------------------------------------------
# meta-data
NAME "BASIS"
VERSION "0.0.0"
AUTHORS "Andreas Schuh"
DESCRIPTION "This package implements and supports the development of "
"software which follows the CMake Build system And Software "
"Implementation Standard (BASIS)."
WEBSITE "https://cmake-basis.github.io"
COPYRIGHT "2011-12 University of Pennsylvania, 2013-14 Carnegie Mellon University, 2013-16 Andreas Schuh"
LICENSE "See https://cmake-basis.github.io/download.html#license or COPYING file."
CONTACT "andreas.schuh.84@gmail.com"
TEMPLATE "basis/1.4"
PACKAGE_LOGO "doc/static/logo.svg"
# --------------------------------------------------------------------------
# dependencies
DEPENDS
#<dependency>
OPTIONAL_DEPENDS
Python{Interp} # enables support for Python if package found
Jython{Interp} # enables support for Jython if package found
Perl # enables support for Perl if package found
MATLAB{matlab} # enabled support for MATLAB if package found
BASH # enables support for Bash if package found
#<optional-dependency>
TOOLS_DEPENDS
Perl
Python{Interp}
OPTIONAL_TOOLS_DEPENDS
ITK # optionally used by basistest-driver, TODO: get rid of this dependency
TEST_DEPENDS
#<test-dependency>
OPTIONAL_TEST_DEPENDS
MATLAB{mex} # enables test of MEX-file generation
MATLAB{mcc} # enables test of MATLAB .m file compilation
#<optional-test-dependency>
)