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 4858 by niro, Fri Feb 12 13:29:14 2010 UTC trunk/include/cmake.sminc revision 29992 by niro, Fri Oct 20 06:34:55 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 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
140    
141     default_opts+=" -DCMAKE_VERBOSE_MAKEFILE=ON"
142     default_opts+=" -DCMAKE_BUILD_TYPE=Release"
143     default_opts+=" -DCMAKE_INSTALL_PREFIX=${PREFIX:-/usr}"
144     default_opts+=' -DLIB_SUFFIX=$(cmake_libsuffix)'
145     default_opts+=' -DLIB_INSTALL_DIR=${PREFIX:-/usr}/$(mlibdir)'
146    
147     if [[ ${MULTILIB_BUILD} = true ]]
148     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   fi
163    }
164    
165   cmake \  cmake_setup_builddir()
166   -DCMAKE_BUILD_TYPE=Release \  {
167   -DCMAKE_INSTALL_PREFIX=${PREFIX:-/usr} \   if [[ ${MULTILIB_BUILD} = true ]]
168   -DLIB_SUFFIX=${libsuffix} \   then
169   -DLIB_INSTALL_DIR=${PREFIX:-/usr}/$(mlibdir) \   all-abis install -d ${BUILDDIR}/build-$(mabi) || die
170   ${configure_opts} \   else
171   ${SRCDIR} \   install -d ${BUILDDIR}/build || die
172   || die   fi
173  }  }
174    
175  cmake_src_compile()  cmake_src_compile()
176  {  {
177   cd ${SRCDIR}   cd ${SRCDIR}
178    
179   # remove build dir if exist   cmake_setup_builddir || die
180   [[ -d ${BUILDDIR}/build ]] && rm -rf ${BUILDDIR}/build   cmake_configure "$@" || die
181     mmake -C ${BUILDDIR}/build-$(mabi) || die
182   # build outside of the source dir  }
183   install -d ${BUILDDIR}/build || die  
184   cd ${BUILDDIR}/build  cmake_src_check()
185    {
186   cmake_configure || die   #cd ${BUILDDIR}/build
187   mmake || die   #mmake -j1 -k check || die
188     return 0
189    }
190    
191    cmake_multilib_src_check()
192    {
193     #local abi
194     #local abis_to_run="${MULTILIB_ABIS}"
195     #
196     ## respect MULTILIB_ONLY_ABI variable
197     #[[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
198     #for abi in ${abis_to_run}
199     #do
200     # cd ${BUILDDIR}/build-${abi}
201     # mmake -j1 -k check || die
202     #done
203     return 0
204  }  }
205    
206  cmake_src_install()  cmake_src_install()
207  {  {
208   cd ${BUILDDIR}/build   cd ${BUILDDIR}/build
209   make DESTDIR=${BINDIR} install || die   make ${MAKEOPTS} DESTDIR=${BINDIR} install || die
210    
211     cd ${SRCDIR}
212   local i   local i
213   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
214   FAQ LICENSE NEWS README TODO   FAQ LICENSE NEWS README TODO
# Line 154  cmake_src_install() Line 220  cmake_src_install()
220   done   done
221  }  }
222    
223  export_inherits cmake src_prepare src_compile src_install  cmake_multilib_src_install()
224    {
225     local abi
226     local abis_to_run="${MULTILIB_ABIS}"
227    
228     # respect MULTILIB_ONLY_ABI variable
229     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
230     for abi in ${abis_to_run}
231     do
232     cd ${BUILDDIR}/build-${abi}
233     abi-${abi} make ${MAKEOPTS} DESTDIR=${BINDIR} install || die
234    
235     cd ${SRCDIR}-${abi}
236     local i
237     for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
238     FAQ LICENSE NEWS README TODO
239     do
240     if [ -f ${SRCDIR}-${abi}/${i} ]
241     then
242     minstalldocs ${i} || die
243     fi
244     done
245     done
246    }
247    
248    export_inherits cmake src_prepare src_compile
249    if [[ ${MULTILIB_BUILD} = true ]]
250    then
251     export_inherits cmake_multilib src_check src_install
252    else
253     export_inherits cmake src_check src_install
254    fi

Legend:
Removed from v.4858  
changed lines
  Added in v.29992