# ============================================================================ # Copyright (c) 2011-2012 University of Pennsylvania # Copyright (c) 2013-2014 Andreas Schuh # All rights reserved. # # See COPYING file for license information or visit # http://opensource.andreasschuh.com/cmake-basis/download.html#license # ============================================================================ ############################################################################## # @file ProjectSettings.cmake # @brief Default project-dependent settings. # # @note The file ProjectSettings.cmake is automatically generated by # BASIS from the template file ProjectSettings.cmake.in which is part # of the BASIS installation. # # @note More general, project-independent settings are defined in the file # BasisSettings.cmake which is part of the BASIS installation. # # This module defines global CMake constants and variables which are used # by the BASIS CMake functions and macros. Hence, these values can be used # to configure the behavior of these functions to some extent without the # need to modify the functions themselves. It's main purpose is the # documentation of these variables with the configured values. # # @ingroup BasisSettings ############################################################################## ## @addtogroup BasisSettings # @{ # ============================================================================ # options # ============================================================================ ## @brief Request build/installation of documentation. if (EXISTS "${PROJECT_DOC_DIR}/CMakeLists.txt") option (BUILD_DOCUMENTATION "Request build and/or installation of documentation." OFF) endif () ## @brief Request build/installation of example. if (EXISTS "${PROJECT_EXAMPLE_DIR}/CMakeLists.txt") option (BUILD_EXAMPLE "Request build and/or installation of example." OFF) endif () ## @brief Request build/installation of applications. if (PROJECT_HAS_APPLICATIONS) if (NOT BUILD_APPLICATIONS_DEFAULT) set (BUILD_APPLICATIONS_DEFAULT OFF) endif () option(BUILD_APPLICATIONS "Request build and/or installation of applications." ${BUILD_APPLICATIONS_DEFAULT}) endif () # ============================================================================ # project namespaces # ============================================================================ ## @brief CMake namespace of top-level project. # # This is the common namespace of a BASIS project and its modules. # It is the part of the namespace which is only required if the project's # targets are referenced from another project, but not within the project. set (TOPLEVEL_PROJECT_NAMESPACE_CMAKE "@_TOPLEVEL_NAMESPACE_CMAKE@") ## @brief CMake namespace of project. # # The CMake namespace of a BASIS project is made up of its name in lower case # only as well as the namespace the project belongs to, i.e., the namespace of # the project this project is a module of. # # @sa basis_make_target_uid() # @sa basis_get_target_uid() # @sa basis_make_test_uid() # @sa basis_get_test_uid() set (PROJECT_NAMESPACE_CMAKE "@_NAMESPACE_CMAKE@") ## @brief CMake variable of C++ namespace of project. # # The C++ namespace of a BASIS project is made up of the vendor name and the name # of the package itself. Moreover, if the project is a module of another project, # the name of the module may optionally be used as part of the namespace as well. # Namespaces in C++ are usually in lowercase only. # # @ingroup BasisCxxUtilities set (PROJECT_NAMESPACE_CXX "@_NAMESPACE_CXX@") ## @brief CMake variable of Java package name of project. # # The Java package name of a BASIS project is made up of the vendor name and the name # of the package itself. Moreover, if the project is a module of another project, # the name of the module may optionally be used as part of the namespace as well. # Names of packages and sub-packages in Java are usually in lowercase only. # # @ingroup BasisJavaUtilities set (PROJECT_NAMESPACE_JAVA "@_NAMESPACE_JAVA@") ## @brief CMake variable of Python package name of project. # # The Python package name of a BASIS project is made up of the vendor name and the name # of the package itself. Moreover, if the project is a module of another project, # the name of the module may optionally be used as part of the namespace as well. # Names of packages and sub-packages in Python are usually in lowercase only. # # @ingroup BasisPythonUtilities set (PROJECT_NAMESPACE_PYTHON "@_NAMESPACE_PYTHON@") ## @brief CMake variable of Jython package name of project. # # The Jython package name of a BASIS project is made up of the vendor name and the name # of the package itself. Moreover, if the project is a module of another project, # the name of the module may optionally be used as part of the namespace as well. # Names of packages and sub-packages in Jython are usually in lowercase only. # # @ingroup BasisPythonUtilities set (PROJECT_NAMESPACE_JYTHON "@_NAMESPACE_JYTHON@") ## @brief CMake variable of Perl package name of project. # # The Perl package name of a BASIS project is made up of the vendor name and the name # of the package itself. Moreover, if the project is a module of another project, # the name of the module may optionally be used as part of the namespace as well. # Names of packages and sub-packages in Perl are usually in mixed CamelCase starting # with an uppercase letter. Note that Perl informally reserves lowercase module names # for "pragma" modules such as <tt>integer</tt> and <tt>strict</tt>. # # @ingroup BasisPerlUtilities set (PROJECT_NAMESPACE_PERL "@_NAMESPACE_PERL@") ## @brief CMake variable of BASH namespace of project. # # In BASH, there exists no such concept of a namespace or package. However, # variable and function names defined in a module which is supposed to be # sourced by other BASH scripts should use a unique prefix for variable and # function names. # # @ingroup BasisBashUtilities set (PROJECT_NAMESPACE_BASH "@_NAMESPACE_BASH@") ## @brief CMake variable of MATLAB package name of project. # # The MATLAB package name of a BASIS project is made up of its name in lower case # only as well as the package name of the project it belongs to. # # For information on MATLAB's package and class folders, visit the following # web page from MathWorks: # @sa http://www.mathworks.com/help/techdoc/matlab_oop/brfynt_-1.html # # @ingroup BasisMatlabUtilities set (PROJECT_NAMESPACE_MATLAB "@_NAMESPACE_MATLAB@") # ============================================================================ # package configuration # ============================================================================ ## @brief Prefix/name of CMake package configuration file of top-level project. set (TOPLEVEL_PROJECT_PACKAGE_CONFIG_PREFIX "@_TOPLEVEL_PROJECT_PACKAGE_CONFIG_PREFIX@") ## @brief Prefix/name of CMake package configuration file. set (PROJECT_PACKAGE_CONFIG_PREFIX "@_PROJECT_PACKAGE_CONFIG_PREFIX@") ## @brief UID of package in CMake's user package registry. # # The value of this variable is used as name for the registry file which # contains the path to the package configuration file on Unix, or the name # of the Windows registry key on Windows. # # @sa http://www.cmake.org/Wiki/CMake/Tutorials/Package_Registry set (TOPLEVEL_PROJECT_PACKAGE_UID "@_TOPLEVEL_PROJECT_PACKAGE_UID@") ## @} # end of Doxygen group