BasisProject.cmake
1 # ============================================================================
2 # Medical Image Registration ToolKit (MIRTK)
3 #
4 # Copyright 2013-2017 Imperial College London
5 # Copyright 2013-2018 Andreas Schuh
6 #
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 # http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 # ============================================================================
19 
20 #################################################################################
21 # @file BasisProject.cmake
22 # @brief Sets basic information about a BASIS Project and calls basis_project().
23 #
24 # This file defines basic information about a project by calling
25 # the basis_project() function. This basic information, also known as metadata,
26 # is used by BASIS to setup the project. Moreover, if the project is a module
27 # of another BASIS project, the dependencies to other modules have to be specified
28 # here such that the top-level project can analyze the inter-module dependencies.
29 #
30 # @sa https://cmake-basis.github.io/standard/modules.html
31 #
32 # However, not only dependencies to other modules can be specified here,
33 # but also dependencies on external packages. A more flexible alternative to
34 # resolve external dependencies is to add the corresponding basis_find_package()
35 # statements to the Depends.cmake file. This should, however, only be done
36 # if specifying the dependencies as arguments to the basis_project() function
37 # cannot be used to resolve the dependencies properly. If you only need to
38 # make use of additional variables set by the package configuration file
39 # of the external package or the corresponding Find<Package>.cmake module,
40 # add the related CMake code to the Settings.cmake file instead.
41 #
42 # @ingroup BasisSettings
43 ##############################################################################
44 
45 # Note: The #<*> dependency patterns are required by the basisproject tool and
46 # should be kept on a separate line as last commented argument of the
47 # corresponding options of the basis_project() command. The TEMPLATE
48 # option and set argument are also required by this tool and should not
49 # be changed manually. The argument is updated by basisproject --update.
50 
51 basis_project (
52  # --------------------------------------------------------------------------
53  # meta-data
54  NAME "MIRTK"
55  VERSION "2.0.0" # Version of core (+ external) modules
56  SOVERSION "0" # API yet unstable
57  AUTHORS "Andreas Schuh"
58  DESCRIPTION "Medical Image Registration ToolKit"
59  COPYRIGHT "2013-2018 Imperial College London, Andreas Schuh"
60  LICENSE "Apache License Version 2.0"
61  CONTACT "Andreas Schuh <andreas.schuh.84@gmail.com>"
62  TEMPLATE "with-basis-submodule/1.0"
63  LANGUAGES C CXX-11
64 
65  # --------------------------------------------------------------------------
66  # directories
67  CONFIG_DIR CMake/Config
68  DOC_DIR Documentation
69  MODULES_DIR Modules
70  TOOLS_DIR Applications
71  OTHER_DIRS CMake
72 
73  MODULE_DIRS
74  Packages/Deformable
75  Packages/Mapping
76  Packages/DrawEM
77  Packages/Scripting
78 
79  # --------------------------------------------------------------------------
80  # list of modules enabled by default
81  DEFAULT_MODULES
82  Common
83  Numerics
84  Image
85  IO
86  Transformation
87  Registration
88 
89  # --------------------------------------------------------------------------
90  # list of external modules
91  EXTERNAL_MODULES
92  Deformable
93  Mapping
94  DrawEM
95  Scripting
96 
97  # --------------------------------------------------------------------------
98  # dependencies
99  DEPENDS
100  #<dependency>
101  OPTIONAL_DEPENDS
102  #<optional-dependency>
103  TOOLS_DEPENDS
104  Python{Interp}
105  TEST_DEPENDS
106  #<test-dependency>
107  OPTIONAL_TEST_DEPENDS
108  #<optional-test-dependency>
109 )