Branch: master

307a1a53 2019-04-05 15:11:45 gregory guy
conversion to the cmake building system

Signed-off-by: gregory guy <g-gregory@...>
A CMakeLists.txt
A ConfigureChecks.cmake
A acl-updater/CMakeLists.txt
A acl-updater/plugin/CMakeLists.txt
A cert-updater/CMakeLists.txt
A config.h.cmake
A confskel/CMakeLists.txt
A confskel/heimdal/CMakeLists.txt
A confskel/openldap/CMakeLists.txt
A confskel/openldap/ldap/CMakeLists.txt
A confskel/openldap/ldif/CMakeLists.txt
A confskel/sasl/CMakeLists.txt
A pics/CMakeLists.txt
A po/CMakeLists.txt
A src/CMakeLists.txt
A src/primaryrealmwizard/CMakeLists.txt
A src/secondaryrealmwizard/CMakeLists.txt
M cert-updater/main.cpp
M src/ldapcontroller.cpp

CMakeLists.txt

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..4d99b0e
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,92 @@
+############################################
+#                                          #
+#  Improvements and feedbacks are welcome  #
+#                                          #
+#  This file is released under GPL >= 3    #
+#                                          #
+############################################
+
+
+cmake_minimum_required( VERSION 2.8 )
+
+
+#### general package setup
+
+project( kcmldapcontroller )
+set( VERSION R14.1.0 )
+
+
+#### include essential cmake modules
+
+include( FindPkgConfig          )
+include( CheckFunctionExists    )
+include( CheckSymbolExists      )
+include( CheckIncludeFile       )
+include( CheckLibraryExists     )
+include( CheckCSourceCompiles   )
+include( CheckCXXSourceCompiles )
+
+
+#### include our cmake modules
+
+set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" )
+include( TDEMacros )
+
+
+##### setup install paths
+
+include( TDESetupPaths )
+tde_setup_paths( )
+
+
+##### optional stuff
+
+option( WITH_ALL_OPTIONS "Enable all optional support" OFF                                          )
+option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" ${WITH_ALL_OPTIONS} )
+
+
+##### user requested modules
+
+option( BUILD_ALL "Build all" ON                             )
+option( BUILD_TRANSLATIONS "Build translations" ${BUILD_ALL} )
+
+
+##### user defined options
+
+set( KDE_CONFDIR          "/etc/trinity"                 CACHE STRING "Path for the config system" )
+set( TDE_LIBDIR           "/opt/trinity/lib"             CACHE STRING "Path for the libraries"     )
+set( LDAP_KEYTAB_FILE     "/etc/ldap/ldap.keytab"        CACHE STRING "Location for ldap.keytab"   )
+set( LDAP_DEFAULT_FILE    "/etc/default/slapd"           CACHE STRING "ldap default file"          )
+set( HEIMDAL_DEFAULT_FILE "/etc/default/heimdal-kdc"     CACHE STRING "Heimdal default file"       )
+set( HEIMDAL_ACL_FILE     "/etc/heimdal-kdc/kadmind.acl" CACHE STRING "Heimdal acl file"           )
+set( SASL_DEFAULT_FILE    "/etc/default/saslauthd"       CACHE STRING "Sasl default file"          )
+set( SASL_CONTROL_FILE    "/etc/ldap/sasl2/slapd.conf"   CACHE STRING "sladp config file"          )
+
+
+##### configure checks
+
+include( ConfigureChecks.cmake )
+
+
+###### global compiler settings
+
+add_definitions( -DHAVE_CONFIG_H -UTQT_NO_ASCII_CAST )
+  
+set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" )
+set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
+set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" )
+
+
+##### directories
+
+add_subdirectory( src          )
+add_subdirectory( acl-updater  )
+add_subdirectory( cert-updater )
+add_subdirectory( confskel     )
+add_subdirectory( pics         )
+tde_conditional_add_subdirectory( BUILD_TRANSLATIONS po ) 
+
+
+##### write configure files
+
+configure_file( config.h.cmake config.h @ONLY )

ConfigureChecks.cmake

diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
new file mode 100644
index 0000000..ab447c2
--- /dev/null
+++ b/ConfigureChecks.cmake
@@ -0,0 +1,93 @@
+###########################################
+#                                         #
+#  Improvements and feedback are welcome  #
+#                                         #
+#  This file is released under GPL >= 3   #
+#                                         #
+###########################################
+
+# required stuff
+find_package( TQt )
+find_package( TDE )
+
+tde_setup_architecture_flags( )
+
+include(TestBigEndian)
+test_big_endian(WORDS_BIGENDIAN)
+
+tde_setup_largefiles( )
+
+
+##### check for gcc visibility support
+
+if( WITH_GCC_VISIBILITY )
+  tde_setup_gcc_visibility( )
+endif( WITH_GCC_VISIBILITY )
+
+
+##### check for headers
+
+check_include_file( "slapi-plugin.h" HAVE_SLAPI_PLUGIN_H )
+
+
+##### check for ldap
+
+find_library( HAVE_LIBLDAP ldap )
+if( HAVE_LIBLDAP )
+   set( LDAP_LIBRARIES "ldap" )
+  else()
+   tde_message_fatal( "ldap is required, but was not found on your system" )
+endif( HAVE_LIBLDAP )
+
+
+##### check for openldap-server
+
+find_library( HAVE_SLAPI slapi )
+if( HAVE_SLAPI )
+   set( SLAPI_LIBRARIES slapi )
+  else()
+   tde_message_fatal( "The slapi library ( openldap-server ) is required, but was not found on your system" )
+endif( HAVE_SLAPI )
+
+
+##### check for tdeldap
+
+find_library( HAVE_LIBTDELDAP tdeldap )
+if( HAVE_LIBTDELDAP )
+   set( TDELDAP_LIBRARIES "tdeldap" )
+  else()
+   tde_message_fatal( "libtdeldap is required, but was not found on your system" )
+endif( )
+
+
+##### check for krb5
+
+pkg_search_module( KRB5 heimdal-krb5 krb5 )
+if( NOT KRB5_FOUND)
+  if( NOT DEFINED KRB5_CONFIG_EXECUTABLE )
+    find_program( KRB5_CONFIG_EXECUTABLE NAMES krb5-config.heimdal krb5-config )
+    if( NOT KRB5_CONFIG_EXECUTABLE )
+      tde_message_fatal( "krb5 library is required but not found on your system" )
+    endif( )
+  endif( )
+
+  execute_process(
+    COMMAND ${KRB5_CONFIG_EXECUTABLE} --libs
+    OUTPUT_VARIABLE KRB5_LIBRARIES
+    ERROR_VARIABLE KRB5_LIBRARIES
+    OUTPUT_STRIP_TRAILING_WHITESPACE
+    ERROR_STRIP_TRAILING_WHITESPACE
+  )
+  
+  execute_process(
+    COMMAND ${KRB5_CONFIG_EXECUTABLE} --cflags
+    OUTPUT_VARIABLE KRB5_INCLUDE_DIRS
+    ERROR_VARIABLE KRB5_INCLUDE_DIRS
+    OUTPUT_STRIP_TRAILING_WHITESPACE
+    ERROR_STRIP_TRAILING_WHITESPACE
+  )
+  
+  if( NOT "${KRB5_LIBRARIES}" STREQUAL "" )
+    set( KRB5_FOUND 1 )
+  endif( )
+endif( )

acl-updater/CMakeLists.txt

diff --git a/acl-updater/CMakeLists.txt b/acl-updater/CMakeLists.txt
new file mode 100644
index 0000000..18b1325
--- /dev/null
+++ b/acl-updater/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory( plugin )

acl-updater/plugin/CMakeLists.txt

diff --git a/acl-updater/plugin/CMakeLists.txt b/acl-updater/plugin/CMakeLists.txt
new file mode 100644
index 0000000..d9bf81d
--- /dev/null
+++ b/acl-updater/plugin/CMakeLists.txt
@@ -0,0 +1,31 @@
+include_directories(
+  ${CMAKE_BINARY_DIR}
+  ${CMAKE_CURRENT_BINARY_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${TDE_INCLUDE_DIR}
+  ${TQT_INCLUDE_DIRS}
+  ${TDE_INCLUDE_DIR}/tde
+  ${KRB5_INCLUDE_DIRS}
+)
+
+link_directories(
+  ${TQT_LIBRARY_DIRS}
+  ${TDE_LIB_DIR}
+)
+
+
+##### slapi-acl-manager (module)
+
+tde_add_library( slapi-acl-manager MODULE
+
+  SOURCES
+        interface.c
+        plugin.cpp
+  LINK
+     tdecore-shared
+     ${TDELDAP_LIBRARIES}
+     ${KRB5_LIBRARIES}
+     ${SLAPI_LIBRARIES}
+     
+  DESTINATION ${LIB_INSTALL_DIR}
+)

cert-updater/CMakeLists.txt

diff --git a/cert-updater/CMakeLists.txt b/cert-updater/CMakeLists.txt
new file mode 100644
index 0000000..08ed081
--- /dev/null
+++ b/cert-updater/CMakeLists.txt
@@ -0,0 +1,31 @@
+include_directories(
+  ${CMAKE_BINARY_DIR}
+  ${CMAKE_CURRENT_BINARY_DIR}
** Diff limit reached (max: 250 lines) **
f3d48d7b 2019-04-06 14:39:05 Slávek Banko
Add includes to UI files to resolve FTBFS.

Signed-off-by: Slávek Banko <slavek.banko@...>
M src/ldapcontrollerconfigbase.ui
M src/multimasterreplicationconfigbase.ui
M src/primaryrealmwizard/certconfigpagedlg.ui
M src/primaryrealmwizard/realmconfigpagedlg.ui
M src/primaryrealmwizard/realmfinishpagedlg.ui
M src/secondaryrealmwizard/certconfigpagedlg.ui
M src/secondaryrealmwizard/realmconfigpagedlg.ui
M src/secondaryrealmwizard/realmfinishpagedlg.ui
** Diff limit reached (max: 250 lines) **
fd16b364 2019-04-06 14:39:59 Slávek Banko
Added controlled conversions to char* instead of automatic ascii conversions.
The definition of -UTQT_NO_ASCII_CAST is no longer needed.

Signed-off-by: Slávek Banko <slavek.banko@...>
M CMakeLists.txt
M cert-updater/main.cpp
M src/ldapcontroller.cpp
M src/primaryrealmwizard/realmconfigpagedlg.ui
M src/secondaryrealmwizard/realmconfigpagedlg.ui
** Diff limit reached (max: 250 lines) **
2f07f123 2019-04-07 18:35:15 Slávek Banko
cmake: Add detection of slapi library without base slapi.so.

Signed-off-by: Slávek Banko <slavek.banko@...>
M ConfigureChecks.cmake
** Diff limit reached (max: 250 lines) **
6da784fc 2019-04-07 19:17:54 Automated System
Update translation template.
M po/kcmldapcontroller.pot
** Diff limit reached (max: 250 lines) **

Branch: r14.0.x

0dd82949 2019-04-07 18:39:15 Slávek Banko
Add includes to UI files to resolve FTBFS.

Signed-off-by: Slávek Banko <slavek.banko@...>
(cherry picked from commit f3d48d7b4565345f5f06513bf7a6ecd59457e334)
M src/ldapcontrollerconfigbase.ui
M src/multimasterreplicationconfigbase.ui
M src/primaryrealmwizard/certconfigpagedlg.ui
M src/primaryrealmwizard/realmconfigpagedlg.ui
M src/primaryrealmwizard/realmfinishpagedlg.ui
M src/secondaryrealmwizard/certconfigpagedlg.ui
M src/secondaryrealmwizard/realmconfigpagedlg.ui
M src/secondaryrealmwizard/realmfinishpagedlg.ui
** Diff limit reached (max: 250 lines) **
77208228 2019-04-07 18:39:49 Slávek Banko
Added controlled conversions to char* instead of automatic ascii conversions.
The definition of -UTQT_NO_ASCII_CAST is no longer needed.

Signed-off-by: Slávek Banko <slavek.banko@...>
(cherry picked from commit fd16b3640527b9da8e1df97f5e25849e0313ac64)
M CMakeLists.txt
M cert-updater/main.cpp
M src/ldapcontroller.cpp
M src/primaryrealmwizard/realmconfigpagedlg.ui
M src/secondaryrealmwizard/realmconfigpagedlg.ui
** Diff limit reached (max: 250 lines) **
9ee97692 2019-04-07 18:39:51 Slávek Banko
cmake: Add detection of slapi library without base slapi.so.

Signed-off-by: Slávek Banko <slavek.banko@...>
(cherry picked from commit 2f07f1237e0357647d18c55cec0bd78136efb4a2)
M ConfigureChecks.cmake
** Diff limit reached (max: 250 lines) **
c9177222 2019-04-07 18:41:32 Slávek Banko
Added controlled conversions to char* instead of automatic ascii conversions.

Signed-off-by: Slávek Banko <slavek.banko@...>
M cert-updater/main.cpp
M src/ldapcontroller.cpp
** Diff limit reached (max: 250 lines) **
0c89c523 2019-04-08 00:00:07 Automated System
Update translation template.
M po/kcmldapcontroller.pot
** Diff limit reached (max: 250 lines) **