diff options
Diffstat (limited to 'kdesu')
-rw-r--r-- | kdesu/CMakeLists.txt | 53 | ||||
-rw-r--r-- | kdesu/kdesu/CMakeLists.txt | 30 | ||||
-rw-r--r-- | kdesu/kdesud/CMakeLists.txt | 35 |
3 files changed, 118 insertions, 0 deletions
diff --git a/kdesu/CMakeLists.txt b/kdesu/CMakeLists.txt new file mode 100644 index 000000000..5461732be --- /dev/null +++ b/kdesu/CMakeLists.txt @@ -0,0 +1,53 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +include( CheckCSourceCompiles ) +include( CheckFunctionExists ) + +check_c_source_compiles( " + #define _GNU_SOURCE 1 + #include <sys/socket.h> + int main(int argc, char *argv[]) { struct ucred red; return 0; } " + HAVE_STRUCT_UCRED ) + +check_c_source_runs( " + #include <grp.h> + #include <sys/types.h> + int main() { struct group *grp = getgrnam(\"nogroup\"); if(grp) return 0; return 1; }" + HAVE_NOGROUP ) + +if( HAVE_NOGROUP ) + set( nogroup nogroup ) +else() + check_c_source_runs(" + #include <grp.h> + #include <sys/types.h> + int main() { struct group *grp = getgrnam(\"nobody\"); if(grp) return 0; return 1; }" + HAVE_NOBODY ) + if( HAVE_NOBODY ) + set( nogroup nobody ) + else() + set( nogroup 65534 ) + endif() +endif() + +check_function_exists( getpeereid HAVE_GETPEEREID ) +check_include_file( "sys/select.h" HAVE_SYS_SELECT_H ) +check_include_file( "sys/wait.h" HAVE_SYS_WAIT_H ) + +if( WITH_SUDO_KDESU_BACKEND ) + set( DEFAULT_SUPER_USER_COMMAND sudo CACHE INTERNAL "" FORCE ) +else() + set( DEFAULT_SUPER_USER_COMMAND su CACHE INTERNAL "" FORCE ) +endif() + +add_subdirectory( kdesu ) +add_subdirectory( kdesud ) diff --git a/kdesu/kdesu/CMakeLists.txt b/kdesu/kdesu/CMakeLists.txt new file mode 100644 index 000000000..b18fbfb57 --- /dev/null +++ b/kdesu/kdesu/CMakeLists.txt @@ -0,0 +1,30 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_BINARY_DIR} + ${TDE_INCLUDE_DIR} + ${TQT_INCLUDE_DIRS} +) + +link_directories( + ${TQT_LIBRARY_DIRS} +) + + +##### kdesu (executable) ######################## + +tde_add_executable( kdesu AUTOMOC + SOURCES kdesu.cpp sudlg.cpp + LINK kdesu-shared kio-shared + DESTINATION ${BIN_INSTALL_DIR} +) diff --git a/kdesu/kdesud/CMakeLists.txt b/kdesu/kdesud/CMakeLists.txt new file mode 100644 index 000000000..5e7fe6cbb --- /dev/null +++ b/kdesu/kdesud/CMakeLists.txt @@ -0,0 +1,35 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +# FIXME there is used KDE_USE_FPIE + +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_BINARY_DIR} + ${TDE_INCLUDE_DIR} + ${TQT_INCLUDE_DIRS} +) + +link_directories( + ${TQT_LIBRARY_DIRS} +) + + +##### kdesud (executable) ####################### + +tde_add_executable( kdesud + SOURCES kdesud.cpp repo.cpp lexer.cpp handler.cpp secure.cpp + LINK kdesu-shared + DESTINATION ${BIN_INSTALL_DIR} +) + +install( CODE "execute_process( COMMAND chown root:${nogroup} \$ENV{DESTDIR}${_destination}/kdesud )" ) +install( CODE "execute_process( COMMAND chmod 2755 \$ENV{DESTDIR}${_destination}/kdesud )" ) |