add multilib aware ebuilds

git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@2784 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
geos_one
2010-12-25 17:43:20 +00:00
parent ca658c368a
commit c3102397e6
88 changed files with 11089 additions and 0 deletions

23
dev-util/cmake/Manifest Normal file
View File

@@ -0,0 +1,23 @@
AUX 50cmake-gentoo.el 244 RMD160 effb4416a5170ed7c99ea74084f2598e2482fdf0 SHA1 c34102f3343980275169144b40af6ec69a87d7fc SHA256 6010e6df84aa23050fcbc490ae2b22802ede0870ff2e96c43fe541e97e0d6c00
AUX cmake-2.6.0-interix.patch 1657 RMD160 fe2e9675da5b66c041d8ae5f1c667cf605494674 SHA1 d21fa5346a939411d579ab308005f7867f012975 SHA256 944401813cd66fdefc68935778fc3fe2328f17a2f00d559dac8add63bb37faf7
AUX cmake-2.6.3-darwin-bundle.patch 952 RMD160 157295c7080e3fa5a1414c6f7efba4877049c5e7 SHA1 595740c64fd64e93763d7b1f59d341f9f8117482 SHA256 5429d3d7ba0d2bf2528b4cbf2bd36d3c83a051c064faa9c308d9adfeee334bca
AUX cmake-2.6.3-fix_broken_lfs_on_aix.patch 1366 RMD160 38094f9f8516656cc30d6ead147bc1e2ae41f429 SHA1 5458b92849292d9e8ca3003654a94e339cb4a48c SHA256 e403b204b3f64e5fb01af631c0bb72f083c3994cb7af91dd54b92458bd08a439
AUX cmake-2.6.3-no-duplicates-in-rpath.patch 794 RMD160 d927ce8bb08d57f452db3371a0b2e11d252b96c9 SHA1 6f88171a816c1157ddcf3c3d5c3e3ec080471883 SHA256 908ea65a9db5ca85b2061ad63de714e59930aafeff010939be4829eb60b301c7
AUX cmake-2.6.4-FindBoost.patch 1094 RMD160 58cbed09bcb5fadf166cf64481f9605b5882f6a2 SHA1 5a3a91737b436e9de50c955bdb3e32b8fa7bed30 SHA256 a3f266086335b96af8e0dd848a05a10373762de9b9d6cc3b8af4b27fb43d362c
AUX cmake-2.8.0-darwin-default-install_name.patch 911 RMD160 6261482ff3f989ce455ea87cd5c540385420149b SHA1 6c473a538204826210f62fabdfafb2f5f19087bb SHA256 98b93389ad9a39c819b90f8694a9fb208da6bad15dbe1ca72e62783803ff5b6d
AUX cmake-2.8.0-darwin-no-app-with-qt.patch 2983 RMD160 088b54f0c1fd7d43867c0479deee0caada3a5fcd SHA1 1737e954c7bbb55f007226c48feac596ac290c45 SHA256 f678cb03ee646a231eedda894e8965bf7bc83b693b249e1ecd4590e933323224
AUX cmake-2.8.1-FindBoost.patch 714 RMD160 8f7d2be9cc63289a3e4f79b43f4b8baa6d980810 SHA1 37925b584dc471148f756bd41158740704dbec37 SHA256 f110d2387c362c518480d804bf1ce9f4881af67755cafd41bb639b09a8afca88
AUX cmake-2.8.1-libform.patch 1818 RMD160 ca954dfe966cd73836ef9e01ffe8f0eda85f2f91 SHA1 8f8e9a0002b4a95cea7dcfc36c2df16c47008bec SHA256 3b4ee03c7733b3fb468c5d4c6b139358be751b2398b56ca4ecdbf8a86b1f1ed5
AUX cmake-2.8.1-more-no_host_paths.patch 2981 RMD160 fea9f1d96d8c29f55e424389fb4f2471dfe514d8 SHA1 90fdc2ad69aeb54530d1faf4867e40c233caf084 SHA256 0c3fbe76684851ee444be92a99f91e5a5e8dfef02d7426722e10025aeca03412
AUX cmake-2.8.1-mpi.patch 857 RMD160 d41e4dd445b1a79d0a82619a8ad7371e80d937a8 SHA1 0192124d023953d35cb5fb0da148c914525099e6 SHA256 64092fbf637bfe625cf58abe93844aab2e75ba22a00e5ffdb05188961b7f51d7
AUX cmake-2.8.1-portage-multilib-lib32.patch 7242 RMD160 47738f73dfe42b9a2996b44bd860537881274616 SHA1 ef49749595ac38ac7d3c69c1494db0b52cab65e5 SHA256 732024767399d379a4626dc51b063d8cdd12dfcfa69f8f0b31d8be303e540d4c
AUX cmake-2.8.3-FindLibArchive.patch 651 RMD160 ccff38785a20e66b3fbd7ea95c46b05052d7e4de SHA1 8c3ba96c7f4bd901a9089e7af315f22c78eb1d6c SHA256 521bc573c94f4a62c949caf0690902f1290d35969f68870967aa699caff60364
AUX cmake-2.8.3-FindPythonInterp.patch 550 RMD160 c02295ce79f97cd6be16f90e3c89ad6deed09b4a SHA1 f8a67cd872b90a6dd77626bfd766f788b0775655 SHA256 96ebc2ae19a4d366ef4ed57db44ebd3baa6fb652d8bf5ea6867f64f972d7134e
AUX cmake-2.8.3-FindPythonLibs.patch 550 RMD160 b060930247da3d716fa9592d2d68ddec7d9c488f SHA1 4040bc3749b5f0e12ed07eb765d8863988352814 SHA256 fa6dcfad7c110c5ac264606aa7716c1d6078242802ee9fafc34e9a725cefd755
AUX cmake-2.8.3-more-no_host_paths.patch 3052 RMD160 fb11585292980d19a2810a7ce5741c94aa7391a3 SHA1 3980e7b522ebe934fbf0625221cc5b42e2e19716 SHA256 55165d67bad9def6b349bf67d02ede28a2fc291d28a2a5296897e25980ce623c
AUX cmake-FindJNI.patch 2020 RMD160 4fcb9714de65eb146a2696cd6613357684515b2d SHA1 c463daa6e7d3a1d7065607f97993b5da3486e7e1 SHA256 c5390550c192aea18415087ed891f7e5192b2a385c9c72f4cda0c19b13f6bfbb
AUX cmake-FindPythonInterp.patch 498 RMD160 a4113724d0c2bdb53e7c947790d8a7e337759c84 SHA1 abd7754549fef5aae515361acd6a509c98227bf5 SHA256 8c3d4dc1898eae4adaa392b556286076594470277bc7c1bddbe2a28213fff7c0
AUX cmake-FindPythonLibs.patch 546 RMD160 429021001f1b464d8321703052890a34141a34ec SHA1 e5d62feab16058f123e1399e0504a50f50ee5a88 SHA256 86a5e78ff4e62cf8987401255197f7ba4ae70d00c257df3048372c5dcc035bdd
AUX cmake.vim 217 RMD160 3ac23077646d31e9c29ff32ae2eba20b63c07809 SHA1 527b989aec74eb260c16f93baf189c2e6794b3d8 SHA256 7366c1d45bdcc93efb1954216a5427a5f9df7e98a1f706c357576d7835aaebc5
DIST cmake-2.8.3.tar.gz 5436543 RMD160 8bcba88ad884e22bbadf4c594a5f3b0bdbf2e12c SHA1 e9bfbec47b3939be6f83ffa8006884285c687dc2 SHA256 689ed02786b5cefa5515c7716784ee82a82e8ece6be5a3d629ac3cc0c05fc288
EBUILD cmake-2.8.3.ebuild 4060 RMD160 a0505ba19e9ee58a850479dd18ffb01944791bb9 SHA1 709050785f142738f9d347e5b945a966985c5113 SHA256 647506393fd9e02e4cb0b519776ba994e5f10f7fed5603d2d3a75032f4595ed0

View File

@@ -0,0 +1,147 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/cmake/cmake-2.8.3.ebuild,v 1.2 2010/12/16 12:36:21 scarabeus Exp $
EAPI="3"
inherit elisp-common toolchain-funcs eutils versionator flag-o-matic base cmake-utils
MY_P="${PN}-$(replace_version_separator 3 - ${MY_PV})"
DESCRIPTION="Cross platform Make"
HOMEPAGE="http://www.cmake.org/"
SRC_URI="http://www.cmake.org/files/v$(get_version_component_range 1-2)/${MY_P}.tar.gz"
LICENSE="CMake"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
SLOT="0"
IUSE="emacs ncurses qt4 vim-syntax"
DEPEND="
app-arch/libarchive
>=net-misc/curl-7.20.0-r1[ssl]
>=dev-libs/expat-2.0.1
sys-libs/zlib
ncurses? ( sys-libs/ncurses )
qt4? ( x11-libs/qt-gui:4 )
"
RDEPEND="${DEPEND}
emacs? ( virtual/emacs )
vim-syntax? (
|| (
app-editors/vim
app-editors/gvim
)
)
"
SITEFILE="50${PN}-gentoo.el"
VIMFILE="${PN}.vim"
S="${WORKDIR}/${MY_P}"
CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
CMAKE_IN_SOURCE_BUILD=1
PATCHES=(
"${FILESDIR}"/${PN}-2.6.3-darwin-bundle.patch
"${FILESDIR}"/${PN}-2.6.3-no-duplicates-in-rpath.patch
"${FILESDIR}"/${PN}-2.6.3-fix_broken_lfs_on_aix.patch
"${FILESDIR}"/${PN}-2.8.0-darwin-default-install_name.patch
"${FILESDIR}"/${PN}-2.8.0-darwin-no-app-with-qt.patch
"${FILESDIR}"/${PN}-2.8.1-FindBoost.patch
"${FILESDIR}"/${PN}-2.8.1-libform.patch
"${FILESDIR}"/${PN}-2.8.3-FindLibArchive.patch
"${FILESDIR}"/${PN}-2.8.3-FindPythonLibs.patch
"${FILESDIR}"/${PN}-2.8.3-FindPythonInterp.patch
"${FILESDIR}"/${PN}-2.8.3-more-no_host_paths.patch
"${FILESDIR}"/${PN}-2.8.1-portage-multilib-lib32.patch
)
_src_bootstrap() {
echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null
if [ $? -eq 0 ]; then
par_arg=$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | egrep -o '[[:digit:]]+')
par_arg="--parallel=${par_arg}"
else
par_arg="--parallel=1"
fi
tc-export CC CXX LD
./bootstrap \
--prefix="${T}/cmakestrap/" \
${par_arg} \
|| die "Bootstrap failed"
}
src_prepare() {
base_src_prepare
# disable bootstrap cmake and make run, we use eclass for that
sed -i \
-e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \
bootstrap || die "sed failed"
# Add gcc libs to the default link paths
sed -i \
-e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
_src_bootstrap
}
src_configure() {
# make things work with gentoo java setup
# in case java-config cannot be run, the variable just becomes unset
# per bug #315229
export JAVA_HOME=$(java-config -g JAVA_HOME 2> /dev/null)
local mycmakeargs=(
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
-DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr
-DCMAKE_DOC_DIR=/share/doc/${PF}
-DCMAKE_MAN_DIR=/share/man
-DCMAKE_DATA_DIR=/share/${PN}
$(cmake-utils_use_build ncurses CursesDialog)
$(cmake-utils_use_build qt4 QtDialog)
)
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile
if use emacs; then
elisp-compile Docs/cmake-mode.el || die "elisp compile failed"
fi
}
src_test() {
emake test || die "Tests failed"
}
src_install() {
cmake-utils_src_install
if use emacs; then
elisp-install ${PN} Docs/cmake-mode.el Docs/cmake-mode.elc || die "elisp-install failed"
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
fi
if use vim-syntax; then
insinto /usr/share/vim/vimfiles/syntax
doins Docs/cmake-syntax.vim || die
insinto /usr/share/vim/vimfiles/indent
doins Docs/cmake-indent.vim || die
insinto /usr/share/vim/vimfiles/ftdetect
doins "${FILESDIR}/${VIMFILE}" || die
fi
}
pkg_postinst() {
use emacs && elisp-site-regen
}
pkg_postrm() {
use emacs && elisp-site-regen
}

View File

@@ -0,0 +1,4 @@
(add-to-list 'load-path "@SITELISP@")
(autoload 'cmake-mode "cmake-mode" "Major mode for editing CMake files." t)
(add-to-list 'auto-mode-alist '("CMakeLists\\.txt\\'" . cmake-mode))
(add-to-list 'auto-mode-alist '("\\.cmake\\'" . cmake-mode))

View File

@@ -0,0 +1,48 @@
diff -ruN cmake-2.6.0.orig/Modules/Platform/Interix.cmake cmake-2.6.0/Modules/Platform/Interix.cmake
--- cmake-2.6.0.orig/Modules/Platform/Interix.cmake 1970-01-01 01:00:00 +0100
+++ cmake-2.6.0/Modules/Platform/Interix.cmake 2008-06-02 14:22:45 +0200
@@ -0,0 +1,31 @@
+# This is a proposed Platform definition for Interix GCC/G++
+
+SET(CMAKE_DL_LIBS "dl")
+SET(CMAKE_SHARED_LIBRARY_C_FLAGS "")
+SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")
+SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
+SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
+SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
+SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-h,")
+SET(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-Wl,-h,")
+
+SET(UNIX 1)
+
+# also add the install directory of the running cmake to the search directories
+# CMAKE_ROOT is CMAKE_INSTALL_PREFIX/share/cmake, so we need to go two levels up
+GET_FILENAME_COMPONENT(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH)
+GET_FILENAME_COMPONENT(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
+
+LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
+ "${_CMAKE_INSTALL_DIR}"
+ "${CMAKE_INSTALL_PREFIX}"
+ )
+
+LIST(APPEND CMAKE_SYSTEM_INCLUDE_PATH
+ "${CMAKE_INSTALL_PREFIX}"/include
+ )
+
+LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH
+ "${CMAKE_INSTALL_PREFIX}"/lib
+ )
+
diff -ruN cmake-2.6.0.orig/Utilities/cmtar/encode.c cmake-2.6.0/Utilities/cmtar/encode.c
--- cmake-2.6.0.orig/Utilities/cmtar/encode.c 2008-06-02 13:00:44 +0200
+++ cmake-2.6.0/Utilities/cmtar/encode.c 2008-06-02 14:02:39 +0200
@@ -24,6 +24,9 @@
# include <stdlib.h>
#endif
+#ifdef HAVE_SYS_MKDEV_H
+# include <sys/mkdev.h>
+#endif
/* magic, version, and checksum */
void

View File

@@ -0,0 +1,23 @@
Don't use .so for modules on darwin/macos. Use .bundle instead.
Patch by Heiko Przybyl
--- Modules/Platform/Darwin.cmake
+++ Modules/Platform/Darwin.cmake
@@ -23,7 +23,7 @@
SET(CMAKE_SHARED_LIBRARY_PREFIX "lib")
SET(CMAKE_SHARED_LIBRARY_SUFFIX ".dylib")
SET(CMAKE_SHARED_MODULE_PREFIX "lib")
-SET(CMAKE_SHARED_MODULE_SUFFIX ".so")
+SET(CMAKE_SHARED_MODULE_SUFFIX ".bundle")
SET(CMAKE_MODULE_EXISTS 1)
SET(CMAKE_DL_LIBS "")
@@ -45,7 +45,7 @@
SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -headerpad_max_install_names")
SET(CMAKE_SHARED_MODULE_LOADER_C_FLAG "-Wl,-bundle_loader,")
SET(CMAKE_SHARED_MODULE_LOADER_CXX_FLAG "-Wl,-bundle_loader,")
-SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib" ".so" ".a")
+SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib" ".bundle" ".a")
# hack: if a new cmake (which uses CMAKE_INSTALL_NAME_TOOL) runs on an old build tree
# (where install_name_tool was hardcoded) and where CMAKE_INSTALL_NAME_TOOL isn't in the cache

View File

@@ -0,0 +1,39 @@
http://public.kitware.com/Bug/view.php?id=7933
diff -ur cmake-2.6.2/Source/kwsys/kwsysPlatformTestsCXX.cxx cmake-2.6.2-p/Source/kwsys/kwsysPlatformTestsCXX.cxx
--- cmake-2.6.2/Source/kwsys/kwsysPlatformTestsCXX.cxx Wed Sep 24 20:34:37 2008
+++ cmake-2.6.2-p/Source/kwsys/kwsysPlatformTestsCXX.cxx Tue Nov 4 11:18:32 2008
@@ -38,6 +38,13 @@
int main() { return 0; }
#endif
+#ifdef TEST_KWSYS_LFS_SUPPORT
+#define _LARGE_FILES
+#include <iostream>
+int main() { return 0; }
+#endif
+
+
#ifdef TEST_KWSYS_IOS_HAVE_STD
#include <iosfwd>
void f(std ::ostream*) {}
diff -ur cmake-2.6.2/bootstrap cmake-2.6.2-p/bootstrap
--- cmake-2.6.2/bootstrap Wed Sep 24 20:34:33 2008
+++ cmake-2.6.2-p/bootstrap Tue Nov 4 11:17:11 2008
@@ -1005,6 +1005,16 @@
echo "${cmake_cxx_compiler} does not have stl iterator_traits"
fi
+if cmake_try_run "${cmake_cxx_compiler}" \
+ "${cmake_cxx_flags} -DTEST_KWSYS_LFS_SUPPORT" \
+ "${cmake_source_dir}/Source/kwsys/kwsysPlatformTestsCXX.cxx" >> cmake_bootstrap.log 2>&1; then
+ KWSYS_LFS_AVAILABLE=1
+ echo "LFS support available"
+else
+ KWSYS_LFS_AVAILABLE=0
+ echo "LFS support unavailable, disabled"
+fi
+
if [ "x${KWSYS_STL_HAS_ITERATOR_TRAITS}" = "x0" ]; then
if cmake_try_run "${cmake_cxx_compiler}" \
"${cmake_cxx_flags} -DTEST_KWSYS_STL_HAS_ITERATOR_CATEGORY -DKWSYS_STL_HAVE_STD=${KWSYS_STL_HAVE_STD}" \

View File

@@ -0,0 +1,19 @@
Patch by Heiko Przybyl
--- Source/cmComputeLinkInformation.cxx
+++ Source/cmComputeLinkInformation.cxx
@@ -1686,6 +1686,14 @@ std::string cmComputeLinkInformation::Ge
for(std::vector<std::string>::const_iterator ri = runtimeDirs.begin();
ri != runtimeDirs.end(); ++ri)
{
+ // Do not add duplicates.
+ // I'd like to have that check already in the list generation code
+ // but that would need lots of more changes, even in ExpandListArgument().
+ if(*sep != '\0' && (rpath + sep).find(*ri + sep) != std::string::npos)
+ {
+ //std::cerr << "ignoring duplicate: '" << *ri << "' in '" << rpath << "'" << std::endl;
+ continue;
+ }
// Separate from previous path.
rpath += sep;
sep = this->GetRuntimeSep().c_str();

View File

@@ -0,0 +1,22 @@
--- Modules/FindBoost.cmake
+++ Modules/FindBoost.cmake
@@ -57,7 +57,8 @@
#
# Currently this module searches for the following version numbers:
# 1.33, 1.33.0, 1.33.1, 1.34, 1.34.0, 1.34.1, 1.35, 1.35.0, 1.35.1,
-# 1.36, 1.36.0, 1.36.1, 1.37, 1.37.0, 1.38, 1.38.0
+# 1.36, 1.36.0, 1.36.1, 1.37, 1.37.0, 1.38, 1.38.0, 1.39, 1.39.0,
+# 1.40, 1.40.0, 1.41, 1.41.0, 1.42, 1.42.0, 1.43, 1.43.0, 1.44, 1.44.0
#
# NOTE: If you add a new major 1.x version in Boost_ADDITIONAL_VERSIONS you should
# add both 1.x and 1.x.0 as shown above. Official Boost include directories
@@ -271,7 +272,8 @@
# The user has not requested an exact version. Among known
# versions, find those that are acceptable to the user request.
set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
- "1.38.0" "1.38" "1.37.0" "1.37"
+ "1.44.0" "1.44" "1.43.0" "1.43" "1.42.0" "1.42" "1.41.0" "1.41"
+ "1.40.0" "1.40" "1.39.0" "1.39" "1.38.0" "1.38" "1.37.0" "1.37"
"1.36.1" "1.36.0" "1.36" "1.35.1" "1.35.0" "1.35" "1.34.1" "1.34.0"
"1.34" "1.33.1" "1.33.0" "1.33")
set(_boost_TEST_VERSIONS)

View File

@@ -0,0 +1,20 @@
The install_name of a library can be compared to the ELF soname, setting
it to just the library name (libx.1.dylib) is not sufficient on Mach-O,
as it uses full paths. Most apps have no clue about that, so they don't
do something like http://www.cmake.org/pipermail/cmake/2006-June/009758.html
Provide a sane default that will allow merging most cmake-based
packages. If this location is not correct, Portage's QA checks will
catch that.
--- Source/cmTarget.cxx
+++ Source/cmTarget.cxx
@@ -974,7 +974,7 @@
this->Makefile->IsOn("MINGW"));
// Setup default property values.
- this->SetPropertyDefault("INSTALL_NAME_DIR", "");
+ this->SetPropertyDefault("INSTALL_NAME_DIR", "${CMAKE_INSTALL_PREFIX}/lib");
this->SetPropertyDefault("INSTALL_RPATH", "");
this->SetPropertyDefault("INSTALL_RPATH_USE_LINK_PATH", "OFF");
this->SetPropertyDefault("SKIP_BUILD_RPATH", "OFF");

View File

@@ -0,0 +1,74 @@
Description: Don't build the GUI's app-bundle.
Author: Heiko Przybyl <zuxez@cs.tu-berlin.de>
--- cmake-2.8.0/CMakeLists.txt.orig 2010-02-10 19:38:03 +0100
+++ cmake-2.8.0/CMakeLists.txt 2010-02-10 19:38:49 +0100
@@ -381,7 +381,7 @@ IF(BUILD_CursesDialog)
ENDIF(BUILD_CursesDialog)
IF(BUILD_QtDialog)
- IF(APPLE)
+ IF(FALSE)
SET(CMAKE_BUNDLE_NAME
"CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}-${CMake_VERSION_PATCH}")
SET(CMAKE_BUNDLE_LOCATION "${CMAKE_INSTALL_PREFIX}")
@@ -394,7 +394,7 @@ IF(BUILD_QtDialog)
ENDIF(NOT "${ENDCH}" STREQUAL "/")
SET(CMAKE_INSTALL_PREFIX
"${CMAKE_INSTALL_PREFIX}${CMAKE_BUNDLE_NAME}.app/Contents")
- ENDIF(APPLE)
+ ENDIF(FALSE)
SET(QT_NEED_RPATH FALSE)
IF(NOT "${QT_LIBRARY_DIR}" STREQUAL "/lib" AND NOT "${QT_LIBRARY_DIR}" STREQUAL "/usr/lib" AND NOT "${QT_LIBRARY_DIR}" STREQUAL "/lib64" AND NOT "${QT_LIBRARY_DIR}" STREQUAL "/usr/lib64")
--- cmake-2.8.0/Source/QtDialog/CMakeLists.txt.orig 2010-02-10 19:39:59 +0100
+++ cmake-2.8.0/Source/QtDialog/CMakeLists.txt 2010-02-10 19:42:12 +0100
@@ -66,12 +66,12 @@ ELSE(NOT QT4_FOUND)
IF(Q_WS_WIN)
SET(SRCS ${SRCS} CMakeSetup.rc)
ENDIF(Q_WS_WIN)
- IF(Q_WS_MAC)
+ IF(FALSE)
SET(SRCS ${SRCS} CMakeSetup.icns)
SET(MACOSX_BUNDLE_ICON_FILE CMakeSetup.icns)
SET_SOURCE_FILES_PROPERTIES(CMakeSetup.icns PROPERTIES
MACOSX_PACKAGE_LOCATION Resources)
- ENDIF(Q_WS_MAC)
+ ENDIF(FALSE)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
@@ -79,13 +79,13 @@ ELSE(NOT QT4_FOUND)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
- ADD_EXECUTABLE(cmake-gui WIN32 MACOSX_BUNDLE ${SRCS})
+ ADD_EXECUTABLE(cmake-gui WIN32 ${SRCS})
TARGET_LINK_LIBRARIES(cmake-gui CMakeLib ${QT_QTMAIN_LIBRARY} ${QT_LIBRARIES})
IF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.4)
- IF(APPLE)
+ IF(FALSE)
SET_TARGET_PROPERTIES(cmake-gui PROPERTIES
OUTPUT_NAME ${CMAKE_BUNDLE_NAME})
- ENDIF(APPLE)
+ ENDIF(FALSE)
SET(CMAKE_INSTALL_DESTINATION_ARGS
BUNDLE DESTINATION "${CMAKE_BUNDLE_LOCATION}")
ENDIF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.4)
@@ -101,7 +101,7 @@ ELSE(NOT QT4_FOUND)
INSTALL(FILES cmakecache.xml DESTINATION share/mime/packages )
ENDIF(UNIX)
- IF(APPLE)
+ IF(FALSE)
SET(CMAKE_POSTFLIGHT_SCRIPT
"${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh")
SET(CMAKE_POSTUPGRADE_SCRIPT
@@ -115,7 +115,7 @@ ELSE(NOT QT4_FOUND)
INSTALL(CODE "set(input_file
\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/MacOS/${CMAKE_BUNDLE_NAME}\")")
INSTALL(SCRIPT "${CMake_SOURCE_DIR}/Source/QtDialog/CMakeIngestOSXBundleLibraries.cmake")
- ENDIF(APPLE)
+ ENDIF(FALSE)
CONFIGURE_FILE("${QtDialog_SOURCE_DIR}/QtDialogCPack.cmake.in"
"${QtDialog_BINARY_DIR}/QtDialogCPack.cmake" @ONLY)
ENDIF(NOT QT4_FOUND)

View File

@@ -0,0 +1,14 @@
diff -u -r cmake-2.8.1.orig/Modules/FindBoost.cmake cmake-2.8.1/Modules/FindBoost.cmake
--- cmake-2.8.1.orig/Modules/FindBoost.cmake 2010-03-16 21:29:29.000000000 +0100
+++ cmake-2.8.1/Modules/FindBoost.cmake 2010-04-04 19:52:50.000000000 +0200
@@ -70,7 +70,9 @@
# omit the 3rd version number from include paths if it is 0 although not all
# binary Boost releases do so.
#
-# SET(Boost_ADDITIONAL_VERSIONS "1.78" "1.78.0" "1.79" "1.79.0")
+SET(Boost_ADDITIONAL_VERSIONS "1.50.0" "1.50" "1.49.0" "1.49" "1.48.0" "1.48"
+ "1.47.0" "1.47" "1.46.0" "1.46" "1.45.0" "1.45" "1.44.0" "1.44" "1.43.0"
+ "1.43" "1.42.0" "1.42")
#
# ===================================== ============= ========================
#

View File

@@ -0,0 +1,50 @@
diff -u -r cmake-2.8.1.medium/CMakeLists.txt cmake-2.8.1/CMakeLists.txt
--- cmake-2.8.1.medium/CMakeLists.txt 2010-03-16 21:29:28.000000000 +0100
+++ cmake-2.8.1/CMakeLists.txt 2010-04-04 20:04:47.000000000 +0200
@@ -314,9 +314,6 @@
ELSE (UNIX)
SET(BUILD_CursesDialog 0)
ENDIF (UNIX)
- IF(BUILD_CursesDialog)
- ADD_SUBDIRECTORY(Source/CursesDialog/form)
- ENDIF(BUILD_CursesDialog)
ENDMACRO (CMAKE_BUILD_UTILITIES)
diff -u -r cmake-2.8.1.medium/Source/CursesDialog/CMakeLists.txt cmake-2.8.1/Source/CursesDialog/CMakeLists.txt
--- cmake-2.8.1.medium/Source/CursesDialog/CMakeLists.txt 2010-03-16 21:29:34.000000000 +0100
+++ cmake-2.8.1/Source/CursesDialog/CMakeLists.txt 2010-04-04 20:01:38.000000000 +0200
@@ -25,13 +25,18 @@
CursesDialog/ccmake
)
-INCLUDE_DIRECTORIES(${CMake_SOURCE_DIR}/Source/CursesDialog/form
- ${CMake_BINARY_DIR}/Source/CursesDialog/form)
INCLUDE_DIRECTORIES(${CURSES_INCLUDE_PATH})
ADD_EXECUTABLE(ccmake ${CURSES_SRCS} )
TARGET_LINK_LIBRARIES(ccmake CMakeLib)
-TARGET_LINK_LIBRARIES(ccmake cmForm)
+TARGET_LINK_LIBRARIES(ccmake form)
+TARGET_LINK_LIBRARIES(ccmake ${CURSES_LIBRARY})
+IF(CURSES_EXTRA_LIBRARY)
+ TARGET_LINK_LIBRARIES(ccmake ${CURSES_EXTRA_LIBRARY})
+ENDIF(CURSES_EXTRA_LIBRARY)
+
INSTALL_TARGETS(/bin ccmake)
+
+
diff -u -r cmake-2.8.1.medium/Source/CursesDialog/cmCursesStandardIncludes.h cmake-2.8.1/Source/CursesDialog/cmCursesStandardIncludes.h
--- cmake-2.8.1.medium/Source/CursesDialog/cmCursesStandardIncludes.h 2010-03-16 21:29:35.000000000 +0100
+++ cmake-2.8.1/Source/CursesDialog/cmCursesStandardIncludes.h 2010-04-04 20:01:38.000000000 +0200
@@ -15,8 +15,6 @@
#define _MSE_INT_H
#endif
-#include <cmFormConfigure.h>
-
#if defined(__hpux)
# define _BOOL_DEFINED
# include <sys/time.h>

View File

@@ -0,0 +1,108 @@
Set some proper paths to make cmake find our tools.
Original patch by Heiko Przybyl
The ebuild now adds an extra / at the end of $EPREFIX so that it is
never the empty string (so that CMAKE_SYSTEM_PREFIX_PATH remains
correct)
--- cmake-2.8.0/Modules/Platform/Darwin.cmake
+++ cmake-2.8.0/Modules/Platform/Darwin.cmake
@@ -213,19 +213,23 @@
-# default to searching for frameworks first
-SET(CMAKE_FIND_FRAMEWORK FIRST)
+# default to searching for frameworks last
+SET(CMAKE_FIND_FRAMEWORK LAST)
# set up the default search directories for frameworks
SET(CMAKE_SYSTEM_FRAMEWORK_PATH
+ @GENTOO_PORTAGE_EPREFIX@Frameworks
+ @GENTOO_PORTAGE_EPREFIX@usr/lib
~/Library/Frameworks
/Library/Frameworks
/Network/Library/Frameworks
/System/Library/Frameworks)
-# default to searching for application bundles first
-SET(CMAKE_FIND_APPBUNDLE FIRST)
+# default to searching for application bundles last
+SET(CMAKE_FIND_APPBUNDLE LAST)
# set up the default search directories for application bundles
SET(CMAKE_SYSTEM_APPBUNDLE_PATH
+ @GENTOO_PORTAGE_EPREFIX@Applications
+ @GENTOO_PORTAGE_EPREFIX@usr/bin
~/Applications
/Applications
/Developer/Applications)
--- cmake-2.8.0/Modules/Platform/UnixPaths.cmake
+++ cmake-2.8.0/Modules/Platform/UnixPaths.cmake
@@ -33,6 +33,7 @@
# search types.
LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
# Standard
+ @GENTOO_PORTAGE_EPREFIX@usr/local @GENTOO_PORTAGE_EPREFIX@usr @GENTOO_PORTAGE_EPREFIX@
/usr/local /usr /
# CMake install location
@@ -44,43 +45,39 @@
# List common include file locations not under the common prefixes.
LIST(APPEND CMAKE_SYSTEM_INCLUDE_PATH
- # Windows API on Cygwin
- /usr/include/w32api
-
- # X11
- /usr/X11R6/include /usr/include/X11
-
- # Other
- /opt/local/include /usr/pkg/include
- /opt/csw/include /opt/include
- /usr/openwin/include
+ @GENTOO_PORTAGE_EPREFIX@usr/include
)
LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH
- # Windows API on Cygwin
- /usr/lib/w32api
-
- # X11
- /usr/X11R6/lib /usr/lib/X11
-
- # Other
- /opt/local/lib /usr/pkg/lib
- /opt/csw/lib /opt/lib
- /usr/openwin/lib
+ @GENTOO_PORTAGE_GCCLIBDIR@/gcc
+ @GENTOO_PORTAGE_GCCLIBDIR@
+ @GENTOO_PORTAGE_EPREFIX@usr/lib64
+ @GENTOO_PORTAGE_EPREFIX@usr/lib32
+ @GENTOO_PORTAGE_EPREFIX@usr/lib
+ @GENTOO_PORTAGE_EPREFIX@lib
)
LIST(APPEND CMAKE_SYSTEM_PROGRAM_PATH
- /usr/pkg/bin
+ @GENTOO_PORTAGE_EPREFIX@usr/bin
+ @GENTOO_PORTAGE_EPREFIX@bin
)
LIST(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
+ @GENTOO_PORTAGE_GCCLIBDIR@/gcc
+ @GENTOO_PORTAGE_GCCLIBDIR@
+ @GENTOO_PORTAGE_EPREFIX@usr/lib64
+ @GENTOO_PORTAGE_EPREFIX@usr/lib32
+ @GENTOO_PORTAGE_EPREFIX@usr/lib
+ @GENTOO_PORTAGE_EPREFIX@lib
/lib /usr/lib /usr/lib32 /usr/lib64
)
LIST(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
+ @GENTOO_PORTAGE_EPREFIX@usr/include
/usr/include
)
LIST(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
+ @GENTOO_PORTAGE_EPREFIX@usr/include
/usr/include
)

View File

@@ -0,0 +1,20 @@
diff --git a/Modules/FindMPI.cmake b/Modules/FindMPI.cmake
index 481b0e9..43e97e8 100644
--- a/Modules/FindMPI.cmake
+++ b/Modules/FindMPI.cmake
@@ -263,13 +263,13 @@ elseif (MPI_COMPILE_CMDLINE)
# Extract the set of libraries to link against from the link command
# line
- string(REGEX MATCHALL "-l([^\" ]+|\"[^\"]+\")" MPI_LIBNAMES "${MPI_LINK_CMDLINE}")
+ string(REGEX MATCHALL " -l([^\" ]+|\"[^\"]+\")" MPI_LIBNAMES "${MPI_LINK_CMDLINE}")
# Determine full path names for all of the libraries that one needs
# to link against in an MPI program
set(MPI_LIBRARIES)
foreach(LIB ${MPI_LIBNAMES})
- string(REGEX REPLACE "^-l" "" LIB ${LIB})
+ string(REGEX REPLACE "^ -l" "" LIB ${LIB})
set(MPI_LIB "MPI_LIB-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
find_library(MPI_LIB ${LIB} HINTS ${MPI_LINK_PATH})
if (MPI_LIB)

View File

@@ -0,0 +1,217 @@
Author: Nathan Phillip Brink <ohnobinki@ohnopublishing.net>
Date: 2010/09/17
Purpose: Add a global FIND_LIBRARY_USE_LIB32_PATHS property which is
an analog to the existing FIND_LIBRARY_USE_LIB64_PATHS
property. This fixes kde-base/kdelib's ability to find
automoc4 using FIND_PACKAGE's NO_MODULE mode on systems where
/usr/lib is neither a symlink to /usr/lib64 or /usr/lib32.
Gentoo-Bug: 338492
diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake
index 5ee7ddb..afcde6f 100644
--- a/Modules/Platform/UnixPaths.cmake
+++ b/Modules/Platform/UnixPaths.cmake
@@ -86,3 +86,6 @@ LIST(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
# Enable use of lib64 search path variants by default.
SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE)
+# Enable use of lib32 search path variants by default. Useful on
+# multilib systems. Not harmful for normal systems.
+SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS TRUE)
diff --git a/Source/cmFindLibraryCommand.cxx b/Source/cmFindLibraryCommand.cxx
index 9077c8e..e09967d 100644
--- a/Source/cmFindLibraryCommand.cxx
+++ b/Source/cmFindLibraryCommand.cxx
@@ -92,6 +92,12 @@ bool cmFindLibraryCommand
// add special 64 bit paths if this is a 64 bit compile.
this->AddLib64Paths();
}
+ if(this->Makefile->GetCMakeInstance()
+ ->GetPropertyAsBool("FIND_LIBRARY_USE_LIB32_PATHS"))
+ {
+ // add special 32 bit paths if this is a 32 bit compile.
+ this->AddLib32Paths();
+ }
std::string library = this->FindLibrary();
if(library != "")
@@ -160,10 +166,7 @@ void cmFindLibraryCommand::AddLib64Paths()
{
return;
}
- std::string voidsize =
- this->Makefile->GetSafeDefinition("CMAKE_SIZEOF_VOID_P");
- int size = atoi(voidsize.c_str());
- if(size != 8)
+ if(!this->Makefile->PlatformIs64Bit())
{
return;
}
@@ -205,6 +208,55 @@ void cmFindLibraryCommand::AddLib64Paths()
}
}
+void cmFindLibraryCommand::AddLib32Paths()
+{
+ if(!this->Makefile->GetLocalGenerator()->GetGlobalGenerator()->
+ GetLanguageEnabled("C"))
+ {
+ return;
+ }
+ if(!this->Makefile->PlatformIs32Bit())
+ {
+ return;
+ }
+ std::vector<std::string> path32;
+ bool found32 = false;
+ for(std::vector<std::string>::iterator i = this->SearchPaths.begin();
+ i != this->SearchPaths.end(); ++i)
+ {
+ std::string s = *i;
+ std::string s2 = *i;
+ cmSystemTools::ReplaceString(s, "lib/", "lib32/");
+ // try to replace lib with lib32 and see if it is there,
+ // then prepend it to the path
+ // Note that all paths have trailing slashes.
+ if((s != *i) && cmSystemTools::FileIsDirectory(s.c_str()))
+ {
+ path32.push_back(s);
+ found32 = true;
+ }
+ // now just add a 32 to the path name and if it is there,
+ // add it to the path
+ s2 += "32/";
+ if(cmSystemTools::FileIsDirectory(s2.c_str()))
+ {
+ found32 = true;
+ path32.push_back(s2);
+ }
+ // now add the original unchanged path
+ if(cmSystemTools::FileIsDirectory(i->c_str()))
+ {
+ path32.push_back(*i);
+ }
+ }
+ // now replace the SearchPaths with the 32 bit converted path
+ // if any 32 bit paths were discovered
+ if(found32)
+ {
+ this->SearchPaths = path32;
+ }
+}
+
//----------------------------------------------------------------------------
std::string cmFindLibraryCommand::FindLibrary()
{
diff --git a/Source/cmFindLibraryCommand.h b/Source/cmFindLibraryCommand.h
index 486c2cf..e0dd49d 100644
--- a/Source/cmFindLibraryCommand.h
+++ b/Source/cmFindLibraryCommand.h
@@ -63,6 +63,7 @@ public:
protected:
void AddArchitecturePaths(const char* suffix);
void AddLib64Paths();
+ void AddLib32Paths();
std::string FindLibrary();
private:
std::string FindNormalLibrary();
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index ef0197a..b0a2985 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -66,6 +66,7 @@ cmFindPackageCommand::cmFindPackageCommand()
this->NoModule = false;
this->DebugMode = false;
this->UseLib64Paths = false;
+ this->UseLib32Paths = false;
this->PolicyScope = true;
this->VersionMajor = 0;
this->VersionMinor = 0;
@@ -341,6 +342,13 @@ bool cmFindPackageCommand
{
this->UseLib64Paths = true;
}
+ // Lookup whether lib32 paths should be used.
+ if(this->Makefile->PlatformIs32Bit() &&
+ this->Makefile->GetCMakeInstance()
+ ->GetPropertyAsBool("FIND_LIBRARY_USE_LIB32_PATHS"))
+ {
+ this->UseLib32Paths = true;
+ }
// Find the current root path mode.
this->SelectDefaultRootPathMode();
@@ -2105,6 +2113,10 @@ bool cmFindPackageCommand::SearchPrefix(std::string const& prefix_in)
{
common.push_back("lib64");
}
+ if(this->UseLib32Paths)
+ {
+ common.push_back("lib32");
+ }
common.push_back("lib");
common.push_back("share");
diff --git a/Source/cmFindPackageCommand.h b/Source/cmFindPackageCommand.h
index 57aeab9..06edc1a 100644
--- a/Source/cmFindPackageCommand.h
+++ b/Source/cmFindPackageCommand.h
@@ -134,6 +134,7 @@ private:
bool NoBuilds;
bool DebugMode;
bool UseLib64Paths;
+ bool UseLib32Paths;
bool PolicyScope;
std::vector<std::string> Names;
std::vector<std::string> Configs;
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index c64053a..c6cda07 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -1993,6 +1993,15 @@ bool cmMakefile::PlatformIs64Bit() const
return false;
}
+bool cmMakefile::PlatformIs32Bit() const
+{
+ if(const char* sizeof_dptr = this->GetDefinition("CMAKE_SIZEOF_VOID_P"))
+ {
+ return atoi(sizeof_dptr) == 4;
+ }
+ return false;
+}
+
bool cmMakefile::CanIWriteThisFile(const char* fileName)
{
if ( !this->IsOn("CMAKE_DISABLE_SOURCE_CHANGES") )
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 8b8a3f8..c16ba71 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -588,6 +588,8 @@ public:
/** Return whether the target platform is 64-bit. */
bool PlatformIs64Bit() const;
+ /** Return whether the target platform is 32-bit. */
+ bool PlatformIs32Bit() const;
/**
* Get a list of preprocessor define flags.
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 1e3b018..2bc3eba 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -3365,6 +3365,13 @@ void cmake::DefineProperties(cmake *cm)
"directories called lib in the search path when building 64-bit "
"binaries.");
cm->DefineProperty
+ ("FIND_LIBRARY_USE_LIB32_PATHS", cmProperty::GLOBAL,
+ "Whether FIND_LIBRARY should automatically search lib32 directories.",
+ "FIND_LIBRARY_USE_LIB32_PATHS is a boolean specifying whether the"
+ " FIND_LIBRARY command should automatically search the lib32 variant of"
+ " directories called lib in the search path when building 32-bit"
+ " binaries.");
+ cm->DefineProperty
("FIND_LIBRARY_USE_OPENBSD_VERSIONING", cmProperty::GLOBAL,
"Whether FIND_LIBRARY should find OpenBSD-style shared libraries.",
"This property is a boolean specifying whether the FIND_LIBRARY "

View File

@@ -0,0 +1,12 @@
diff -ruN cmake-2.8.3.orig/Modules/FindLibArchive.cmake cmake-2.8.3/Modules/FindLibArchive.cmake
--- cmake-2.8.3.orig/Modules/FindLibArchive.cmake 2010-11-04 02:58:27.000000000 +0700
+++ cmake-2.8.3/Modules/FindLibArchive.cmake 2010-11-05 17:40:53.712001939 +0700
@@ -50,7 +50,7 @@
# Handle the QUIETLY and REQUIRED arguments and set LIBARCHIVE_FOUND
# to TRUE if all listed variables are TRUE.
-include("${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake")
+include("${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake")
find_package_handle_standard_args(LibArchive DEFAULT_MSG
LibArchive_LIBRARY LibArchive_INCLUDE_DIR
)

View File

@@ -0,0 +1,11 @@
--- Modules/FindPythonInterp.cmake
+++ Modules/FindPythonInterp.cmake
@@ -20,7 +20,7 @@
# License text for the above reference.)
FIND_PROGRAM(PYTHON_EXECUTABLE
- NAMES python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5 python
+ NAMES python python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5
PATHS
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.7\\InstallPath]
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.6\\InstallPath]

View File

@@ -0,0 +1,13 @@
--- Modules/FindPythonLibs.cmake
+++ Modules/FindPythonLibs.cmake
@@ -27,7 +27,9 @@
# Search for the python framework on Apple.
CMAKE_FIND_FRAMEWORKS(Python)
-FOREACH(_CURRENT_VERSION 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0 1.6 1.5)
+EXECUTE_PROCESS(COMMAND python -c "import sys; sys.stdout.write('.'.join([str(x) for x in sys.version_info[:2]]))"
+ OUTPUT_VARIABLE _PYTHON_VERSION)
+FOREACH(_CURRENT_VERSION ${_PYTHON_VERSION})
STRING(REPLACE "." "" _CURRENT_VERSION_NO_DOTS ${_CURRENT_VERSION})
IF(WIN32)
FIND_LIBRARY(PYTHON_DEBUG_LIBRARY

View File

@@ -0,0 +1,109 @@
Set some proper paths to make cmake find our tools.
Original patch by Heiko Przybyl
The ebuild now adds an extra / at the end of $EPREFIX so that it is
never the empty string (so that CMAKE_SYSTEM_PREFIX_PATH remains
correct)
--- cmake-2.8.3/Modules/Platform/Darwin.cmake
+++ cmake-2.8.3/Modules/Platform/Darwin.cmake
@@ -217,19 +217,23 @@
-# default to searching for frameworks first
-SET(CMAKE_FIND_FRAMEWORK FIRST)
+# default to searching for frameworks last
+SET(CMAKE_FIND_FRAMEWORK LAST)
# set up the default search directories for frameworks
SET(CMAKE_SYSTEM_FRAMEWORK_PATH
+ @GENTOO_PORTAGE_EPREFIX@Frameworks
+ @GENTOO_PORTAGE_EPREFIX@usr/lib
~/Library/Frameworks
/Library/Frameworks
/Network/Library/Frameworks
/System/Library/Frameworks)
-# default to searching for application bundles first
-SET(CMAKE_FIND_APPBUNDLE FIRST)
+# default to searching for application bundles last
+SET(CMAKE_FIND_APPBUNDLE LAST)
# set up the default search directories for application bundles
SET(CMAKE_SYSTEM_APPBUNDLE_PATH
+ @GENTOO_PORTAGE_EPREFIX@Applications
+ @GENTOO_PORTAGE_EPREFIX@usr/bin
~/Applications
/Applications
/Developer/Applications)
diff -ruN cmake-2.8.3.orig/Modules/Platform/UnixPaths.cmake cmake-2.8.3/Modules/Platform/UnixPaths.cmake
--- cmake-2.8.3/Modules/Platform/UnixPaths.cmake
+++ cmake-2.8.3/Modules/Platform/UnixPaths.cmake
@@ -33,6 +33,7 @@
# search types.
LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
# Standard
+ @GENTOO_PORTAGE_EPREFIX@usr/local @GENTOO_PORTAGE_EPREFIX@usr @GENTOO_PORTAGE_EPREFIX@
/usr/local /usr /
# CMake install location
@@ -44,43 +45,39 @@
# List common include file locations not under the common prefixes.
LIST(APPEND CMAKE_SYSTEM_INCLUDE_PATH
- # Windows API on Cygwin
- /usr/include/w32api
-
- # X11
- /usr/X11R6/include /usr/include/X11
-
- # Other
- /usr/pkg/include
- /opt/csw/include /opt/include
- /usr/openwin/include
+ @GENTOO_PORTAGE_EPREFIX@usr/include
)
LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH
- # Windows API on Cygwin
- /usr/lib/w32api
-
- # X11
- /usr/X11R6/lib /usr/lib/X11
-
- # Other
- /usr/pkg/lib
- /opt/csw/lib /opt/lib
- /usr/openwin/lib
+ @GENTOO_PORTAGE_GCCLIBDIR@/gcc
+ @GENTOO_PORTAGE_GCCLIBDIR@
+ @GENTOO_PORTAGE_EPREFIX@usr/lib64
+ @GENTOO_PORTAGE_EPREFIX@usr/lib32
+ @GENTOO_PORTAGE_EPREFIX@usr/lib
+ @GENTOO_PORTAGE_EPREFIX@lib
)
LIST(APPEND CMAKE_SYSTEM_PROGRAM_PATH
- /usr/pkg/bin
+ @GENTOO_PORTAGE_EPREFIX@usr/bin
+ @GENTOO_PORTAGE_EPREFIX@bin
)
LIST(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
+ @GENTOO_PORTAGE_GCCLIBDIR@/gcc
+ @GENTOO_PORTAGE_GCCLIBDIR@
+ @GENTOO_PORTAGE_EPREFIX@usr/lib64
+ @GENTOO_PORTAGE_EPREFIX@usr/lib32
+ @GENTOO_PORTAGE_EPREFIX@usr/lib
+ @GENTOO_PORTAGE_EPREFIX@lib
/lib /usr/lib /usr/lib32 /usr/lib64
)
LIST(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
+ @GENTOO_PORTAGE_EPREFIX@usr/include
/usr/include
)
LIST(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
+ @GENTOO_PORTAGE_EPREFIX@usr/include
/usr/include
)

View File

@@ -0,0 +1,71 @@
diff -ru ./Modules/FindJNI.cmake ../a/Modules/FindJNI.cmake
--- ./Modules/FindJNI.cmake 2009-02-21 21:36:50.000000000 +0100
+++ ../a/Modules/FindJNI.cmake 2008-11-24 04:44:06.000000000 +0100
@@ -2,7 +2,7 @@
# This module finds if Java is installed and determines where the
# include files and libraries are. It also determines what the name of
# the library is. This code sets the following variables:
-#
+#
# JNI_INCLUDE_DIRS = the include dirs to use
# JNI_LIBRARIES = the libraries to use
# JAVA_AWT_LIBRARY = the path to the jawt library
@@ -51,6 +51,8 @@
"${dir}"
"${dir}/client"
"${dir}/server"
+ "${dir}/j9vm"
+ "${dir}/classic"
)
ENDFOREACH(dir)
@@ -60,7 +62,7 @@
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/include"
$ENV{JAVA_HOME}/include
- /usr/include
+ /usr/include
/usr/local/include
/usr/lib/java/include
/usr/local/lib/java/include
@@ -126,7 +128,7 @@
)
ENDIF(JAVA_HAVE_FRAMEWORK)
ELSE(APPLE)
- FIND_LIBRARY(JAVA_AWT_LIBRARY jawt
+ FIND_LIBRARY(JAVA_AWT_LIBRARY jawt
PATHS ${JAVA_AWT_LIBRARY_DIRECTORIES}
)
FIND_LIBRARY(JAVA_JVM_LIBRARY NAMES jvm JavaVM
@@ -134,18 +136,23 @@
)
ENDIF(APPLE)
-# add in the include path
-FIND_PATH(JAVA_INCLUDE_PATH jni.h
+# add in the include path
+FIND_PATH(JAVA_INCLUDE_PATH jni.h
${JAVA_AWT_INCLUDE_DIRECTORIES}
)
-FIND_PATH(JAVA_INCLUDE_PATH2 jni_md.h
+FIND_PATH(JAVA_INCLUDE_PATH2 jni_md.h
${JAVA_AWT_INCLUDE_DIRECTORIES}
${JAVA_INCLUDE_PATH}/win32
${JAVA_INCLUDE_PATH}/linux
${JAVA_INCLUDE_PATH}/freebsd
)
+FIND_PATH(JAVA_INCLUDE_PATH2 jniport.h
+ ${JAVA_AWT_INCLUDE_DIRECTORIES}
+ ${JAVA_INCLUDE_PATH}
+)
+
FIND_PATH(JAVA_AWT_INCLUDE_PATH jawt.h
${JAVA_AWT_INCLUDE_DIRECTORIES}
${JAVA_INCLUDE_PATH}
@@ -169,4 +176,3 @@
${JAVA_INCLUDE_PATH2}
${JAVA_AWT_INCLUDE_PATH}
)
-

View File

@@ -0,0 +1,11 @@
--- Modules/FindPythonInterp.cmake
+++ Modules/FindPythonInterp.cmake
@@ -7,7 +7,7 @@
#
FIND_PROGRAM(PYTHON_EXECUTABLE
- NAMES python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5 python
+ NAMES python python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5
PATHS
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.5\\InstallPath]
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.4\\InstallPath]

View File

@@ -0,0 +1,13 @@
--- Modules/FindPythonLibs.cmake
+++ Modules/FindPythonLibs.cmake
@@ -14,7 +14,9 @@
# Search for the python framework on Apple.
CMAKE_FIND_FRAMEWORKS(Python)
-FOREACH(_CURRENT_VERSION 2.6 2.5 2.4 2.3 2.2 2.1 2.0 1.6 1.5)
+EXECUTE_PROCESS(COMMAND python -c "import sys; sys.stdout.write('.'.join([str(x) for x in sys.version_info[:2]]))"
+ OUTPUT_VARIABLE _PYTHON_VERSION)
+FOREACH(_CURRENT_VERSION ${_PYTHON_VERSION})
STRING(REPLACE "." "" _CURRENT_VERSION_NO_DOTS ${_CURRENT_VERSION})
IF(WIN32)
FIND_LIBRARY(PYTHON_DEBUG_LIBRARY

View File

@@ -0,0 +1,3 @@
autocmd BufRead,BufNewFile *.cmake,CMakeLists.txt,*.cmake.in runtime! indent/cmake.vim
autocmd BufRead,BufNewFile *.cmake,CMakeLists.txt,*.cmake.in setf cmake
autocmd BufRead,BufNewFile *.ctest,*.ctest.in setf cmake