Update CMake rules

+ Prefer Heimdal during Kerberos detection.
+ Add a check whether the Kerberos is Heimdal.
+ Add a check whether the compiler supports the option -fpermissive.
+ Add an option for the user to specify SYSTEM_CA_STORE_REGENERATE_COMMAND.
+ Set the library version to 1.0.0.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
pull/3/head
Slávek Banko 5 years ago
parent 6d8d495faf
commit 08fd4a51ed
No known key found for this signature in database
GPG Key ID: 608F5293A04BE668

@ -55,7 +55,8 @@ option( BUILD_TRANSLATIONS "Build translations" ${BUILD_ALL} )
set( KDE_CONFDIR "/etc/trinity" CACHE STRING "TDE Settings Directory" )
set( KRB5_FILE "/etc/krb5.conf" CACHE STRING "Kerberos config file" )
set( SYSTEM_CA_STORE_CERT_LOCATION "/usr/local/share/ca-certificates/" CACHE STRING "Location of ca-certificates" )
set( SYSTEM_CA_STORE_CERT_LOCATION "/usr/local/share/ca-certificates/" CACHE STRING "Location of ca-certificates" )
set( SYSTEM_CA_STORE_REGENERATE_COMMAND "update-ca-certificates" CACHE STRING "Command to update ca-certificates" )
set( CRON_UPDATE_PRIMARY_REALM_CERTIFICATES_OPENLDAP_RELOAD_COMMAND "/etc/init.d/slapd force-reload" CACHE STRING "Cron command to update openLDAP" )
@ -66,7 +67,7 @@ include( ConfigureChecks.cmake )
###### global compiler settings
add_definitions( -DHAVE_CONFIG_H -UTQT_NO_ASCII_CAST -fpermissive )
add_definitions( -DHAVE_CONFIG_H -UTQT_NO_ASCII_CAST ${ENABLE_PERMISSIVE_FLAG} )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" )
set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )

@ -39,10 +39,10 @@ endif( NOT HAVE_LIBLDAP )
##### check for krb5
pkg_search_module( KRB5 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 )
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( )
@ -62,3 +62,18 @@ if( NOT KRB5_FOUND)
set( KRB5_FOUND 1 )
endif( )
endif( )
find_file( KRB5_ASN1_H
NAMES krb5_asn1.h
HINTS ${KRB5_INCLUDE_DIRS}
)
if( "${KRB5_ASN1_H}" STREQUAL "KRB5_ASN1_H-NOTFOUND" )
tde_message_fatal( "Heimdal Kerberos is required, but was not found on our system" )
endif( )
# check compiler permissive flag
check_cxx_compiler_flag( -fpermissive HAVE_PERMISSIVE_SUPPORT )
if( HAVE_PERMISSIVE_SUPPORT )
set( ENABLE_PERMISSIVE_FLAG "-fpermissive" )
endif( )

@ -11,6 +11,7 @@ include_directories(
link_directories(
${TQT_LIBRARY_DIRS}
${TDE_LIB_DIR}
${KRB5_LIBRARY_DIRS}
)
@ -30,9 +31,10 @@ tde_add_library( tdeldap SHARED AUTOMOC
tdesu
krb5 kadm5clnt kadm5srv hdb lber
ldap
VERSION 1.0.0
DESTINATION ${LIB_INSTALL_DIR}
)
)
##### headers

@ -124,7 +124,9 @@ extern "C" {
#define SYSTEM_CA_STORE_CERT_LOCATION "/usr/local/share/ca-certificates/"
#endif
#ifndef SYSTEM_CA_STORE_REGENERATE_COMMAND
#define SYSTEM_CA_STORE_REGENERATE_COMMAND "update-ca-certificates"
#endif
#ifndef CRON_UPDATE_PRIMARY_REALM_CERTIFICATES_OPENLDAP_RELOAD_COMMAND
#define CRON_UPDATE_PRIMARY_REALM_CERTIFICATES_OPENLDAP_RELOAD_COMMAND "/etc/init.d/slapd force-reload"

Loading…
Cancel
Save