Magellan Linux

Diff of /trunk/include/cmake.sminc

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

trunk/core/include/cmake.sminc revision 4859 by niro, Fri Feb 12 13:30:42 2010 UTC trunk/include/cmake.sminc 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 96  cmake_build_not() Line 97  cmake_build_not()
97   echo "-DBUILD_${feature}=OFF"   echo "-DBUILD_${feature}=OFF"
98  }  }
99    
100    # install cmake opts
101    cmake_install()
102    {
103     local feature="$1"
104     local option="$2"
105     echo "-DINSTALL_${feature}=${option}"
106    }
107    
108    # generic cmake opts
109    cmake_opt()
110    {
111     local feature="$1"
112     local option="$2"
113     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 104  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} \   if [[ ${MULTILIB_BUILD} = true ]]
145   -DLIB_INSTALL_DIR=${PREFIX:-/usr}/$(mlibdir) \   then
146   ${configure_opts} \   # eval these variables later with the abi-${ABI} caller
147   ${SRCDIR} \   default_opts+=' -DLIB_SUFFIX=$(cmake_libsuffix)'
148   || die   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 ]]
158     then
159     local abi
160     local abis_to_run="${MULTILIB_ABIS}"
161    
162     # respect MULTILIB_ONLY_ABI variable
163     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
164     for abi in ${abis_to_run}
165     do
166     : ${CMAKE_SRCDIR="${SRCDIR}-${abi}/${SRCSUBDIR}"}
167     : ${CMAKE_BUILDDIR="${BUILDDIR}/build-${abi}"}
168     cd ${CMAKE_BUILDDIR}
169     abi-${abi} cmake ${default_opts} ${configure_opts} ${CMAKE_SRCDIR} || die
170     done
171     else
172     : ${CMAKE_SRCDIR="${SRCDIR}/${SRCSUBDIR}"}
173     : ${CMAKE_BUILDDIR="${BUILDDIR}/build"}
174     cd ${BUILDDIR}/build
175     cmake ${default_opts} ${configure_opts} ${SRCDIR}/${SRCSUBDIR} || die
176     fi
177  }  }
178    
179  cmake_src_compile()  cmake_setup_builddir()
180  {  {
181   cd ${SRCDIR}   if [[ ${MULTILIB_BUILD} = true ]]
182     then
183     : ${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   # remove build dir if exist  cmake_mmake()
192   [[ -d ${BUILDDIR}/build ]] && rm -rf ${BUILDDIR}/build  {
193     if [[ ${MULTILIB_BUILD} = true ]]
194     then
195     : ${CMAKE_BUILDDIR="${BUILDDIR}/build-$(mabi)"}
196     mmake -C ${CMAKE_BUILDDIR} "$@" || die
197     else
198     : ${CMAKE_BUILDDIR="${BUILDDIR}/build"}
199     mmake -C ${CMAKE_BUILDDIR} "$@" || die
200     fi
201    }
202    
203   # build outside of the source dir  cmake_src_compile()
204   install -d ${BUILDDIR}/build || die  {
205   cd ${BUILDDIR}/build   : ${CMAKE_SRCDIR="${SRCDIR}"}
206     cd ${CMAKE_SRCDIR}
207    
208   cmake_configure || die   cmake_setup_builddir || die
209   mmake || die   cmake_configure "$@" || die
210     cmake_mmake || die
211    }
212    
213    cmake_src_check()
214    {
215     #: ${CMAKE_BUILDDIR="${BUILDDIR}/build"}
216     #cd ${CMAKE_BUILDDIR}
217     #mmake -j1 -k check || die
218     return 0
219    }
220    
221    cmake_multilib_src_check()
222    {
223     #local abi
224     #local abis_to_run="${MULTILIB_ABIS}"
225     #
226     ## respect MULTILIB_ONLY_ABI variable
227     #[[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
228     #for abi in ${abis_to_run}
229     #do
230     # : ${CMAKE_BUILDDIR="${BUILDDIR}/build-${abi}"}
231     # cd ${CMAKE_BUILDDIR}
232     # mmake -j1 -k check || die
233     #done
234     return 0
235  }  }
236    
237  cmake_src_install()  cmake_src_install()
238  {  {
239   cd ${BUILDDIR}/build   : ${CMAKE_SRCDIR="${SRCDIR}"}
  make DESTDIR=${BINDIR} install || die  
240    
241   cd ${SRCDIR}   cmake_mmake DESTDIR=${BINDIR} install || die
242    
243     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
252   done   done
253  }  }
254    
255  export_inherits cmake src_prepare src_compile src_install  cmake_multilib_src_install()
256    {
257     local abi
258     local abis_to_run="${MULTILIB_ABIS}"
259    
260     cmake_mmake DESTDIR=${BINDIR} install || die
261    
262     # respect MULTILIB_ONLY_ABI variable
263     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
264     for abi in ${abis_to_run}
265     do
266     : ${CMAKE_SRCDIR="${SRCDIR}-${abi}"}
267    
268     cd ${CMAKE_SRCDIR}
269     local i
270     for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
271     FAQ LICENSE NEWS README TODO
272     do
273     if [ -f ${CMAKE_SRCDIR}/${i} ]
274     then
275     minstalldocs ${i} || die
276     fi
277     done
278     done
279    }
280    
281    export_inherits cmake src_prepare src_compile
282    if [[ ${MULTILIB_BUILD} = true ]]
283    then
284     export_inherits cmake_multilib src_check src_install
285    else
286     export_inherits cmake src_check src_install
287    fi

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