From 11b5fd8f08aa59fdfed395d7e6de0aa6914fb021 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 --- CMakeLists.txt | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7700f7391..722dddf43 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -446,26 +446,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 tdesu backend ########################## + if( WITH_SUDO_TDESU_BACKEND ) - if( __PATH_SUDO ) - set( DEFAULT_SUPER_USER_COMMAND ${__PATH_SUDO} ) - else( __PATH_SUDO ) - message( FATAL_ERROR "sudo was chosen as tdesu backend, but was not found in path." ) - endif( __PATH_SUDO ) -endif( WITH_SUDO_TDESU_BACKEND ) + set( DEFAULT_SUPER_USER_COMMAND sudo CACHE INTERNAL "" FORCE ) +else() + set( DEFAULT_SUPER_USER_COMMAND su CACHE INTERNAL "" FORCE ) +endif() +find_file( TDESU_BACKEND ${DEFAULT_SUPER_USER_COMMAND} PATHS ENV PATH ) +if( TDESU_BACKEND-NOTFOUND ) + tde_message_fatal( "${DEFAULT_SUPER_USER_COMMAND} was chosen as tdesu backend, but was not found in path." ) +endif( TDESU_BACKEND-NOTFOUND ) #### set some constants #########################