/[gentoo-x86]/eclass/cmake-utils.eclass
Gentoo

Diff of /eclass/cmake-utils.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.48 Revision 1.51
1# Copyright 1999-2010 Gentoo Foundation 1# Copyright 1999-2010 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/cmake-utils.eclass,v 1.48 2010/03/24 21:09:28 robbat2 Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/cmake-utils.eclass,v 1.51 2010/04/30 23:58:47 abcd Exp $
4 4
5# @ECLASS: cmake-utils.eclass 5# @ECLASS: cmake-utils.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# kde@gentoo.org 7# kde@gentoo.org
8# 8#
25# Specify if cmake-utils eclass should depend on cmake optionaly or not. 25# Specify if cmake-utils eclass should depend on cmake optionaly or not.
26# This is usefull when only part of aplication is using cmake build system. 26# This is usefull when only part of aplication is using cmake build system.
27# Valid values are: always [default], optional (where the value is the useflag 27# Valid values are: always [default], optional (where the value is the useflag
28# used for optionality) 28# used for optionality)
29WANT_CMAKE="${WANT_CMAKE:-always}" 29WANT_CMAKE="${WANT_CMAKE:-always}"
30
31# @ECLASS-VARIABLE: CMAKE_MIN_VERSION
32# @DESCRIPTION:
33# Specify the minimum allowable version of cmake. Defaults to 2.6.2-r1
34CMAKE_MIN_VERSION="${CMAKE_MIN_VERSION:-2.6.2-r1}"
35
30CMAKEDEPEND="" 36CMAKEDEPEND=""
31case ${WANT_CMAKE} in 37case ${WANT_CMAKE} in
32 always) 38 always)
33 ;; 39 ;;
34 *) 40 *)
35 IUSE+=" ${WANT_CMAKE}" 41 IUSE+=" ${WANT_CMAKE}"
36 CMAKEDEPEND+="${WANT_CMAKE}? ( " 42 CMAKEDEPEND+="${WANT_CMAKE}? ( "
37 ;; 43 ;;
38esac 44esac
39inherit toolchain-funcs multilib flag-o-matic base 45inherit toolchain-funcs multilib flag-o-matic base
40 46
41CMAKE_EXPF="src_compile src_test src_install" 47CMAKE_EXPF="src_compile src_test src_install"
42case ${EAPI:-0} in 48case ${EAPI:-0} in
47EXPORT_FUNCTIONS ${CMAKE_EXPF} 53EXPORT_FUNCTIONS ${CMAKE_EXPF}
48 54
49: ${DESCRIPTION:="Based on the ${ECLASS} eclass"} 55: ${DESCRIPTION:="Based on the ${ECLASS} eclass"}
50 56
51if [[ ${PN} != cmake ]]; then 57if [[ ${PN} != cmake ]]; then
52 CMAKEDEPEND+=">=dev-util/cmake-2.6.2-r1" 58 CMAKEDEPEND+=">=dev-util/cmake-${CMAKE_MIN_VERSION}"
53fi 59fi
54 60
55CMAKEDEPEND+=" userland_GNU? ( >=sys-apps/findutils-4.4.0 )" 61CMAKEDEPEND+=" userland_GNU? ( >=sys-apps/findutils-4.4.0 )"
56 62
57[[ ${WANT_CMAKE} = always ]] || CMAKEDEPEND+=" )" 63[[ ${WANT_CMAKE} = always ]] || CMAKEDEPEND+=" )"
152 CMAKE_BUILD_DIR="${CMAKE_USE_DIR}/build" 158 CMAKE_BUILD_DIR="${CMAKE_USE_DIR}/build"
153 else 159 else
154 # regular out of tree build 160 # regular out of tree build
155 [[ ${1} = init || -d ${CMAKE_USE_DIR}_build ]] && SUF="_build" || SUF="" 161 [[ ${1} = init || -d ${CMAKE_USE_DIR}_build ]] && SUF="_build" || SUF=""
156 CMAKE_BUILD_DIR="${CMAKE_USE_DIR}${SUF}" 162 CMAKE_BUILD_DIR="${CMAKE_USE_DIR}${SUF}"
157
158 fi 163 fi
159 echo ">>> Working in BUILD_DIR: \"$CMAKE_BUILD_DIR\"" 164 echo ">>> Working in BUILD_DIR: \"$CMAKE_BUILD_DIR\""
160} 165}
161# @FUNCTION: cmake-utils_use_with 166# @FUNCTION: cmake-utils_use_with
162# @USAGE: <USE flag> [flag name] 167# @USAGE: <USE flag> [flag name]
244 249
245 # NOTE Append some useful summary here 250 # NOTE Append some useful summary here
246 cat >> CMakeLists.txt <<- _EOF_ 251 cat >> CMakeLists.txt <<- _EOF_
247 252
248 MESSAGE(STATUS "<<< Gentoo configuration >>> 253 MESSAGE(STATUS "<<< Gentoo configuration >>>
249 Build type: \${CMAKE_BUILD_TYPE} 254 Build type \${CMAKE_BUILD_TYPE}
250 Install path: \${CMAKE_INSTALL_PREFIX}\n") 255 Install path \${CMAKE_INSTALL_PREFIX}
256 Compiler flags:
257 C \${CMAKE_C_FLAGS}
258 C++ \${CMAKE_CXX_FLAGS}
259 Linker flags:
260 Executable \${CMAKE_EXE_LINKER_FLAGS}
261 Module \${CMAKE_MODULE_LINKER_FLAGS}
262 Shared \${CMAKE_SHARED_LINKER_FLAGS}\n")
251 _EOF_ 263 _EOF_
252} 264}
253 265
254# @FUNCTION: enable_cmake-utils_src_configure 266# @FUNCTION: enable_cmake-utils_src_configure
255# @DESCRIPTION: 267# @DESCRIPTION:
260 272
261 _check_build_dir init 273 _check_build_dir init
262 274
263 # check if CMakeLists.txt exist and if no then die 275 # check if CMakeLists.txt exist and if no then die
264 if [[ ! -e ${CMAKE_USE_DIR}/CMakeLists.txt ]] ; then 276 if [[ ! -e ${CMAKE_USE_DIR}/CMakeLists.txt ]] ; then
265 eerror "I was unable to locate CMakeLists.txt under:" 277 eerror "Unable to locate CMakeLists.txt under:"
266 eerror "\"${CMAKE_USE_DIR}/CMakeLists.txt\"" 278 eerror "\"${CMAKE_USE_DIR}/CMakeLists.txt\""
267 eerror "You should consider not inheriting the cmake eclass." 279 eerror "Consider not inheriting the cmake eclass."
268 die "FATAL: Unable to find CMakeLists.txt" 280 die "FATAL: Unable to find CMakeLists.txt"
269 fi 281 fi
270 282
271 # Remove dangerous things. 283 # Remove dangerous things.
272 _modify-cmakelists 284 _modify-cmakelists

Legend:
Removed from v.1.48  
changed lines
  Added in v.1.51

  ViewVC Help
Powered by ViewVC 1.1.20