diff options
Diffstat (limited to 'dev-util/cmake/files')
16 files changed, 641 insertions, 0 deletions
diff --git a/dev-util/cmake/files/50cmake-gentoo.el b/dev-util/cmake/files/50cmake-gentoo.el new file mode 100644 index 00000000000..e4a1a6d47cb --- /dev/null +++ b/dev-util/cmake/files/50cmake-gentoo.el @@ -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)) diff --git a/dev-util/cmake/files/cmake-2.6.3-fix_broken_lfs_on_aix.patch b/dev-util/cmake/files/cmake-2.6.3-fix_broken_lfs_on_aix.patch new file mode 100644 index 00000000000..02c3011c8f7 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.6.3-fix_broken_lfs_on_aix.patch @@ -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}" \ diff --git a/dev-util/cmake/files/cmake-2.6.3-no-duplicates-in-rpath.patch b/dev-util/cmake/files/cmake-2.6.3-no-duplicates-in-rpath.patch new file mode 100644 index 00000000000..ceb205ff586 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.6.3-no-duplicates-in-rpath.patch @@ -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(); diff --git a/dev-util/cmake/files/cmake-2.8.10-darwin-bundle.patch b/dev-util/cmake/files/cmake-2.8.10-darwin-bundle.patch new file mode 100644 index 00000000000..9cb4777cc9b --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.10-darwin-bundle.patch @@ -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 +@@ -26,7 +26,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 "") + +@@ -48,7 +48,7 @@ + set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -Wl,-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 diff --git a/dev-util/cmake/files/cmake-2.8.10-darwin-isysroot.patch b/dev-util/cmake/files/cmake-2.8.10-darwin-isysroot.patch new file mode 100644 index 00000000000..97c93aa5831 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.10-darwin-isysroot.patch @@ -0,0 +1,50 @@ +Do not detect Xcode and set -isysroot for its SDK, since that messes up +our toolchain, and hence makes any compilation fail, bug #445308 + +--- Modules/Platform/Darwin.cmake ++++ Modules/Platform/Darwin.cmake +@@ -60,18 +60,18 @@ + endif() + + # Ask xcode-select where to find /Developer or fall back to ancient location. +-execute_process(COMMAND xcode-select -print-path +- OUTPUT_VARIABLE _stdout +- OUTPUT_STRIP_TRAILING_WHITESPACE +- ERROR_VARIABLE _stderr +- RESULT_VARIABLE _failed) +-if(NOT _failed AND IS_DIRECTORY ${_stdout}) +- set(OSX_DEVELOPER_ROOT ${_stdout}) +-elseif(IS_DIRECTORY "/Developer") +- set(OSX_DEVELOPER_ROOT "/Developer") +-else() ++#execute_process(COMMAND xcode-select -print-path ++# OUTPUT_VARIABLE _stdout ++# OUTPUT_STRIP_TRAILING_WHITESPACE ++# ERROR_VARIABLE _stderr ++# RESULT_VARIABLE _failed) ++#if(NOT _failed AND IS_DIRECTORY ${_stdout}) ++# set(OSX_DEVELOPER_ROOT ${_stdout}) ++#elseif(IS_DIRECTORY "/Developer") ++# set(OSX_DEVELOPER_ROOT "/Developer") ++#else() + set(OSX_DEVELOPER_ROOT "") +-endif() ++#endif() + + execute_process(COMMAND sw_vers -productVersion + OUTPUT_VARIABLE CURRENT_OSX_VERSION +@@ -91,10 +91,10 @@ + # CMAKE_OSX_DEPLOYMENT_TARGET + + # Set cache variable - end user may change this during ccmake or cmake-gui configure. +-if(_CURRENT_OSX_VERSION VERSION_GREATER 10.3) +- set(CMAKE_OSX_DEPLOYMENT_TARGET "$ENV{MACOSX_DEPLOYMENT_TARGET}" CACHE STRING +- "Minimum OS X version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value.") +-endif() ++#if(_CURRENT_OSX_VERSION VERSION_GREATER 10.3) ++# set(CMAKE_OSX_DEPLOYMENT_TARGET "$ENV{MACOSX_DEPLOYMENT_TARGET}" CACHE STRING ++# "Minimum OS X version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value.") ++#endif() + + #---------------------------------------------------------------------------- + # CMAKE_OSX_SYSROOT diff --git a/dev-util/cmake/files/cmake-2.8.10-libform.patch b/dev-util/cmake/files/cmake-2.8.10-libform.patch new file mode 100644 index 00000000000..052cc30699f --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.10-libform.patch @@ -0,0 +1,51 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ea1c033..ae479ce 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -395,9 +395,6 @@ macro (CMAKE_BUILD_UTILITIES) + else () + set(BUILD_CursesDialog 0) + endif () +- if(BUILD_CursesDialog) +- add_subdirectory(Source/CursesDialog/form) +- endif() + endmacro () + + #----------------------------------------------------------------------- +diff --git a/Source/CursesDialog/CMakeLists.txt b/Source/CursesDialog/CMakeLists.txt +index 96e28b4..4102379 100644 +--- a/Source/CursesDialog/CMakeLists.txt ++++ b/Source/CursesDialog/CMakeLists.txt +@@ -25,13 +25,16 @@ set( CURSES_SRCS + 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 --git a/Source/CursesDialog/cmCursesStandardIncludes.h b/Source/CursesDialog/cmCursesStandardIncludes.h +index b157a28..f131ea4 100644 +--- a/Source/CursesDialog/cmCursesStandardIncludes.h ++++ b/Source/CursesDialog/cmCursesStandardIncludes.h +@@ -15,8 +15,6 @@ + #define _MSE_INT_H + #endif + +-#include <cmFormConfigure.h> +- + #if defined(__hpux) + # define _BOOL_DEFINED + # include <sys/time.h> diff --git a/dev-util/cmake/files/cmake-2.8.10.2-FindPythonInterp.patch b/dev-util/cmake/files/cmake-2.8.10.2-FindPythonInterp.patch new file mode 100644 index 00000000000..a7e8688ec87 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.10.2-FindPythonInterp.patch @@ -0,0 +1,22 @@ +--- Modules/FindPythonInterp.cmake ++++ Modules/FindPythonInterp.cmake +@@ -60,6 +60,10 @@ + + list(APPEND _Python_NAMES python) + ++if (CMAKE_BUILD_TYPE STREQUAL Gentoo) ++ set(_Python_NAMES python) ++endif() ++ + # Search for the current active python version first + find_program(PYTHON_EXECUTABLE NAMES ${_Python_NAMES}) + +@@ -76,7 +80,7 @@ + unset(_PYTHON3_VERSIONS) + + # Search for newest python version if python executable isn't found +-if(NOT PYTHON_EXECUTABLE) ++if(NOT PYTHON_EXECUTABLE AND NOT CMAKE_BUILD_TYPE STREQUAL Gentoo) + foreach(_CURRENT_VERSION ${_Python_VERSIONS}) + set(_Python_NAMES python${_CURRENT_VERSION}) + if(WIN32) diff --git a/dev-util/cmake/files/cmake-2.8.10.2-FindPythonLibs.patch b/dev-util/cmake/files/cmake-2.8.10.2-FindPythonLibs.patch new file mode 100644 index 00000000000..2a83ff7abb6 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.10.2-FindPythonLibs.patch @@ -0,0 +1,24 @@ +diff --git a/Modules/FindPythonLibs.cmake b/Modules/FindPythonLibs.cmake +index bffa9fb..8fc90ee 100644 +--- a/Modules/FindPythonLibs.cmake ++++ b/Modules/FindPythonLibs.cmake +@@ -74,6 +74,19 @@ set(_Python_VERSIONS + ${_PYTHON_FIND_OTHER_VERSIONS} + ) + ++# Gentoo portage requires that you use exactly the given python version ++if (CMAKE_BUILD_TYPE STREQUAL Gentoo) ++ execute_process(COMMAND python -c "import sys; sys.stdout.write('.'.join([str(x) for x in sys.version_info[:2]]))" ++ OUTPUT_VARIABLE _Gentoo_Python_VERSION) ++ list(FIND _Python_VERSIONS "${_Gentoo_Python_VERSION}" _Gentoo_Python_INDEX) ++ if (_Gentoo_Python_INDEX EQUAL -1) ++ # the current Gentoo python version is not compatible with what is requested ++ set(_Python_VERSIONS) ++ else () ++ set(_Python_VERSIONS "${_Gentoo_Python_VERSION}") ++ endif () ++endif() ++ + unset(_PYTHON_FIND_OTHER_VERSIONS) + unset(_PYTHON1_VERSIONS) + unset(_PYTHON2_VERSIONS) diff --git a/dev-util/cmake/files/cmake-2.8.12.1-FindFreetype.patch b/dev-util/cmake/files/cmake-2.8.12.1-FindFreetype.patch new file mode 100644 index 00000000000..6dc244c239c --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.12.1-FindFreetype.patch @@ -0,0 +1,43 @@ +From: Julian Ospald <hasufell@gentoo.org> +Date: Sun Dec 8 13:38:06 UTC 2013 +Subject: fix check for freetype-2.5.1 + +--- Modules/FindFreetype.cmake ++++ Modules/FindFreetype.cmake +@@ -64,6 +64,19 @@ + PATH_SUFFIXES include/freetype2 include + ) + ++if(NOT FREETYPE_INCLUDE_DIR_freetype2) ++ find_path(FREETYPE_INCLUDE_DIR_freetype2 config/ftheader.h ++ HINTS ++ ENV FREETYPE_DIR ++ PATHS ++ /usr/X11R6 ++ /usr/local/X11R6 ++ /usr/local/X11 ++ /usr/freeware ++ PATH_SUFFIXES include/freetype2 include ++ ) ++endif() ++ + find_library(FREETYPE_LIBRARY + NAMES freetype libfreetype freetype219 + HINTS +@@ -82,8 +95,14 @@ + endif() + set(FREETYPE_LIBRARIES "${FREETYPE_LIBRARY}") + +-if(FREETYPE_INCLUDE_DIR_freetype2 AND EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h") +- file(STRINGS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h" freetype_version_str ++if(EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h") ++ set(FREETYPE_H "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h") ++elseif(EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype.h") ++ set(FREETYPE_H "${FREETYPE_INCLUDE_DIR_freetype2}/freetype.h") ++endif() ++ ++if(FREETYPE_INCLUDE_DIR_freetype2 AND FREETYPE_H) ++ file(STRINGS "${FREETYPE_H}" freetype_version_str + REGEX "^#[\t ]*define[\t ]+FREETYPE_(MAJOR|MINOR|PATCH)[\t ]+[0-9]+$") + + unset(FREETYPE_VERSION_STRING) diff --git a/dev-util/cmake/files/cmake-2.8.12.1-FindImageMagick.patch b/dev-util/cmake/files/cmake-2.8.12.1-FindImageMagick.patch new file mode 100644 index 00000000000..b094f17938c --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.12.1-FindImageMagick.patch @@ -0,0 +1,23 @@ +--- Modules/FindImageMagick.cmake ++++ Modules/FindImageMagick.cmake +@@ -147,17 +147,17 @@ + ) + if(component STREQUAL "Magick++") + FIND_IMAGEMAGICK_API(Magick++ Magick++.h +- Magick++ CORE_RL_Magick++_ Magick++-6.Q16 Magick++-Q16 Magick++-6.Q8 Magick++-Q8 Magick++-6.Q16HDRI Magick++-Q16HDRI Magick++-6.Q8HDRI Magick++-Q8HDRI ++ Magick++ CORE_RL_Magick++_ Magick++-6.Q64 Magick++-6.Q64HDRI Magick++-6.Q32 Magick++-6.Q32HDRI Magick++-6.Q16 Magick++-6.Q16HDRI Magick++-6.Q8 Magick++-6.Q8HDRI + ) + list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_Magick++_LIBRARY) + elseif(component STREQUAL "MagickWand") + FIND_IMAGEMAGICK_API(MagickWand wand/MagickWand.h +- Wand MagickWand CORE_RL_wand_ MagickWand-6.Q16 MagickWand-Q16 MagickWand-6.Q8 MagickWand-Q8 MagickWand-6.Q16HDRI MagickWand-Q16HDRI MagickWand-6.Q8HDRI MagickWand-Q8HDRI ++ Wand MagickWand CORE_RL_wand_ MagickWand-6.Q64 MagickWand-6.Q64HDRI MagickWand-6.Q32 MagickWand-6.Q32HDRI MagickWand-6.Q16 MagickWand-6.Q16HDRI MagickWand-6.Q8 MagickWand-6.Q8HDRI + ) + list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickWand_LIBRARY) + elseif(component STREQUAL "MagickCore") + FIND_IMAGEMAGICK_API(MagickCore magick/MagickCore.h +- Magick MagickCore CORE_RL_magick_ MagickCore-6.Q16 MagickCore-Q16 MagickCore-6.Q8 MagickCore-Q8 MagickCore-6.Q16HDRI MagickCore-Q16HDRI MagickCore-6.Q8HDRI MagickCore-Q8HDRI ++ Magick MagickCore CORE_RL_magick_ MagickCore-6.Q64 MagickCore-6.Q64HDRI MagickCore-6.Q32 MagickCore-6.Q32HDRI MagickCore-6.Q16 MagickCore-6.Q16HDRI MagickCore-6.Q8 MagickCore-6.Q8HDRI + ) + list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickCore_LIBRARY) + else() diff --git a/dev-util/cmake/files/cmake-2.8.8-FindPkgConfig.patch b/dev-util/cmake/files/cmake-2.8.8-FindPkgConfig.patch new file mode 100644 index 00000000000..c5e17c5ba64 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.8-FindPkgConfig.patch @@ -0,0 +1,18 @@ +diff --git a/Modules/FindPkgConfig.cmake b/Modules/FindPkgConfig.cmake +index c47f583..5783d37 100644 +--- a/Modules/FindPkgConfig.cmake ++++ b/Modules/FindPkgConfig.cmake +@@ -87,7 +87,12 @@ + set(PKG_CONFIG_VERSION 1) + set(PKG_CONFIG_FOUND 0) + +-find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config DOC "pkg-config executable") ++if(NOT PKG_CONFIG_EXECUTABLE) ++ set(PKG_CONFIG_EXECUTABLE $ENV{PKG_CONFIG}) ++ if(NOT PKG_CONFIG_EXECUTABLE) ++ find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config DOC "pkg-config executable") ++ endif(NOT PKG_CONFIG_EXECUTABLE) ++endif(NOT PKG_CONFIG_EXECUTABLE) + mark_as_advanced(PKG_CONFIG_EXECUTABLE) + + if(PKG_CONFIG_EXECUTABLE) diff --git a/dev-util/cmake/files/cmake-3.0.0-FindBLAS.patch b/dev-util/cmake/files/cmake-3.0.0-FindBLAS.patch new file mode 100644 index 00000000000..86c5dc7fd54 --- /dev/null +++ b/dev-util/cmake/files/cmake-3.0.0-FindBLAS.patch @@ -0,0 +1,43 @@ +--- Modules/FindBLAS.cmake ++++ Modules/FindBLAS.cmake +@@ -4,6 +4,10 @@ + # + # Find BLAS library + # ++# Version modified for Gentoo Linux. ++# If a valid PkgConfig configuration is found, this overrides and cancels ++# all further checks. ++# + # This module finds an installed fortran library that implements the + # BLAS linear-algebra interface (see http://www.netlib.org/blas/). The + # list of libraries searched for is taken from the autoconf macro file, +@@ -50,6 +54,23 @@ + # (To distribute this file outside of CMake, substitute the full + # License text for the above reference.) + ++# first, try PkgConfig ++# ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(PC_BLAS blas) ++if(PC_BLAS_FOUND) ++ foreach(PC_LIB ${PC_BLAS_LIBRARIES}) ++ find_library(${PC_LIB}_LIBRARY NAMES ${PC_LIB} HINTS ${PC_BLAS_LIBRARY_DIRS} ) ++ if (NOT ${PC_LIB}_LIBRARY) ++ message(FATAL_ERROR "Something is wrong in your pkg-config file - lib ${PC_LIB} not found in ${PC_BLAS_LIBRARY_DIRS}") ++ endif (NOT ${PC_LIB}_LIBRARY) ++ list(APPEND BLAS_LIBRARIES ${${PC_LIB}_LIBRARY}) ++ endforeach(PC_LIB) ++ find_package_handle_standard_args(BLAS DEFAULT_MSG BLAS_LIBRARIES) ++ mark_as_advanced(BLAS_LIBRARIES) ++else(PC_BLAS_FOUND) ++message(STATUS "No PkgConfig configuration for BLAS found; starting more extensive search.") ++ + include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake) + include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake) + +@@ -688,3 +709,5 @@ + endif() + + set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) ++ ++endif(PC_BLAS_FOUND) diff --git a/dev-util/cmake/files/cmake-3.0.0-FindBoost-python.patch b/dev-util/cmake/files/cmake-3.0.0-FindBoost-python.patch new file mode 100644 index 00000000000..a6291d2b850 --- /dev/null +++ b/dev-util/cmake/files/cmake-3.0.0-FindBoost-python.patch @@ -0,0 +1,93 @@ +From 934ec9add33d413e4d5c9cec1cb3ebb5cbfd81f4 Mon Sep 17 00:00:00 2001 +From: Michael Palimaka <kensington@gentoo.org> +Date: Thu, 19 Jun 2014 00:17:48 +1000 +Subject: [PATCH] Fix detection of PYTHON_ABI-versioned Boost Python libraries + wrt bug #400969. + +--- + Modules/FindBoost.cmake | 41 +++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 41 insertions(+) + +diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake +index dfd4460..70bfb4f 100644 +--- a/Modules/FindBoost.cmake ++++ b/Modules/FindBoost.cmake +@@ -952,6 +952,15 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS}) + set( _boost_docstring_release "Boost ${COMPONENT} library (release)") + set( _boost_docstring_debug "Boost ${COMPONENT} library (debug)") + ++ if(${COMPONENT} STREQUAL "python" OR ${COMPONENT} STREQUAL "mpi_python") ++ # Get version of Python. ++ if (NOT PYTHON_EXECUTABLE) ++ #if a certain version of python was detected by cmake before use that one ++ set(PYTHON_EXECUTABLE "python") ++ endif (NOT PYTHON_EXECUTABLE) ++ execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c "import sys; sys.stdout.write('.'.join(str(x) for x in sys.version_info[:2]))" OUTPUT_VARIABLE _python_version) ++ endif() ++ + # Compute component-specific hints. + set(_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT "") + if(${COMPONENT} STREQUAL "mpi" OR ${COMPONENT} STREQUAL "mpi_python" OR +@@ -984,6 +993,15 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS}) + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT} ) ++ if(${COMPONENT} STREQUAL "python" OR ${COMPONENT} STREQUAL "mpi_python") ++ list(APPEND _boost_RELEASE_NAMES ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version} ) ++ endif() ++ + if(_boost_STATIC_RUNTIME_WORKAROUND) + set(_boost_RELEASE_STATIC_ABI_TAG "-s${_boost_RELEASE_ABI_TAG}") + list(APPEND _boost_RELEASE_NAMES +@@ -991,6 +1009,13 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS}) + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} ) ++ if(${COMPONENT} STREQUAL "python" OR ${COMPONENT} STREQUAL "mpi_python") ++ list(APPEND _boost_RELEASE_NAMES ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} ) ++ endif() + endif() + if(Boost_THREADAPI AND ${COMPONENT} STREQUAL "thread") + _Boost_PREPEND_LIST_WITH_THREADAPI(_boost_RELEASE_NAMES ${_boost_RELEASE_NAMES}) +@@ -1020,6 +1045,15 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS}) + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT} ) ++ if(${COMPONENT} STREQUAL "python" OR ${COMPONENT} STREQUAL "mpi_python") ++ list(APPEND _boost_DEBUG_NAMES ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version} ) ++ endif() + if(_boost_STATIC_RUNTIME_WORKAROUND) + set(_boost_DEBUG_STATIC_ABI_TAG "-s${_boost_DEBUG_ABI_TAG}") + list(APPEND _boost_DEBUG_NAMES +@@ -1027,6 +1061,13 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS}) + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} ) ++ if(${COMPONENT} STREQUAL "python" OR ${COMPONENT} STREQUAL "mpi_python") ++ list(APPEND _boost_DEBUG_NAMES ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} ) ++ endif() + endif() + if(Boost_THREADAPI AND ${COMPONENT} STREQUAL "thread") + _Boost_PREPEND_LIST_WITH_THREADAPI(_boost_DEBUG_NAMES ${_boost_DEBUG_NAMES}) +-- +1.8.5.5 + diff --git a/dev-util/cmake/files/cmake-3.0.0-FindLAPACK.patch b/dev-util/cmake/files/cmake-3.0.0-FindLAPACK.patch new file mode 100644 index 00000000000..611c5ceb94f --- /dev/null +++ b/dev-util/cmake/files/cmake-3.0.0-FindLAPACK.patch @@ -0,0 +1,44 @@ +--- Modules/FindLAPACK.cmake ++++ Modules/FindLAPACK.cmake +@@ -4,6 +4,10 @@ + # + # Find LAPACK library + # ++# Version modified for Gentoo Linux. ++# If a valid PkgConfig configuration is found, this overrides and cancels ++# all further checks. ++# + # This module finds an installed fortran library that implements the + # LAPACK linear-algebra interface (see http://www.netlib.org/lapack/). + # +@@ -72,6 +76,24 @@ + # N.B. _prefix is the prefix applied to the names of all cached variables that + # are generated internally and marked advanced by this macro. + ++# ++# first, try PkgConfig ++# ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(PC_LAPACK lapack) ++if(PC_LAPACK_FOUND) ++ foreach(PC_LIB ${PC_LAPACK_LIBRARIES}) ++ find_library(${PC_LIB}_LIBRARY NAMES ${PC_LIB} HINTS ${PC_LAPACK_LIBRARY_DIRS} ) ++ if (NOT ${PC_LIB}_LIBRARY) ++ message(FATAL_ERROR "Something is wrong in your pkg-config file - lib ${PC_LIB} not found in ${PC_LAPACK_LIBRARY_DIRS}") ++ endif (NOT ${PC_LIB}_LIBRARY) ++ list(APPEND LAPACK_LIBRARIES ${${PC_LIB}_LIBRARY}) ++ endforeach(PC_LIB) ++ find_package_handle_standard_args(LAPACK DEFAULT_MSG LAPACK_LIBRARIES) ++ mark_as_advanced(LAPACK_LIBRARIES) ++else(PC_LAPACK_FOUND) ++message(STATUS "No PkgConfig configuration for LAPACK found; starting more extensive search.") ++ + set(_libraries_work TRUE) + set(${LIBRARIES}) + set(_combined_name) +@@ -348,3 +370,5 @@ + endif() + + set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) ++ ++endif(PC_LAPACK_FOUND) diff --git a/dev-util/cmake/files/cmake-3.0.0-prefix-dirs.patch b/dev-util/cmake/files/cmake-3.0.0-prefix-dirs.patch new file mode 100644 index 00000000000..decfb91260a --- /dev/null +++ b/dev-util/cmake/files/cmake-3.0.0-prefix-dirs.patch @@ -0,0 +1,142 @@ +From e7ce3e523f8cfa1bc749118f381753230766827f Mon Sep 17 00:00:00 2001 +From: Michael Palimaka <kensington@gentoo.org> +Date: Thu, 19 Jun 2014 00:08:13 +1000 +Subject: [PATCH] Set some proper paths to make cmake find our tools. + +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) + +Original patch by Heiko Przybyl. +Updated by Chris Reffett (cmake-2.8.8) +Updated by Johannes Huber (cmake-2.8.9) +Updated by Michael Palimaka (cmake-2.8.10) +Updated by Chris Reffett (cmake-2.8.11) +Updated by Michael Palimaka (cmake-3.0.0) +--- + Modules/Platform/Darwin.cmake | 12 +++++++---- + Modules/Platform/UnixPaths.cmake | 43 ++++++++++++++++++++-------------------- + 2 files changed, 29 insertions(+), 26 deletions(-) + +diff --git a/Modules/Platform/Darwin.cmake b/Modules/Platform/Darwin.cmake +index e25df1e..9b22a6a 100644 +--- a/Modules/Platform/Darwin.cmake ++++ b/Modules/Platform/Darwin.cmake +@@ -132,9 +132,9 @@ set(CMAKE_C_FRAMEWORK_SEARCH_FLAG -F) + set(CMAKE_CXX_FRAMEWORK_SEARCH_FLAG -F) + set(CMAKE_Fortran_FRAMEWORK_SEARCH_FLAG -F) + +-# default to searching for frameworks first ++# default to searching for frameworks last + if(NOT DEFINED CMAKE_FIND_FRAMEWORK) +- set(CMAKE_FIND_FRAMEWORK FIRST) ++ set(CMAKE_FIND_FRAMEWORK LAST) + endif() + + # Older OS X linkers do not report their framework search path +@@ -156,6 +156,8 @@ endif() + + # set up the default search directories for frameworks + set(CMAKE_SYSTEM_FRAMEWORK_PATH ++ @GENTOO_PORTAGE_EPREFIX@Frameworks ++ @GENTOO_PORTAGE_EPREFIX@usr/lib + ~/Library/Frameworks + ) + if(_CMAKE_OSX_SYSROOT_PATH) +@@ -187,13 +189,15 @@ if(CMAKE_OSX_SYSROOT) + endif() + endif() + +-# default to searching for application bundles first ++# default to searching for application bundles last + if(NOT DEFINED CMAKE_FIND_APPBUNDLE) +- set(CMAKE_FIND_APPBUNDLE FIRST) ++ set(CMAKE_FIND_APPBUNDLE LAST) + endif() + # set up the default search directories for application bundles + set(_apps_paths) + foreach(_path ++ @GENTOO_PORTAGE_EPREFIX@Applications ++ @GENTOO_PORTAGE_EPREFIX@usr/bin + "~/Applications" + "/Applications" + "${OSX_DEVELOPER_ROOT}/../Applications" # Xcode 4.3+ +diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake +index 20ee1d1..3481ca8 100644 +--- a/Modules/Platform/UnixPaths.cmake ++++ b/Modules/Platform/UnixPaths.cmake +@@ -33,6 +33,7 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH) + # 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 +@@ -53,43 +54,41 @@ endif() + + # 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/libx32 ++ @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 +- /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64 ++ @GENTOO_PORTAGE_GCCLIBDIR@/gcc ++ @GENTOO_PORTAGE_GCCLIBDIR@ ++ @GENTOO_PORTAGE_EPREFIX@usr/lib64 ++ @GENTOO_PORTAGE_EPREFIX@usr/libx32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib ++ @GENTOO_PORTAGE_EPREFIX@lib ++ /lib /usr/lib /usr/lib32 /usr/lib64 /usr/libx32 + ) + + 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 + ) + +-- +1.8.5.5 + diff --git a/dev-util/cmake/files/cmake.vim b/dev-util/cmake/files/cmake.vim new file mode 100644 index 00000000000..5cecd7d05b6 --- /dev/null +++ b/dev-util/cmake/files/cmake.vim @@ -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 |
