Magellan Linux

Diff of /trunk/include/cmake.sminc

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

revision 29887 by niro, Tue Oct 17 08:55:26 2017 UTC revision 33242 by niro, Mon Oct 21 10:08:11 2019 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 112  cmake_opt() Line 113  cmake_opt()
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()
126  {  {
127   munpack ${SRCFILE} || die   munpack ${SRCFILE} || die
# Line 121  cmake_configure() Line 131  cmake_configure()
131  {  {
132   local configure_opts="$@"   local configure_opts="$@"
133   local default_opts   local default_opts
  local libsuffix="$(mlibdir)"  
  local libsuffix="${libsuffix/lib}"  
134    
135   # disable colors if requested   # disable colors if requested
136   if [[ ${NOCOLORS} = true ]]   if [[ ${NOCOLORS} = true ]]
# Line 133  cmake_configure() Line 141  cmake_configure()
141   default_opts+=" -DCMAKE_VERBOSE_MAKEFILE=ON"   default_opts+=" -DCMAKE_VERBOSE_MAKEFILE=ON"
142   default_opts+=" -DCMAKE_BUILD_TYPE=Release"   default_opts+=" -DCMAKE_BUILD_TYPE=Release"
143   default_opts+=" -DCMAKE_INSTALL_PREFIX=${PREFIX:-/usr}"   default_opts+=" -DCMAKE_INSTALL_PREFIX=${PREFIX:-/usr}"
144   default_opts+=" -DLIB_SUFFIX=${libsuffix}"   if [[ ${MULTILIB_BUILD} = true ]]
145   default_opts+=' -DLIB_INSTALL_DIR=${PREFIX:-/usr}/$(mlibdir)'   then
146     # eval these variables later with the abi-${ABI} caller
147     default_opts+=' -DLIB_SUFFIX=$(cmake_libsuffix)'
148     default_opts+=' -DLIB_INSTALL_DIR=${PREFIX:-/usr}/$(mlibdir)'
149     default_opts+=' -DLIB_SUFFIX=$(cmake_libsuffix)'
150     else
151     # eval these variables now
152     default_opts+=" -DLIB_SUFFIX=$(cmake_libsuffix)"
153     default_opts+=" -DLIB_INSTALL_DIR=${PREFIX:-/usr}/$(mlibdir)"
154     default_opts+=" -DLIB_SUFFIX=$(cmake_libsuffix)"
155     fi
156    
157   if [[ ${MULTILIB_BUILD} = true ]]   if [[ ${MULTILIB_BUILD} = true ]]
158   then   then
# Line 145  cmake_configure() Line 163  cmake_configure()
163   [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"   [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
164   for abi in ${abis_to_run}   for abi in ${abis_to_run}
165   do   do
166   cd ${BUILDDIR}/build-${abi}   : ${CMAKE_SRCDIR="${SRCDIR}-${abi}/${SRCSUBDIR}"}
167   cmake ${default_opts} ${configure_opts} ${SRCDIR}-${abi}/${SRCSUBDIR} || die   : ${CMAKE_BUILDDIR="${BUILDDIR}/build-${abi}"}
168     cd ${CMAKE_BUILDDIR}
169     abi-${abi} cmake ${default_opts} ${configure_opts} ${CMAKE_SRCDIR} || die
170   done   done
171   else   else
172     : ${CMAKE_SRCDIR="${SRCDIR}/${SRCSUBDIR}"}
173     : ${CMAKE_BUILDDIR="${BUILDDIR}/build"}
174   cd ${BUILDDIR}/build   cd ${BUILDDIR}/build
175   cmake ${default_opts} ${configure_opts} ${SRCDIR}/${SRCSUBDIR} || die   cmake ${default_opts} ${configure_opts} ${SRCDIR}/${SRCSUBDIR} || die
176   fi   fi
# Line 158  cmake_setup_builddir() Line 180  cmake_setup_builddir()
180  {  {
181   if [[ ${MULTILIB_BUILD} = true ]]   if [[ ${MULTILIB_BUILD} = true ]]
182   then   then
183   all-abis install -d ${BUILDDIR}/build-$(mabi) || die   : ${CMAKE_BUILDDIR="${BUILDDIR}/build-$(mabi)"}
184     all-abis install -d ${CMAKE_BUILDDIR} || die
185     else
186     : ${CMAKE_BUILDDIR="${BUILDDIR}/build"}
187     install -d ${CMAKE_BUILDDIR} || die
188     fi
189    }
190    
191    cmake_mmake()
192    {
193     if [[ ${MULTILIB_BUILD} = true ]]
194     then
195     : ${CMAKE_BUILDDIR="${BUILDDIR}/build-$(mabi)"}
196     mmake -C ${CMAKE_BUILDDIR} "$@" || die
197   else   else
198   install -d ${BUILDDIR}/build || die   : ${CMAKE_BUILDDIR="${BUILDDIR}/build"}
199     mmake -C ${CMAKE_BUILDDIR} "$@" || die
200   fi   fi
201  }  }
202    
203  cmake_src_compile()  cmake_src_compile()
204  {  {
205   cd ${SRCDIR}   : ${CMAKE_SRCDIR="${SRCDIR}"}
206     cd ${CMAKE_SRCDIR}
207    
208   cmake_setup_builddir || die   cmake_setup_builddir || die
209   cmake_configure || die   cmake_configure "$@" || die
210   mmake || die   cmake_mmake || die
211  }  }
212    
213  cmake_src_check()  cmake_src_check()
214  {  {
215   #cd ${BUILDDIR}/build   #: ${CMAKE_BUILDDIR="${BUILDDIR}/build"}
216     #cd ${CMAKE_BUILDDIR}
217   #mmake -j1 -k check || die   #mmake -j1 -k check || die
218   return 0   return 0
219  }  }
# Line 189  cmake_multilib_src_check() Line 227  cmake_multilib_src_check()
227   #[[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"   #[[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
228   #for abi in ${abis_to_run}   #for abi in ${abis_to_run}
229   #do   #do
230   # cd ${BUILDDIR}/build-${abi}   # : ${CMAKE_BUILDDIR="${BUILDDIR}/build-${abi}"}
231     # cd ${CMAKE_BUILDDIR}
232   # mmake -j1 -k check || die   # mmake -j1 -k check || die
233   #done   #done
234   return 0   return 0
# Line 197  cmake_multilib_src_check() Line 236  cmake_multilib_src_check()
236    
237  cmake_src_install()  cmake_src_install()
238  {  {
239   cd ${BUILDDIR}/build   : ${CMAKE_SRCDIR="${SRCDIR}"}
240   make ${MAKEOPTS} DESTDIR=${BINDIR} install || die  
241     cmake_mmake DESTDIR=${BINDIR} install || die
242    
243   cd ${SRCDIR}   cd ${CMAKE_SRCDIR}
244   local i   local i
245   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
246   FAQ LICENSE NEWS README TODO   FAQ LICENSE NEWS README TODO
247   do   do
248   if [ -f ${SRCDIR}/${i} ]   if [ -f ${CMAKE_SRCDIR}/${i} ]
249   then   then
250   minstalldocs ${i} || die   minstalldocs ${i} || die
251   fi   fi
# Line 216  cmake_multilib_src_install() Line 256  cmake_multilib_src_install()
256  {  {
257   local abi   local abi
258   local abis_to_run="${MULTILIB_ABIS}"   local abis_to_run="${MULTILIB_ABIS}"
259    
260     cmake_mmake DESTDIR=${BINDIR} install || die
261    
262   # respect MULTILIB_ONLY_ABI variable   # respect MULTILIB_ONLY_ABI variable
263   [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"   [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
264   for abi in ${abis_to_run}   for abi in ${abis_to_run}
265   do   do
266   cd ${BUILDDIR}/build-${abi}   : ${CMAKE_SRCDIR="${SRCDIR}-${abi}"}
  make ${MAKEOPTS} DESTDIR=${BINDIR} install || die  
267    
268   cd ${SRCDIR}-${abi}   cd ${CMAKE_SRCDIR}
269   local i   local i
270   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
271   FAQ LICENSE NEWS README TODO   FAQ LICENSE NEWS README TODO
272   do   do
273   if [ -f ${SRCDIR}-${abi}/${i} ]   if [ -f ${CMAKE_SRCDIR}/${i} ]
274   then   then
275   minstalldocs ${i} || die   minstalldocs ${i} || die
276   fi   fi

Legend:
Removed from v.29887  
changed lines
  Added in v.33242