From e10a4809f12f17d6ceebdcf9205ef93d0fda45a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Sun, 8 Sep 2013 01:31:01 +0200 Subject: [PATCH] Fix tdesu backend check in CMake This relates to Bug 1655 (cherry picked from commit 11b5fd8f08aa59fdfed395d7e6de0aa6914fb021) --- CMakeLists.txt | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0832deb2e..0d0b270b3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -438,26 +438,17 @@ set( CMAKE_REQUIRED_LIBRARIES ${bak_CMAKE_REQUIRED_LIBRARIES} ) unset( bak_CMAKE_REQUIRED_LIBRARIES ) -# FIXME for unknown reason cmake cannot find su -#find_program( __PATH_SU su ) -set( __PATH_SU "/bin/su" ) - -if( __PATH_SU ) - set( DEFAULT_SUPER_USER_COMMAND ${__PATH_SU} ) -else( __PATH_SU ) - message( STATUS "WARNING: su was not found" ) -endif( __PATH_SU ) - -# FIXME for unknown reason cmake cannot find sudo -# find_program( __PATH_SUDO "sudo" ) -set( __PATH_SUDO "/usr/bin/sudo" ) +#### set kdesu backend ########################## + if( WITH_SUDO_KDESU_BACKEND ) - if( __PATH_SUDO ) - set( DEFAULT_SUPER_USER_COMMAND ${__PATH_SUDO} ) - else( __PATH_SUDO ) - message( FATAL_ERROR "sudo was chosen as kdesu backend, but was not found in path." ) - endif( __PATH_SUDO ) -endif( WITH_SUDO_KDESU_BACKEND ) + set( DEFAULT_SUPER_USER_COMMAND sudo CACHE INTERNAL "" FORCE ) +else() + set( DEFAULT_SUPER_USER_COMMAND su CACHE INTERNAL "" FORCE ) +endif() +find_file( KDESU_BACKEND ${DEFAULT_SUPER_USER_COMMAND} PATHS ENV PATH ) +if( KDESU_BACKEND-NOTFOUND ) + tde_message_fatal( "${DEFAULT_SUPER_USER_COMMAND} was chosen as kdesu backend, but was not found in path." ) +endif( KDESU_BACKEND-NOTFOUND ) #### set some constants #########################