conversion to the cmake building system

Signed-off-by: gregory guy <g-gregory@gmx.fr>
pull/2/head
gregory guy 6 years ago
parent f0e9b7cf4f
commit 307a1a5326
No known key found for this signature in database
GPG Key ID: 6EFE0EF249A874C0

@ -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 )

@ -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( )

@ -0,0 +1 @@
add_subdirectory( plugin )

@ -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}
)

@ -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}
)
##### primaryrccertupdater (executable)
tde_add_executable( primaryrccertupdater
SOURCES
main.cpp
LINK
tdecore-shared
tdeui-shared
tdeio-shared
${TDELDAP_LIBRARIES}
${KRB5_LIBRARIES}
DESTINATION ${BIN_INSTALL_DIR}
)

@ -35,9 +35,9 @@
#include <libtdeldap.h>
// FIXME
// Connect this to CMake/Automake
#ifndef KDE_CONFDIR
#define KDE_CONFDIR "/etc/trinity"
#endif
static const char description[] =
I18N_NOOP("TDE utility for updating realm certificates");

@ -0,0 +1,35 @@
#define VERSION "@VERSION@"
// Defined if you have fvisibility and fvisibility-inlines-hidden support.
#cmakedefine __KDE_HAVE_GCC_VISIBILITY 1
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#cmakedefine WORDS_BIGENDIAN @WORDS_BIGENDIAN@
/* Defined to 1 if you have the <slapi-plugin.h> header */
#cmakedefine HAVE_SLAPI_PLUGIN_H @HAVE_SLAPI_PLUGIN_H@
/* Path for the config system */
#cmakedefine KDE_CONFDIR "@KDE_CONFDIR@"
/* Path for the libraries */
#cmakedefine TDE_LIBDIR "@TDE_LIBDIR@"
/* Location for the ldap.keytab file */
#cmakedefine LDAP_KEYTAB_FILE "@LDAP_KEYTAB_FILE@"
/* ldap default file */
#cmakedefine LDAP_DEFAULT_FILE "@LDAP_DEFAULT_FILE@"
/* Heimdal default file */
#cmakedefine HEIMDAL_DEFAULT_FILE "@HEIMDAL_DEFAULT_FILE@"
/* Heimdal acl file */
#cmakedefine HEIMDAL_ACL_FILE "@HEIMDAL_ACL_FILE@"
/* Sasl default file */
#cmakedefine SASL_DEFAULT_FILE "@SASL_DEFAULT_FILE@"
/* sladp config file */
#cmakedefine SASL_CONTROL_FILE "@SASL_CONTROL_FILE@"

@ -0,0 +1,3 @@
add_subdirectory( heimdal )
add_subdirectory( openldap )
add_subdirectory( sasl )

@ -0,0 +1,9 @@
install(
FILES
heimdal.defaults
kadmind.acl
kdc.conf
krb5.conf
DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}/skel/heimdal
)

@ -0,0 +1,7 @@
add_subdirectory( ldap )
add_subdirectory( ldif )
install(
FILES skel.ldif
DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}/skel/openldap
)

@ -0,0 +1,7 @@
install(
FILES
slapd.conf
slapd.defaults
DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}/skel/openldap/ldap
)

@ -0,0 +1,6 @@
file( GLOB _ldifs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.ldif )
install(
FILES ${_ldifs}
DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}/skel/openldap/ldif
)

@ -0,0 +1,7 @@
install(
FILES
slapd.conf
saslauthd.defaults
DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}/skel/sasl
)

@ -0,0 +1,7 @@
install(
FILES
kcmldapcontroller_step4.png
kcmldapcontroller_step1.png
DESTINATION ${SHARE_INSTALL_PREFIX}/pixmaps
)

@ -0,0 +1,5 @@
file( GLOB _srcs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.po )
if( _srcs )
tde_create_translation( LANG auto OUTPUT_NAME ${PROJECT_NAME} )
endif( )

@ -0,0 +1,51 @@
add_subdirectory( primaryrealmwizard )
add_subdirectory( secondaryrealmwizard )
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
${KRB5_INCLUDE_DIRS}
)
link_directories(
${TQT_LIBRARY_DIRS}
${TDE_LIB_DIR}
)
##### kcm_ldapcontroller (kpart)
tde_add_kpart( kcm_ldapcontroller AUTOMOC
SOURCES
ldapcontrollerconfigbase.ui
multimasterreplicationconfigbase.ui
ldapcontroller.cpp
processingdialog.cpp
sha1.cc
multimasterreplicationconfigdlg.cpp
LINK
tdecore-shared
tdeio-shared
tdeui-shared
${TDELDAP_LIBRARIES}
primaryrealmwizard-static
secondaryrealmwizard-static
DEPENDENCIES
primaryrealmwizard-static
secondaryrealmwizard-static
DESTINATION ${PLUGIN_INSTALL_DIR}
)
##### other data
install(
FILES ldapcontroller.desktop
DESTINATION ${XDG_APPS_INSTALL_DIR}
)

@ -61,21 +61,37 @@
#include "ldapcontrollerconfigbase.h"
// FIXME
// Connect this to CMake/Automake
#ifndef KDE_CONFDIR
#define KDE_CONFDIR "/etc/trinity"
#endif
#ifndef TDE_LIBDIR
#define TDE_LIBDIR "/opt/trinity/lib"
#endif
#ifndef LDAP_KEYTAB_FILE
#define LDAP_KEYTAB_FILE "/etc/ldap/ldap.keytab"
#endif
// FIXME
// This assumes Debian!
// RedHat would be "/etc/sysconfig/ldap"
#ifndef LDAP_DEFAULT_FILE
#define LDAP_DEFAULT_FILE "/etc/default/slapd"
#endif
#ifndef HEIMDAL_DEFAULT_FILE
#define HEIMDAL_DEFAULT_FILE "/etc/default/heimdal-kdc"
#endif
#ifndef SASL_DEFAULT_FILE
#define SASL_DEFAULT_FILE "/etc/default/saslauthd"
#endif
#ifndef SASL_CONTROL_FILE
#define SASL_CONTROL_FILE "/etc/ldap/sasl2/slapd.conf"
#endif
#ifndef HEIMDAL_ACL_FILE
#define HEIMDAL_ACL_FILE "/etc/heimdal-kdc/kadmind.acl"
#endif
#define KEY_STRENGTH 2048
@ -2206,3 +2222,5 @@ TQString LDAPController::quickHelp() const
{
return i18n("This module configures an LDAP Realm Controller.");
}
#include "ldapcontroller.moc"

@ -0,0 +1,32 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
${TDE_INCLUDE_DIR}/tde
${CMAKE_SOURCE_DIR}/src
${KRB5_INCLUDE_DIRS}
)
link_directories(
${TQT_LIBRARY_DIRS}
${TDE_LIB_DIR}
)
##### primaryrealmwizard (static)
tde_add_library( primaryrealmwizard STATIC_PIC AUTOMOC
SOURCES
realmintropagedlg.ui
certconfigpagedlg.ui
realmconfigpagedlg.ui
realmfinishpagedlg.ui
primaryrealmwizard.cpp
certconfigpage.cpp
realmintropage.cpp
realmconfigpage.cpp
realmfinishpage.cpp
)

@ -0,0 +1,32 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
${TDE_INCLUDE_DIR}/tde
${CMAKE_SOURCE_DIR}/src
${KRB5_INCLUDE_DIRS}
)
link_directories(
${TQT_LIBRARY_DIRS}
${TDE_LIB_DIR}
)
##### secondaryrealmwizard (static)
tde_add_library( secondaryrealmwizard STATIC_PIC AUTOMOC
SOURCES
realmintropagedlg.ui
certconfigpagedlg.ui
realmconfigpagedlg.ui
realmfinishpagedlg.ui
secondaryrealmwizard.cpp
certconfigpage.cpp
realmintropage.cpp
realmconfigpage.cpp
realmfinishpage.cpp
)
Loading…
Cancel
Save