mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-21 11:10:07 +02:00
x86_64 is used as a baseline: the "x86_64" entry, whatever status it has, is transformed into "all", and then the other entries in ARCHITECTURES either dropped or rearranged appropriately.
126 lines
3.3 KiB
Bash
126 lines
3.3 KiB
Bash
SUMMARY="A cross-platform build system"
|
|
DESCRIPTION="CMake is a family of tools designed to build, test and package \
|
|
software. It is used to control the software compilation process using \
|
|
simple platform and compiler independent configuration files. CMake generates \
|
|
native makefiles and workspaces that can be used in the compiler environment \
|
|
of your choice."
|
|
HOMEPAGE="https://cmake.org/"
|
|
COPYRIGHT="2002-2021 Kitware, Inc., Insight Consortium"
|
|
LICENSE="CMake"
|
|
REVISION="1"
|
|
SOURCE_URI="https://cmake.org/files/v3.20/cmake-$portVersion.tar.gz"
|
|
CHECKSUM_SHA256="aecf6ecb975179eb3bb6a4a50cae192d41e92b9372b02300f9e8f1d5f559544e"
|
|
SOURCE_DIR="cmake-$portVersion"
|
|
PATCHES="cmake-$portVersion.patchset"
|
|
|
|
ARCHITECTURES="all !x86_gcc2 ?x86 ?arm"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
PROVIDES="
|
|
cmake$secondaryArchSuffix = $portVersion compat >= 3
|
|
cmd:ccmake = $portVersion compat >= 3
|
|
cmd:cmake = $portVersion compat >= 3
|
|
cmd:cpack = $portVersion compat >= 3
|
|
cmd:ctest = $portVersion compat >= 3
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
lib:libcurl$secondaryArchSuffix
|
|
lib:libncurses$secondaryArchSuffix
|
|
lib:librhash$secondaryArchSuffix
|
|
lib:libuv$secondaryArchSuffix
|
|
lib:libz$secondaryArchSuffix
|
|
"
|
|
|
|
SUMMARY_gui="$SUMMARY (gui)"
|
|
DESCRIPTION_gui="$DESCRIPTION (gui)"
|
|
|
|
PROVIDES_gui="
|
|
cmake${secondaryArchSuffix}_gui = $portVersion
|
|
cmd:cmake_gui = $portVersion compat >= 3
|
|
"
|
|
REQUIRES_gui="
|
|
haiku$secondaryArchSuffix
|
|
lib:libcurl$secondaryArchSuffix
|
|
lib:libQt5Core$secondaryArchSuffix
|
|
lib:libQt5Gui$secondaryArchSuffix
|
|
lib:libQt5Widgets$secondaryArchSuffix
|
|
lib:librhash$secondaryArchSuffix
|
|
lib:libuv$secondaryArchSuffix
|
|
lib:libz$secondaryArchSuffix
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
devel:libcurl$secondaryArchSuffix
|
|
devel:libncurses$secondaryArchSuffix
|
|
devel:libQt5Core$secondaryArchSuffix
|
|
devel:libQt5Gui$secondaryArchSuffix
|
|
devel:libQt5Widgets$secondaryArchSuffix
|
|
devel:librhash$secondaryArchSuffix
|
|
devel:libuv$secondaryArchSuffix
|
|
devel:libz$secondaryArchSuffix
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:grep
|
|
cmd:ld$secondaryArchSuffix
|
|
cmd:libtoolize$secondaryArchSuffix
|
|
cmd:make
|
|
cmd:sed
|
|
"
|
|
|
|
BUILD()
|
|
{
|
|
# not an autotools configure
|
|
./configure --prefix=$prefix \
|
|
--datadir=/$relativeDataDir/cmake \
|
|
--docdir=/$relativeDocDir \
|
|
--mandir=/$relativeManDir \
|
|
--no-system-libs \
|
|
--system-curl \
|
|
--system-librhash \
|
|
--system-libuv \
|
|
--qt-gui \
|
|
--parallel=${jobArgs#-j}
|
|
|
|
make $jobArgs
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
make install
|
|
|
|
# No way to tell this to configure...
|
|
mv $prefix/share/aclocal $dataDir
|
|
mv $prefix/share/bash-completion $dataDir/bash-completion
|
|
rm -rf $prefix/share/{emacs,vim}
|
|
rm -rf $prefix/share
|
|
|
|
# GUI
|
|
packageEntries "gui" \
|
|
$prefix/bin/cmake-gui
|
|
}
|
|
|
|
TEST()
|
|
{
|
|
#x86_64
|
|
#98% tests passed, 13 tests failed out of 594
|
|
# 5 - kwsys.testSystemTools (Failed)
|
|
# 26 - FindPackageTest (Failed)
|
|
# 58 - ExportImport (Failed)
|
|
# 66 - StagingPrefix (Failed)
|
|
# 244 - CTestTestTimeout (Failed)
|
|
# 274 - CMakeLib.testUVProcessChain (Failed)
|
|
# 279 - CMakeLib.testCMFilesystemPath (Signal 21)
|
|
# 332 - RunCMake.Make (Failed)
|
|
# 422 - RunCMake.file (Failed)
|
|
# 459 - RunCMake.no_install_prefix (Failed)
|
|
# 487 - RunCMake.CommandLine (Failed)
|
|
# 521 - RunCMake.PrecompileHeaders (Failed)
|
|
# 523 - RunCMake.CMakePresets (Failed)
|
|
|
|
cp bin/ctest Bootstrap.cmk/
|
|
make test VERBOSE=1
|
|
}
|