Magellan Linux

Diff of /trunk/include/cmake.sminc

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

branches/magellan-next/include/cmake.sminc revision 8012 by niro, Tue Jun 28 19:58:57 2011 UTC trunk/include/cmake.sminc revision 30002 by niro, Fri Oct 20 08:24:46 2017 UTC
# Line 2  Line 2 
2  # cmake config tools  # cmake config tools
3    
4  SDEPEND="${SDEPEND}  SDEPEND="${SDEPEND}
5   >= dev-util/cmake-2.4.7"   >= dev-util/cmake-2.4.7
6     >= virtual/sed"
7    
8  # enables features like --enable-blah with make  # enables features like --enable-blah with make
9  cmake_enable()  cmake_enable()
# Line 101  cmake_install() Line 102  cmake_install()
102  {  {
103   local feature="$1"   local feature="$1"
104   local option="$2"   local option="$2"
105   echo "-DINSTALL_${feature}=\"${option}\""   echo "-DINSTALL_${feature}=${option}"
106  }  }
107    
108  # generic cmake opts  # generic cmake opts
# Line 109  cmake_opt() Line 110  cmake_opt()
110  {  {
111   local feature="$1"   local feature="$1"
112   local option="$2"   local option="$2"
113   echo "-D${feature}=\"${option}\""   echo "-D${feature}=${option}"
114    }
115    
116    cmake_libsuffix()
117    {
118     local libsuffix
119    
120     libsuffix="$(mlibdir)"
121     libsuffix="${libsuffix/lib}"
122     echo "${libsuffix}"
123  }  }
124    
125  cmake_src_prepare()  cmake_src_prepare()
# Line 120  cmake_src_prepare() Line 130  cmake_src_prepare()
130  cmake_configure()  cmake_configure()
131  {  {
132   local configure_opts="$@"   local configure_opts="$@"
133   local libsuffix="$(mlibdir)"   local default_opts
  local libsuffix="${libsuffix/lib}"  
134    
135   # disable colors if requested   # disable colors if requested
136   if [[ ${NOCOLORS} = true ]]   if [[ ${NOCOLORS} = true ]]
137   then   then
138   configure_opts="${configure_opts} -DCMAKE_COLOR_MAKEFILE=OFF"   default_opts+=" -DCMAKE_COLOR_MAKEFILE=OFF"
139   fi   fi
140    
141   cmake \   default_opts+=" -DCMAKE_VERBOSE_MAKEFILE=ON"
142   -DCMAKE_BUILD_TYPE=Release \   default_opts+=" -DCMAKE_BUILD_TYPE=Release"
143   -DCMAKE_INSTALL_PREFIX=${PREFIX:-/usr} \   default_opts+=" -DCMAKE_INSTALL_PREFIX=${PREFIX:-/usr}"
144   -DLIB_SUFFIX=${libsuffix} \   default_opts+=' -DLIB_SUFFIX=$(cmake_libsuffix)'
145   -DLIB_INSTALL_DIR=${PREFIX:-/usr}/$(mlibdir) \   default_opts+=' -DLIB_INSTALL_DIR=${PREFIX:-/usr}/$(mlibdir)'
146   ${configure_opts} \  
147   ${SRCDIR} \   if [[ ${MULTILIB_BUILD} = true ]]
148   || die   then
149     local abi
150     local abis_to_run="${MULTILIB_ABIS}"
151    
152     # respect MULTILIB_ONLY_ABI variable
153     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
154     for abi in ${abis_to_run}
155     do
156     cd ${BUILDDIR}/build-${abi}
157     abi-${abi} cmake ${default_opts} ${configure_opts} ${SRCDIR}-${abi}/${SRCSUBDIR} || die
158     done
159     else
160     cd ${BUILDDIR}/build
161     cmake ${default_opts} ${configure_opts} ${SRCDIR}/${SRCSUBDIR} || die
162     fi
163  }  }
164    
165  cmake_src_compile()  cmake_setup_builddir()
166  {  {
167   cd ${SRCDIR}   if [[ ${MULTILIB_BUILD} = true ]]
168     then
169     all-abis install -d ${BUILDDIR}/build-$(mabi) || die
170     else
171     install -d ${BUILDDIR}/build || die
172     fi
173    }
174    
175   # remove build dir if exist  cmake_mmake()
176   [[ -d ${BUILDDIR}/build ]] && rm -rf ${BUILDDIR}/build  {
177     if [[ ${MULTILIB_BUILD} = true ]]
178     then
179     mmake -C ${BUILDDIR}/build-$(mabi) "$@" || die
180     else
181     mmake -C ${BUILDDIR}/build "$@" || die
182     fi
183    }
184    
185   # build outside of the source dir  cmake_src_compile()
186   install -d ${BUILDDIR}/build || die  {
187   cd ${BUILDDIR}/build   cd ${SRCDIR}
188    
189   cmake_configure || die   cmake_setup_builddir || die
190   mmake || die   cmake_configure "$@" || die
191     cmake_mmake || die
192    }
193    
194    cmake_src_check()
195    {
196     #cd ${BUILDDIR}/build
197     #mmake -j1 -k check || die
198     return 0
199    }
200    
201    cmake_multilib_src_check()
202    {
203     #local abi
204     #local abis_to_run="${MULTILIB_ABIS}"
205     #
206     ## respect MULTILIB_ONLY_ABI variable
207     #[[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
208     #for abi in ${abis_to_run}
209     #do
210     # cd ${BUILDDIR}/build-${abi}
211     # mmake -j1 -k check || die
212     #done
213     return 0
214  }  }
215    
216  cmake_src_install()  cmake_src_install()
217  {  {
218   cd ${BUILDDIR}/build   cmake_mmake DESTDIR=${BINDIR} install || die
  make DESTDIR=${BINDIR} install || die  
219    
220   cd ${SRCDIR}   cd ${SRCDIR}
221   local i   local i
# Line 171  cmake_src_install() Line 229  cmake_src_install()
229   done   done
230  }  }
231    
232  export_inherits cmake src_prepare src_compile src_install  cmake_multilib_src_install()
233    {
234     local abi
235     local abis_to_run="${MULTILIB_ABIS}"
236    
237     cmake_mmake DESTDIR=${BINDIR} install || die
238    
239     # respect MULTILIB_ONLY_ABI variable
240     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
241     for abi in ${abis_to_run}
242     do
243     cd ${SRCDIR}-${abi}
244     local i
245     for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
246     FAQ LICENSE NEWS README TODO
247     do
248     if [ -f ${SRCDIR}-${abi}/${i} ]
249     then
250     minstalldocs ${i} || die
251     fi
252     done
253     done
254    }
255    
256    export_inherits cmake src_prepare src_compile
257    if [[ ${MULTILIB_BUILD} = true ]]
258    then
259     export_inherits cmake_multilib src_check src_install
260    else
261     export_inherits cmake src_check src_install
262    fi

Legend:
Removed from v.8012  
changed lines
  Added in v.30002