[Cmake-commits] [cmake-commits] alex committed FindKDE4.cmake 1.10 1.11

cmake-commits at cmake.org cmake-commits at cmake.org
Fri Mar 14 18:16:08 EDT 2008


Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv26047

Modified Files:
	FindKDE4.cmake 
Log Message:
ENH: preparations for cross compiling KDE4

Alex


Index: FindKDE4.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/FindKDE4.cmake,v
retrieving revision 1.10
retrieving revision 1.11
diff -C 2 -d -r1.10 -r1.11
*** FindKDE4.cmake	26 Aug 2007 07:29:13 -0000	1.10
--- FindKDE4.cmake	14 Mar 2008 22:16:06 -0000	1.11
***************
*** 12,61 ****
  FILE(TO_CMAKE_PATH "$ENV{KDEDIRS}" _KDEDIRS)
  
  # For KDE4 kde-config has been renamed to kde4-config
  FIND_PROGRAM(KDE4_KDECONFIG_EXECUTABLE NAMES kde4-config
!    PATH_SUFFIXES bin               # the suffix is for the paths coming from KDEDIRS
     PATHS
!    ${CMAKE_INSTALL_PREFIX}/bin
     ${_KDEDIRS}
!    /opt/kde4/bin
     NO_DEFAULT_PATH
     )
  
! FIND_PROGRAM(KDE4_KDECONFIG_EXECUTABLE NAMES kde4-config )
! 
! IF (KDE4_KDECONFIG_EXECUTABLE)
!    # then ask kde4-config for the kde data dirs
!    EXECUTE_PROCESS(COMMAND "${KDE4_KDECONFIG_EXECUTABLE}" --path data OUTPUT_VARIABLE _data_DIR ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
! 
!    FILE(TO_CMAKE_PATH "${_data_DIR}" _data_DIR)
  
!    # then check the data dirs for FindKDE4Internal.cmake
!    FIND_PATH(KDE4_DATA_DIR cmake/modules/FindKDE4Internal.cmake ${_data_DIR})
  
-    # if it has been found...
-    IF (KDE4_DATA_DIR)
  
!       SET(CMAKE_MODULE_PATH  ${CMAKE_MODULE_PATH} ${KDE4_DATA_DIR}/cmake/modules)
  
!       IF (KDE4_FIND_QUIETLY)
!          SET(_quiet QUIET)
!       ENDIF (KDE4_FIND_QUIETLY)
  
!       IF (KDE4_FIND_REQUIRED)
!          SET(_req REQUIRED)
!       ENDIF (KDE4_FIND_REQUIRED)
  
!       # use FindKDE4Internal.cmake to do the rest
!       FIND_PACKAGE(KDE4Internal ${_req} ${_quiet})
!    ELSE (KDE4_DATA_DIR)
!       IF (KDE4_FIND_REQUIRED)
!          MESSAGE(FATAL_ERROR "ERROR: cmake/modules/FindKDE4Internal.cmake not found in ${_data_DIR}")
!       ENDIF (KDE4_FIND_REQUIRED)
!    ENDIF (KDE4_DATA_DIR)
  
- ELSE (KDE4_KDECONFIG_EXECUTABLE)
     IF (KDE4_FIND_REQUIRED)
!       MESSAGE(FATAL_ERROR "ERROR: Could not find KDE4 kde4-config")
     ENDIF (KDE4_FIND_REQUIRED)
- ENDIF (KDE4_KDECONFIG_EXECUTABLE)
  
--- 12,74 ----
  FILE(TO_CMAKE_PATH "$ENV{KDEDIRS}" _KDEDIRS)
  
+ # when cross compiling, searching kde4-config in order to run it later on
+ # doesn't make a lot of sense. We'll have to do something about this. 
+ # Searching always in the target environment ? Then we get at least the correct one,
+ # still it can't be used to run it. Alex
+ 
  # For KDE4 kde-config has been renamed to kde4-config
  FIND_PROGRAM(KDE4_KDECONFIG_EXECUTABLE NAMES kde4-config
!    # the suffix must be used since KDEDIRS can be a list of directories which don't have bin/ appended
!    PATH_SUFFIXES bin               
     PATHS
!    ${CMAKE_INSTALL_PREFIX}
     ${_KDEDIRS}
!    /opt/kde4
     NO_DEFAULT_PATH
+    ONLY_CMAKE_FIND_ROOT_PATH
     )
  
! FIND_PROGRAM(KDE4_KDECONFIG_EXECUTABLE NAMES kde4-config ONLY_CMAKE_FIND_ROOT_PATH)
  
! IF (NOT KDE4_KDECONFIG_EXECUTABLE)
!    IF (KDE4_FIND_REQUIRED)
!       MESSAGE(FATAL_ERROR "ERROR: Could not find KDE4 kde4-config")
!    ENDIF (KDE4_FIND_REQUIRED)
! ENDIF (NOT KDE4_KDECONFIG_EXECUTABLE)
  
  
! # when cross compiling, KDE4_DATA_DIR may be already preset
! IF(NOT KDE4_DATA_DIR)
!    IF(CMAKE_CROSSCOMPILING)
!       # when cross compiling, don't run kde4-config but use its location as install dir
!       GET_FILENAME_COMPONENT(KDE4_DATA_DIR "${KDE4_KDECONFIG_EXECUTABLE}" PATH)
!       GET_FILENAME_COMPONENT(KDE4_DATA_DIR "${KDE4_DATA_DIR}" PATH)
!    ELSE(CMAKE_CROSSCOMPILING)
!       # then ask kde4-config for the kde data dirs
!       EXECUTE_PROCESS(COMMAND "${KDE4_KDECONFIG_EXECUTABLE}" --path data OUTPUT_VARIABLE _data_DIR ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
!       FILE(TO_CMAKE_PATH "${_data_DIR}" _data_DIR)
!       # then check the data dirs for FindKDE4Internal.cmake
!       FIND_PATH(KDE4_DATA_DIR cmake/modules/FindKDE4Internal.cmake ${_data_DIR})
!    ENDIF(CMAKE_CROSSCOMPILING)
! ENDIF(NOT KDE4_DATA_DIR)
  
! # if it has been found...
! IF (KDE4_DATA_DIR)
  
!    SET(CMAKE_MODULE_PATH  ${CMAKE_MODULE_PATH} ${KDE4_DATA_DIR}/cmake/modules)
  
!    IF (KDE4_FIND_QUIETLY)
!       SET(_quiet QUIET)
!    ENDIF (KDE4_FIND_QUIETLY)
  
     IF (KDE4_FIND_REQUIRED)
!       SET(_req REQUIRED)
     ENDIF (KDE4_FIND_REQUIRED)
  
+    # use FindKDE4Internal.cmake to do the rest
+    FIND_PACKAGE(KDE4Internal ${_req} ${_quiet})
+ ELSE (KDE4_DATA_DIR)
+    IF (KDE4_FIND_REQUIRED)
+       MESSAGE(FATAL_ERROR "ERROR: cmake/modules/FindKDE4Internal.cmake not found in ${_data_DIR}")
+    ENDIF (KDE4_FIND_REQUIRED)
+ ENDIF (KDE4_DATA_DIR)



More information about the Cmake-commits mailing list