BASIS  r3148
Settings

CMake modules defining settings for BASIS. More...

+ Collaboration diagram for Settings:

Files

file  BasisConfigSettings.cmake
 

Sets basic variables used in CMake package configuration.


file  BasisProject.cmake
 

Meta-data of this BASIS project.


file  BasisSettings.cmake
 

Default project-independent settings.


file  ConfigSettings.cmake
 

Sets variables used in CMake package configuration.


file  CTestCustom.cmake
 

Custom testing configuration.


file  Depends.cmake
 

Find additional dependencies.


file  ProjectSettings.cmake
 

Default project-dependent settings.


file  Settings.cmake
 

Non-default project settings.


Variables

cmake BASH_LIBRARY_TARGET
 Name of library target which builds Bash modules in PROJECT_LIBRARY_DIR.
option BASIS_ALL_DOC = OFF
 Advanced option to request build of documentation targets as part of ALL target.
option BASIS_COMPILE_MATLAB = ON
 Enable/Disable compilation of MATLAB sources if the MATLAB Compiler is available.
option BASIS_COMPILE_SCRIPTS = OFF
 Enable compilation of scripts if supported by the language.
option BASIS_DEBUG = OFF
 Request debugging messages from BASIS functions.
cmake BASIS_DOXYGEN_DOXYFILE
 Default Doxygen configuration.
cmake BASIS_EXPORT
 Whether to export build targets by default.
cmake BASIS_INSTALL_PUBLIC_HEADERS_OF_CXX_UTILITIES
 Force installation of public header files of BASIS C++ utilities.
option BASIS_INSTALL_SITE_PACKAGES = OFF
 Enable the installation of scripted modules in site specific default directories.
cmake BASIS_LANGUAGES
 List of programming languages explicitly supported by BASIS.
cmake BASIS_LIBRARY_COMPONENT
 Default component used for library targets when no component is specified.
string BASIS_MCC_FLAGS
 Compile flags used to build MATLAB Compiler targets.
cmake BASIS_MCC_RETRY_ATTEMPTS
 Maximum number of retries on MATLAB Compiler license checkout.
cmake BASIS_MCC_RETRY_DELAY
 Delay between retries to build MATLAB Compiler compiled targets on license checkout errors.
cmake BASIS_MEX_TIMEOUT
 Timeout for building MEX-file targets.
cmake BASIS_NAMESPACE_DELIMITER_BASH
 Namespace delimiter used in Bash.
cmake BASIS_NAMESPACE_DELIMITER_CXX
 Namespace delimiter used in C++.
cmake BASIS_NAMESPACE_DELIMITER_JYTHON
 Namespace delimiter used in Jython.
cmake BASIS_NAMESPACE_DELIMITER_MATLAB
 Namespace delimiter used in MATLAB.
cmake BASIS_NAMESPACE_DELIMITER_PERL
 Namespace delimiter used in Perl.
cmake BASIS_NAMESPACE_DELIMITER_PYTHON
 Namespace delimiter used in Python.
cmake BASIS_PROJECT_NAMESPACE_CMAKE
 CMake namespace of top-level project.
cmake BASIS_PROJECT_PACKAGE_CONFIG_PREFIX
 Prefix/name of CMake package configuration file of top-level project.
cmake BASIS_PROJECT_PACKAGE_UID
 UID of package in CMake's user package registry.
option BASIS_REGISTER = ON
 Enable/disable registration of installed package in CMake registry.
option BASIS_REVISION_INFO = ON
 Disable use of the revision information obtained from the revision control software such as Subversion.
cmake BASIS_RUNTIME_COMPONENT
 Default component used for executables when no component is specified.
cmake BASIS_SCRIPT_EXECUTE_PROCESS
 Script used to execute a process in CMake script mode.
cmake BASIS_SPHINX_CONFIG
 Default Sphinx configuration.
cmake BASIS_SPHINX_HTML_THEME
 Default Sphinx theme.
cmake BASIS_SVN_USERS_FILE
 File used by default as --authors file to svn2cl.
cmake BASIS_USE_FULLY_QUALIFIED_UIDS
 Names of project meta-data switches.
cmake BASIS_UTILITIES
 Specifies that the BASIS C++ utilities shall by default not be added as dependency of an executable.
option BASIS_VERBOSE = OFF
 Default Sphinx theme options.
option BUILD_DOCUMENTATION = OFF
 Request build/installation of documentation.
option BUILD_EXAMPLE = OFF
 Request build/installation of example.
string CMAKE_BUILD_TYPE
cmake CMAKE_BUILD_WITH_INSTALL_RPATH
cmake CMAKE_INSTALL_RPATH_USE_LINK_PATH
cmake CMAKE_SKIP_BUILD_RPATH
cmake HAVE_LONG_LONG
cmake HAVE_PTHREAD
cmake HAVE_SSTREAM
cmake HAVE_TR1_TUPLE
cmake JYTHON_LIBRARY_TARGET
 Name of library target which builds Jython modules in PROJECT_LIBRARY_DIR.
cmake MATLAB_LIBRARY_TARGET
 Name of library target which builds MATLAB modules in PROJECT_LIBRARY_DIR.
cmake PERL_LIBRARY_TARGET
 Name of library target which builds Perl modules in PROJECT_LIBRARY_DIR.
cmake PROJECT_NAMESPACE_CMAKE
 CMake namespace of project.
cmake PROJECT_NAMESPACE_JAVA
 CMake variable of Java package name of project.
cmake PROJECT_PACKAGE_CONFIG_PREFIX
 Prefix/name of CMake package configuration file.
cmake PYTHON_LIBRARY_TARGET
 Name of library target which builds Python modules in PROJECT_LIBRARY_DIR.

Detailed Description

CMake modules defining settings for BASIS.


Variable Documentation

Name of library target which builds Bash modules in PROJECT_LIBRARY_DIR.

This variable is used by basis_configure_script_libraries() which is called by basis_project_impl() to add a library target of the given name for the build of the Bash modules found in the PROJECT_LIBRARY_DIR.

Note:
The given target name is argument to the basis_add_library() command. Overwrite default value in Settings.cmake file of project if desired.

Definition at line 576 of file BasisSettings.cmake.

option BASIS_ALL_DOC = OFF

Advanced option to request build of documentation targets as part of ALL target.

Definition at line 583 of file BasisSettings.cmake.

option BASIS_COMPILE_MATLAB = ON

Enable/Disable compilation of MATLAB sources if the MATLAB Compiler is available.

Definition at line 39 of file MatlabTools.cmake.

option BASIS_COMPILE_SCRIPTS = OFF

Enable compilation of scripts if supported by the language.

In particular, Python modules are compiled if this option is enabled and only the compiled modules are installed.

See also:
basis_add_script_target()

Definition at line 426 of file BasisSettings.cmake.

option BASIS_DEBUG = OFF

Request debugging messages from BASIS functions.

Definition at line 613 of file BasisSettings.cmake.

Default Doxygen configuration.

Definition at line 587 of file BasisSettings.cmake.

cmake BASIS_EXPORT

Whether to export build targets by default.

Definition at line 410 of file BasisSettings.cmake.

Force installation of public header files of BASIS C++ utilities.

If this variable is set to FALSE, each header file in the PROJECT_INCLUDE_DIR is scanned for an include statement which includes one of the public header files of the BASIS C++ utilities. If such include statement was found in a public header file of the project, the public header files of the BASIS C++ utilities are also installed as the project's public header files depend on them. You can set this variable to TRUE in the Settings.cmake file of your project to force the installation of the public header files of the project-specific BASIS C++ utilities.

See also:
basis_install_public_headers()

Definition at line 484 of file BasisSettings.cmake.

Enable the installation of scripted modules in site specific default directories.

If this option is ON, scripted modules such as Python and Perl modules, in particular, are installed in the default installation directories for site packages of the respective interpreter. This means that these modules may be installed outside the installation root directory as specified by the CMAKE_INSTALL_PREFIX. When this option is set to OFF, all modules are installed in subdirectories of the CMAKE_INSTALL_PREFIX. These directories may have to be added to the search path for modules manually as they might not be in the default search path of the respective interpreter.

The installation directories for public modules which are intended for external use can further be set using the -D option of CMake or be modified by editing the respective advanced CMake cache variables named INSTALL_<LANGgt;_SITE_DIR.

Note:
Even though it is more convenient for the user of a package to have the modules being installed in the default directories, this option is set to OFF by default. The reasons are that it is in first place expected that the installation will copy files only to directories within the CMAKE_INSTALL_PREFIX. Moreover, it is not guaranteed that the user has write permissions for the default site packages directories. Last but not least, when installing public modules located in the PROJECT_LIBRARY_DIR source directory, BASIS does not set a default module PREFIX which reduces the risk of overwriting existing modules of other packages. If the developer of a BASIS package was not thorough enough and did not follow the guidelines, setting this option to ON has the potential risk of overwriting other packages' modules. Therefore, modules are only installed in system default locations if explicitly requested.

Definition at line 454 of file BasisSettings.cmake.

List of programming languages explicitly supported by BASIS.

Todo:
Add full support for Java.

Definition at line 497 of file BasisSettings.cmake.

Default component used for library targets when no component is specified.

The default component a library target and its auxiliary files are associated with if no component was specified, explicitly.

Definition at line 397 of file BasisSettings.cmake.

Initial value:
""


cmake BASIS_MCC_TIMEOUT

Compile flags used to build MATLAB Compiler targets.

Definition at line 70 of file MatlabTools.cmake.

Maximum number of retries on MATLAB Compiler license checkout.

Definition at line 83 of file MatlabTools.cmake.

Delay between retries to build MATLAB Compiler compiled targets on license checkout errors.

Definition at line 85 of file MatlabTools.cmake.

Timeout for building MEX-file targets.

Definition at line 87 of file MatlabTools.cmake.

Namespace delimiter used in Bash.

Note:
Bash itself has no concept of namespaces. This namespace delimiter is used by the import() function of the BASIS Utilities for Bash.
See also:
Bash Utilities

Definition at line 522 of file BasisSettings.cmake.

Namespace delimiter used in C++.

Definition at line 507 of file BasisSettings.cmake.

Namespace delimiter used in Jython.

Definition at line 511 of file BasisSettings.cmake.

Namespace delimiter used in MATLAB.

Definition at line 515 of file BasisSettings.cmake.

Namespace delimiter used in Perl.

Definition at line 513 of file BasisSettings.cmake.

Namespace delimiter used in Python.

Definition at line 509 of file BasisSettings.cmake.

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.

Definition at line 53 of file ProjectSettings.cmake.

Prefix/name of CMake package configuration file of top-level project.

Definition at line 146 of file ProjectSettings.cmake.

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.

See also:
http://www.cmake.org/Wiki/CMake/Tutorials/Package_Registry

Definition at line 158 of file ProjectSettings.cmake.

option BASIS_REGISTER = ON

Enable/disable registration of installed package in CMake registry.

Definition at line 487 of file BasisSettings.cmake.

option BASIS_REVISION_INFO = ON

Disable use of the revision information obtained from the revision control software such as Subversion.

If this option is TRUE, the revision information is not included in the PROJECT_RELEASE information.

Definition at line 417 of file BasisSettings.cmake.

Default component used for executables when no component is specified.

The default component an executable target and its auxiliary files are associated with if no component was specified, explicitly.

Definition at line 403 of file BasisSettings.cmake.

Script used to execute a process in CMake script mode.

In order to be able to assign a timeout to the execution of a custom command and to add some error message parsing, this script is used by some build rules to actually perform the build step. See for example, the build of executables using the MATLAB Compiler.

Definition at line 463 of file BasisSettings.cmake.

Default Sphinx configuration.

Definition at line 590 of file BasisSettings.cmake.

Default Sphinx theme.

Definition at line 593 of file BasisSettings.cmake.

File used by default as --authors file to svn2cl.

This file lists all Subversion users at SBIA and is used by default for the mapping of Subversion user names to real names during the generation of changelogs.

Definition at line 470 of file BasisSettings.cmake.

Names of project meta-data switches.

Names of project meta-data with only one argument. Names of project meta-data with multiple arguments. Names of project meta-data. Names of additional meta-data for Slicer modules with only one argument. Names of additional meta-data for Slicer modules with multiple arguments. Names of additional meta-data for Slicer modules. List of name patterns used for special purpose targets.

Contains a list of target name patterns that are used by the BASIS functions for special purposes and are hence not to be used for project targets. Names of recognized properties on targets.

Unfortunately, the ARGV and ARGN arguments of a CMake function() or macro() does not preserve values which themselves are lists. Therefore, it is not possible to distinguish between property names and their values in the arguments passed to set_target_properties() or basis_set_target_properties(). To overcome this problem, this list specifies all the possible property names. Everything else is considered to be a property value except the first argument follwing right after the PROPERTIES keyword. Alternatively, basis_set_property() can be used as here no disambiguity exists.

Note:
Placeholders such as <CONFIG> are allowed. These are treated as the regular expression "[^ ]+". See basis_list_to_regex().
See also:
http://www.cmake.org/cmake/help/cmake-2-8-docs.html#section_PropertiesonTargets Whether BASIS shall use fully-qualified target UIDs.

If this option is OFF, the namespace of the top-level BASIS project is not prepended to the actual CMake build target names.

For example, instead of the fully-qualified target UID "sbia.@PROJECT_NAME_L@.target", the CMake target name will simply be "target". Only when the target is referenced from another project, the fully-qualified target UID is usually required.

Definition at line 391 of file BasisSettings.cmake.

Specifies that the BASIS C++ utilities shall by default not be added as dependency of an executable.

Definition at line 407 of file BasisSettings.cmake.

option BASIS_VERBOSE = OFF

Default Sphinx theme options.

Request verbose messages from BASIS functions.

Definition at line 609 of file BasisSettings.cmake.

option BUILD_DOCUMENTATION = OFF

Request build/installation of documentation.

Definition at line 36 of file ProjectSettings.cmake.

option BUILD_EXAMPLE = OFF

Request build/installation of example.

Definition at line 41 of file ProjectSettings.cmake.

Initial value:
"Release"















cmake CMAKE_SKIP_RPATH

Definition at line 625 of file BasisSettings.cmake.

Definition at line 644 of file BasisSettings.cmake.

Definition at line 643 of file BasisSettings.cmake.

Definition at line 642 of file BasisSettings.cmake.

Definition at line 35 of file BasisSettings.cmake.

cmake HAVE_PTHREAD

Definition at line 104 of file BasisSettings.cmake.

cmake HAVE_SSTREAM

Definition at line 81 of file BasisSettings.cmake.

Definition at line 88 of file BasisSettings.cmake.

Name of library target which builds Jython modules in PROJECT_LIBRARY_DIR.

This variable is used by basis_configure_script_libraries() which is called by basis_project_impl() to add a library target of the given name for the build of the Jython modules found in the PROJECT_LIBRARY_DIR.

Note:
The given target name is argument to the basis_add_library() command. Overwrite default value in Settings.cmake file of project if desired.

Definition at line 546 of file BasisSettings.cmake.

Name of library target which builds MATLAB modules in PROJECT_LIBRARY_DIR.

This variable is used by basis_configure_script_libraries() which is called by basis_project_impl() to add a library target of the given name for the build of the MATLAB modules found in the PROJECT_LIBRARY_DIR.

Note:
The given target name is argument to the basis_add_library() command. Overwrite default value in Settings.cmake file of project if desired.

Definition at line 566 of file BasisSettings.cmake.

Name of library target which builds Perl modules in PROJECT_LIBRARY_DIR.

This variable is used by basis_configure_script_libraries() which is called by basis_project_impl() to add a library target of the given name for the build of the Perl modules found in the PROJECT_LIBRARY_DIR.

Note:
The given target name is argument to the basis_add_library() command. Overwrite default value in Settings.cmake file of project if desired.

Definition at line 556 of file BasisSettings.cmake.

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.

See also:
basis_make_target_uid()
basis_get_target_uid()
basis_make_test_uid()
basis_get_test_uid()

Definition at line 65 of file ProjectSettings.cmake.

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.

Definition at line 85 of file ProjectSettings.cmake.

Prefix/name of CMake package configuration file.

Definition at line 149 of file ProjectSettings.cmake.

Name of library target which builds Python modules in PROJECT_LIBRARY_DIR.

This variable is used by basis_configure_script_libraries() which is called by basis_project_impl() to add a library target of the given name for the build of the Python modules found in the PROJECT_LIBRARY_DIR.

Note:
The given target name is argument to the basis_add_library() command. Overwrite default value in Settings.cmake file of project if desired.

Definition at line 536 of file BasisSettings.cmake.