BASIS  version 1.2.3 (revision 2104)
Settings.cmake
Go to the documentation of this file.
00001 ##############################################################################
00002 # @file  Settings.cmake
00003 # @brief Non-default project settings.
00004 #
00005 # This file is included by basis_project_impl() after it looked for the
00006 # required and optional dependencies and the CMake variables related to the
00007 # project directory structure were defined (see BASISDirectories.cmake file
00008 # in @c PROJECT_BINARY_DIR, where BASIS is here the name of the project).
00009 # It is further included before the BasisSettings.cmake file.
00010 #
00011 # In particular, build options should be added in this file using CMake's
00012 # <a href="http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:option">
00013 # option()</a> command. Further, any common settings related to using a found
00014 # dependency can be set here if the basis_use_package() command was enable
00015 # to import the required configuration of a particular external package.
00016 #
00017 # Copyright (c) 2011, 2012 University of Pennsylvania. All rights reserved.<br />
00018 # See https://www.cbica.upenn.edu/sbia/software/license.html or COPYING file.
00019 #
00020 # Contact: SBIA Group <sbia-software at uphs.upenn.edu>
00021 #
00022 # @ingroup BasisSettings
00023 ##############################################################################
00024 
00025 # ============================================================================
00026 # options
00027 # ============================================================================
00028 
00029 option (USE_CXX "Enable use of C++ utilities" ON)
00030 
00031 set (BUILD_UTILITIES_FOR_CXX    ${USE_CXX})            # USE_CXX option
00032 set (BUILD_UTILITIES_FOR_PYTHON ${PythonInterp_FOUND}) # USE_PythonInterp option
00033 set (BUILD_UTILITIES_FOR_PERL   ${Perl_FOUND})         # USE_Perl option
00034 set (BUILD_UTILITIES_FOR_BASH   ${BASH_FOUND})         # USE_BASH option
00035 
00036 set (BASIS_UTILITIES_ENABLED) # set in BASISConfig.cmake for other projects
00037 if (BUILD_UTILITIES_FOR_CXX)
00038   list (APPEND BASIS_UTILITIES_ENABLED CXX)
00039 endif ()
00040 if (BUILD_UTILITIES_FOR_PYTHON)
00041   list (APPEND BASIS_UTILITIES_ENABLED PYTHON)
00042 endif ()
00043 if (BUILD_UTILITIES_FOR_PERL)
00044   list (APPEND BASIS_UTILITIES_ENABLED PERL)
00045 endif ()
00046 if (BUILD_UTILITIES_FOR_BASH)
00047   list (APPEND BASIS_UTILITIES_ENABLED BASH)
00048 endif ()
00049 
00050 # ============================================================================
00051 # directories
00052 # ============================================================================
00053 
00054 # installation directory of CMake modules
00055 set (INSTALL_MODULES_DIR "${INSTALL_SHARE_DIR}/cmake")
00056 
00057 # installation directory of utilities template files
00058 set (INSTALL_CXX_TEMPLATES_DIR    "${INSTALL_SHARE_DIR}/utilities/cxx")
00059 set (INSTALL_JAVA_TEMPLATES_DIR   "${INSTALL_SHARE_DIR}/utilities/java")
00060 set (INSTALL_PYTHON_TEMPLATES_DIR "${INSTALL_SHARE_DIR}/utilities/python")
00061 set (INSTALL_PERL_TEMPLATES_DIR   "${INSTALL_SHARE_DIR}/utilities/perl")
00062 set (INSTALL_BASH_TEMPLATES_DIR   "${INSTALL_SHARE_DIR}/utilities/bash")
00063 set (INSTALL_MATLAB_TEMPLATES_DIR "${INSTALL_SHARE_DIR}/utilities/matlab")
00064 
00065 # installation directory of project template files
00066 set (INSTALL_TEMPLATE_DIR "${INSTALL_SHARE_DIR}/template")
00067 
00068 # ============================================================================
00069 # general settings
00070 # ============================================================================
00071 
00072 # do not copy public header files to build tree
00073 set (BASIS_AUTO_PREFIX_INCLUDES FALSE)
00074 # specify regular expressions of public header files which are excluded
00075 # from the check whether their path is prefixed by INCLUDE_PREFIX
00076 set (BASIS_INCLUDES_CHECK_EXCLUDE
00077   "^sbia/gtest/"
00078   "^sbia/gmock/"
00079   "^sbia/tclap/"
00080 )
00081 
00082 # ============================================================================
00083 # utilities
00084 # ============================================================================
00085 
00086 # configure all BASIS utilities such that they are included in API
00087 # documentation even if BASIS does not use them itself
00088 if (BUILD_UTILITIES_FOR_JAVA)
00089   basis_set_project_property (PROPERTY PROJECT_USES_JAVA_UTILITIES TRUE)
00090 endif ()
00091 if (BUILD_UTILITIES_FOR_PYTHON)
00092   basis_set_project_property (PROPERTY PROJECT_USES_PYTHON_UTILITIES TRUE)
00093 endif ()
00094 if (BUILD_UTILITIES_FOR_PERL)
00095   basis_set_project_property (PROPERTY PROJECT_USES_PERL_UTILITIES TRUE)
00096 endif ()
00097 if (BUILD_UTILITIES_FOR_BASH)
00098   basis_set_project_property (PROPERTY PROJECT_USES_BASH_UTILITIES TRUE)
00099 endif ()
00100 if (BUILD_UTILITIES_FOR_MATLAB)
00101   basis_set_project_property (PROPERTY PROJECT_USES_MATLAB_UTILITIES TRUE)
00102 endif ()
00103 
00104 # target UIDs of BASIS libraries; these would be set by the package configuration
00105 # file if this BASIS project would not be BASIS itself
00106 if (BASIS_USE_FULLY_QUALIFIED_UIDS)
00107   set (BASIS_UTILITIES_LIBRARY "sbia.basis.utilities")
00108   set (BASIS_TEST_LIBRARY      "sbia.basis.testlib")
00109   set (BASIS_TEST_MAIN_LIBRARY "sbia.basis.testmain")
00110 else ()
00111   set (BASIS_UTILITIES_LIBRARY "utilities")
00112   set (BASIS_TEST_LIBRARY      "testlib")
00113   set (BASIS_TEST_MAIN_LIBRARY "testmain")
00114 endif ()