cmake-2_8: fix for multiple outputs

This commit is contained in:
Nikolay Amiantov 2016-04-13 22:03:48 +03:00
parent ae7b54d0b4
commit d528c7d8f5
2 changed files with 43 additions and 45 deletions

View File

@ -58,11 +58,14 @@ stdenv.mkDerivation rec {
dontUseCmakeConfigure = true; dontUseCmakeConfigure = true;
preConfigure = optionalString (stdenv ? glibc) preConfigure = with stdenv; optionalString (stdenv ? glibc)
'' ''
source $setupHook source $setupHook
fixCmakeFiles . fixCmakeFiles .
substituteInPlace Modules/Platform/UnixPaths.cmake --subst-var-by glibc ${stdenv.glibc} substituteInPlace Modules/Platform/UnixPaths.cmake \
--subst-var-by glibc_bin ${glibc.bin or glibc} \
--subst-var-by glibc_dev ${glibc.dev or glibc} \
--subst-var-by glibc_lib ${glibc.out or glibc}
''; '';
meta = { meta = {

View File

@ -1,8 +1,7 @@
diff --git a/Modules/Platform/Linux.cmake b/Modules/Platform/Linux.cmake diff -ru3 cmake-2.8.12.2/Modules/Platform/Linux.cmake cmake-2.8.12.2-new/Modules/Platform/Linux.cmake
index fe8e003..378512c 100644 --- cmake-2.8.12.2/Modules/Platform/Linux.cmake 2014-01-16 21:15:08.000000000 +0400
--- a/Modules/Platform/Linux.cmake +++ cmake-2.8.12.2-new/Modules/Platform/Linux.cmake 2016-04-13 22:00:32.928575740 +0300
+++ b/Modules/Platform/Linux.cmake @@ -36,22 +36,11 @@
@@ -36,13 +36,13 @@ else()
# checking the platform every time. This option is advanced enough # checking the platform every time. This option is advanced enough
# that only package maintainers should need to adjust it. They are # that only package maintainers should need to adjust it. They are
# capable of providing a setting on the command line. # capable of providing a setting on the command line.
@ -10,46 +9,40 @@ index fe8e003..378512c 100644
- set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL - set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
- "Install .so files without execute permission.") - "Install .so files without execute permission.")
- else() - else()
+ # if(EXISTS "/etc/debian_version") - set(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
+ # set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL - "Install .so files without execute permission.")
+ # "Install .so files without execute permission.")
+ # else()
set(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
"Install .so files without execute permission.")
- endif() - endif()
+ # endif() + set(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
+ "Install .so files without execute permission.")
endif() endif()
# Match multiarch library directory names. # Match multiarch library directory names.
@@ -52,6 +52,6 @@ include(Platform/UnixPaths) set(CMAKE_LIBRARY_ARCHITECTURE_REGEX "[a-z0-9_]+(-[a-z0-9_]+)?-linux-gnu[a-z0-9_]*")
# Debian has lib64 paths only for compatibility so they should not be include(Platform/UnixPaths)
# searched. -
-# Debian has lib64 paths only for compatibility so they should not be
-# searched.
-if(EXISTS "/etc/debian_version") -if(EXISTS "/etc/debian_version")
- set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE) - set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
-endif() -endif()
+# if(EXISTS "/etc/debian_version") diff -ru3 cmake-2.8.12.2/Modules/Platform/UnixPaths.cmake cmake-2.8.12.2-new/Modules/Platform/UnixPaths.cmake
+# set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE) --- cmake-2.8.12.2/Modules/Platform/UnixPaths.cmake 2014-01-16 21:15:08.000000000 +0400
+#endif() +++ cmake-2.8.12.2-new/Modules/Platform/UnixPaths.cmake 2016-04-14 00:09:10.106362636 +0300
diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake @@ -32,9 +32,6 @@
index ccb2663..39834e6 100644 # List common installation prefixes. These will be used for all
--- a/Modules/Platform/UnixPaths.cmake
+++ b/Modules/Platform/UnixPaths.cmake
@@ -33,55 +33,18 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
# search types. # search types.
list(APPEND CMAKE_SYSTEM_PREFIX_PATH list(APPEND CMAKE_SYSTEM_PREFIX_PATH
# Standard - # Standard
- /usr/local /usr / - /usr/local /usr /
- -
- # CMake install location # CMake install location
- "${_CMAKE_INSTALL_DIR}" "${_CMAKE_INSTALL_DIR}"
-
- # Project install destination. @@ -44,44 +41,26 @@
- "${CMAKE_INSTALL_PREFIX}"
- ) # List common include file locations not under the common prefixes.
- list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
-# List common include file locations not under the common prefixes.
-list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
- # Windows API on Cygwin - # Windows API on Cygwin
- /usr/include/w32api - /usr/include/w32api
- -
@ -60,9 +53,10 @@ index ccb2663..39834e6 100644
- /usr/pkg/include - /usr/pkg/include
- /opt/csw/include /opt/include - /opt/csw/include /opt/include
- /usr/openwin/include - /usr/openwin/include
- ) + @glibc_dev@/include
- )
-list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
- # Windows API on Cygwin - # Windows API on Cygwin
- /usr/lib/w32api - /usr/lib/w32api
- -
@ -73,25 +67,26 @@ index ccb2663..39834e6 100644
- /usr/pkg/lib - /usr/pkg/lib
- /opt/csw/lib /opt/lib - /opt/csw/lib /opt/lib
- /usr/openwin/lib - /usr/openwin/lib
- ) + @glibc_lib@/lib
- )
-list(APPEND CMAKE_SYSTEM_PROGRAM_PATH
list(APPEND CMAKE_SYSTEM_PROGRAM_PATH
- /usr/pkg/bin - /usr/pkg/bin
+ "@glibc@" + @glibc_bin@/bin
) )
list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
- /lib /usr/lib /usr/lib32 /usr/lib64 - /lib /usr/lib /usr/lib32 /usr/lib64
+ "@glibc@/lib" + @glibc_lib@/lib
) )
list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
- /usr/include - /usr/include
+ "@glibc@/include" + @glibc_dev@/include
) )
list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
- /usr/include - /usr/include
+ "@glibc@/include" + @glibc_dev@/include
) )
# Enable use of lib64 search path variants by default. # Enable use of lib64 search path variants by default.