From b6fc43ccd522dfbc1e215b12adb8208c156bbd31 Mon Sep 17 00:00:00 2001 From: samelian Date: Sun, 23 Jan 2011 23:42:11 +0000 Subject: [kdebase] initial cmake support git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1216551 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kdesu/CMakeLists.txt | 53 +++++++++++++++++++++++++++++++++++++++++++++ kdesu/kdesu/CMakeLists.txt | 30 +++++++++++++++++++++++++ kdesu/kdesud/CMakeLists.txt | 35 ++++++++++++++++++++++++++++++ 3 files changed, 118 insertions(+) create mode 100644 kdesu/CMakeLists.txt create mode 100644 kdesu/kdesu/CMakeLists.txt create mode 100644 kdesu/kdesud/CMakeLists.txt (limited to 'kdesu') 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 + int main(int argc, char *argv[]) { struct ucred red; return 0; } " + HAVE_STRUCT_UCRED ) + +check_c_source_runs( " + #include + #include + 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 + #include + 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 )" ) -- cgit v1.2.1