Go to the documentation of this file.00001 ##############################################################################
00002 # @file BASISConfig.cmake
00003 # @brief CMake package configuration file.
00004 #
00005 # @note The BASISConfig.cmake file is automatically generated
00006 # by BASIS from the template file Config.cmake.in which is part of
00007 # this package.
00008 #
00009 # Variables in this file have to be prefixed by the name of this package.
00010 # In the default package configuration file of BASIS, which can be included
00011 # here using the \@BASIS_CONFIG\@ variable, this prefix is defined as @c NS
00012 # variable. Moreover, the macro basis_set_config() should be used for
00013 # convenience to set any configuration variable, e.g.,
00014 #
00015 # @code
00016 # basis_set_config (INCLUDE_DIR "\@INCLUDE_DIR_CONFIG\@")
00017 # @endcode
00018 #
00019 # where the variable @c INCLUDE_DIR_CONFIG is set in the ConfigSettings.cmake
00020 # file of the BASIS installation. Note that this statement will set the
00021 # variable ${NS}INCLUDE_DIR, where by default @c NS is the package name
00022 # followed by an underscore (_).
00023 #
00024 # See the %Config.cmake.in file of BASIS for details.
00025 #
00026 # Copyright (c) 2011, 2012 University of Pennsylvania. All rights reserved.<br />
00027 # See https://www.cbica.upenn.edu/sbia/software/license.html or COPYING file.
00028 #
00029 # Contact: SBIA Group <sbia-software at uphs.upenn.edu>
00030 #
00031 # @ingroup BasisConfig
00032 ##############################################################################
00033
00034 ## @addtogroup BasisConfig
00035 # @{
00036
00037
00038 # ============================================================================
00039 # namespace
00040 # ============================================================================
00041
00042 # prefix used for variable names
00043 set (NS "BASIS_")
00044
00045 # allow caller to change namespace - used by projects with modules
00046 if (${NS}CONFIG_PREFIX)
00047 set (NS "${${NS}CONFIG_PREFIX}")
00048 endif ()
00049
00050 # ----------------------------------------------------------------------------
00051 macro (basis_set_config NAME)
00052 set (${NS}${NAME} ${ARGN})
00053 endmacro ()
00054
00055 # ----------------------------------------------------------------------------
00056 macro (basis_copy_config NAME SRC)
00057 set (${NS}${NAME} ${${NS}${SRC}})
00058 endmacro ()
00059
00060 # ----------------------------------------------------------------------------
00061 macro (basis_append_config NAME)
00062 list (APPEND ${NS}${NAME} ${ARGN})
00063 endmacro ()
00064
00065 # ----------------------------------------------------------------------------
00066 macro (basis_remove_duplicates_config NAME)
00067 if (${NS}${NAME})
00068 list (REMOVE_DUPLICATES ${NS}${NAME})
00069 endif ()
00070 endmacro ()
00071
00072 # ============================================================================
00073 # general
00074 # ============================================================================
00075
00076 ## @brief Absolute path of installation prefix or root of build tree.
00077 basis_set_config (INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}/../../../")
00078 get_filename_component (${NS}INSTALL_PREFIX "${${NS}INSTALL_PREFIX}" ABSOLUTE)
00079
00080 ## @brief Absolute path of project use file which is included by other projects.
00081 basis_set_config (USE_FILE "${CMAKE_CURRENT_LIST_DIR}/BASISUse.cmake")
00082
00083 # ============================================================================
00084 # libraries
00085 # ============================================================================
00086
00087 ## @brief Prefix required for including header files of this package.
00088 basis_set_config (INCLUDE_PREFIX "sbia/basis/")
00089
00090 ## @brief Directory of header files.
00091 basis_set_config (INCLUDE_DIR "${${NS}INSTALL_PREFIX}/include")
00092
00093 ## @brief Directory of header files including dependencies.
00094 basis_set_config (INCLUDE_DIRS) # to have a set recognized by Doxygen filter
00095 basis_copy_config (INCLUDE_DIRS INCLUDE_DIR)
00096 basis_append_config (INCLUDE_DIRS "")
00097
00098 ## @brief Directory of libraries.
00099 basis_set_config (LIBRARY_DIR "${${NS}INSTALL_PREFIX}/lib")
00100
00101 ## @brief Directory of libraries including dependencies.
00102 basis_set_config (LIBRARY_DIRS) # to have a set recognized by Doxygen filter
00103 basis_copy_config (LIBRARY_DIRS LIBRARY_DIR)
00104 basis_append_config (LIBRARY_DIRS "")
00105
00106 ## @brief Search path for Python package.
00107 basis_set_config (PYTHON_LIBRARY_DIR "${${NS}INSTALL_PREFIX}/lib/python")
00108
00109 ## @brief Search path for Perl packages.
00110 basis_set_config (PERL_LIBRARY_DIR "${${NS}INSTALL_PREFIX}/lib/perl5")
00111
00112 # ============================================================================
00113 # exports
00114 # ============================================================================
00115
00116 ## @brief Absolute path of exports file to be included by other projects.
00117 basis_set_config (EXPORTS_FILE "${CMAKE_CURRENT_LIST_DIR}/BASISExports.cmake")
00118
00119 ## @brief Absolute path of custom exports file to be included by other projects.
00120 basis_set_config (CUSTOM_EXPORTS_FILE "${CMAKE_CURRENT_LIST_DIR}/BASISCustomExports.cmake")
00121
00122 # ============================================================================
00123 # modules
00124 # ============================================================================
00125
00126 # following statements only valid for top-level projects, not modules
00127 if (NOT FALSE)
00128 ## @brief List of project modules.
00129 basis_set_config (MODULES "")
00130
00131 ## @brief List of built project modules.
00132 basis_set_config (MODULES_ENABLED "")
00133
00134 ## @brief List of modules requested by external package using the
00135 # @c COMPONENTS argument of
00136 # <a href="http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:find_package">
00137 # find_package()</a>.
00138 if (${NS}FIND_COMPONENTS)
00139 basis_set_config (MODULES_REQUESTED "${${NS}FIND_COMPONENTS}")
00140 endif()
00141 if(NOT ${NS}MODULES_REQUESTED)
00142 basis_set_config (MODULES_REQUESTED "${${NS}MODULES_ENABLED}")
00143 endif()
00144
00145 foreach (${NS}MODULE IN LISTS ${NS}MODULES_REQUESTED)
00146 # include configuration files of modules
00147 set (${${NS}MODULE}_CONFIG_PREFIX "${NS}${MODULE}_")
00148 include ("lib/cmake/basis/${${NS}MODULE}/${${NS}MODULE}Config.cmake")
00149 unset (${${NS}MODULE}_CONFIG_PREFIX)
00150 # append include directories
00151 if (${NS}${${NS}MODULE}_INCLUDE_DIRS)
00152 basis_append_config (INCLUDE_DIRS ${${NS}${${NS}MODULE}_INCLUDE_DIRS})
00153 elseif (${NS}${M}_INCLUDE_DIR)
00154 basis_append_config (INCLUDE_DIRS ${${NS}${${NS}MODULE}_INCLUDE_DIR})
00155 endif ()
00156 # append library directories
00157 if (${NS}${${NS}MODULE}_LIBRARY_DIRS)
00158 basis_append_config (LIBRARY_DIRS ${${NS}${${NS}MODULE}_LIBRARY_DIRS})
00159 elseif (${NS}${${NS}MODULE}_LIBARY_DIR)
00160 basis_append_config (LIBRARY_DIRS ${${NS}${${NS}MODULE}_LIBRARY_DIR})
00161 endif ()
00162 endforeach ()
00163 unset (${NS}MODULE)
00164 endif ()
00165
00166 basis_remove_duplicates_config (INCLUDE_DIR)
00167 basis_remove_duplicates_config (INCLUDE_DIRS)
00168 basis_remove_duplicates_config (LIBRARY_DIR)
00169 basis_remove_duplicates_config (LIBRARY_DIRS)
00170
00171 # ============================================================================
00172 # BASIS configuration
00173 # ============================================================================
00174
00175 # ----------------------------------------------------------------------------
00176 # CMake modules
00177
00178 ## @brief Absolute path to CMake modules.
00179 basis_set_config (MODULE_PATH "${${NS}INSTALL_PREFIX}/share/cmake")
00180
00181 # ----------------------------------------------------------------------------
00182 # project template
00183
00184 ## @brief Top directory of project template.
00185 basis_set_config (TEMPLATE_DIR "${${NS}INSTALL_PREFIX}/share/template-1.3")
00186
00187 # ----------------------------------------------------------------------------
00188 # utilities
00189
00190 ## @brief List of enabled BASIS utilities.
00191 basis_set_config (UTILITIES_ENABLED "CXX;PYTHON;PERL;BASH")
00192
00193 ## @brief Python interpreter used to build/configure BASIS Python modules.
00194 basis_set_config (PYTHON_EXECUTABLE "/sbiasfw/external/python/2.5.2/bin/python")
00195 ## @brief Perl interpreter used to build/configure BASIS Perl modules.
00196 basis_set_config (PERL_EXECUTABLE "/usr/bin/perl")
00197 ## @brief BASH executable used to build/configure BASIS BASH modules.
00198 basis_set_config (BASH_EXECUTABLE "/bin/bash")
00199
00200 ## @brief Absolute path to C++ utilities files.
00201 basis_set_config (CXX_TEMPLATES_DIR "${${NS}INSTALL_PREFIX}/share/utilities/cxx")
00202 ## @brief Absolute path to Java utilities files.
00203 basis_set_config (JAVA_TEMPLATES_DIR "${${NS}INSTALL_PREFIX}/share/utilities/java")
00204 ## @brief Absolute path to Python utilities files.
00205 basis_set_config (PYTHON_TEMPLATES_DIR "${${NS}INSTALL_PREFIX}/share/utilities/python")
00206 ## @brief Absolute path to Perl utilities files.
00207 basis_set_config (PERL_TEMPLATES_DIR "${${NS}INSTALL_PREFIX}/share/utilities/perl")
00208 ## @brief Absolute path to BASH utilities files.
00209 basis_set_config (BASH_TEMPLATES_DIR "${${NS}INSTALL_PREFIX}/share/utilities/bash")
00210 ## @brief Absolute path to MATLAB utilities files.
00211 basis_set_config (MATLAB_TEMPLATES_DIR "${${NS}INSTALL_PREFIX}/share/utilities/matlab")
00212
00213 ## @brief Utilities library.
00214 basis_set_config (UTILITIES_LIBRARY "sbia.basis.utilities")
00215 ## @brief Unit testing library.
00216 basis_set_config (TEST_LIBRARY "sbia.basis.testlib")
00217 ## @brief Implementation of main() function of unit test driver.
00218 basis_set_config (TEST_MAIN_LIBRARY "sbia.basis.testmain")
00219
00220 ## @brief Main libraries.
00221 basis_set_config (LIBRARIES
00222 ${${NS}UTILITIES_LIBRARY}
00223 ${${NS}TEST_LIBRARY}
00224 )
00225
00226 # ----------------------------------------------------------------------------
00227 # CMake tools
00228
00229 include ("${${NS}MODULE_PATH}/BasisTools.cmake")
00230 include ("${${NS}MODULE_PATH}/BasisSettings.cmake" NO_POLICY_SCOPE)
00231
00232
00233 ## @}
00234 # end of Doxygen group - keep at end of file