commit 713ccc94c0c6bdec7b29aba6cb0c7d215979a7f1 Author: Felix Tiede Date: Sun May 22 21:16:37 2016 +0200 Quick and dirty fix for new QString API. diff --git a/request.cpp b/request.cpp index add565d..202314b 100644 --- a/request.cpp +++ b/request.cpp @@ -412,7 +412,7 @@ const Certificate Request::selfsign(quint64 serial, const Digest digest, } d->keyfile->open(QFile::ReadOnly); FILE *keyfile = fdopen(d->keyfile->handle(), "r"); - if (!PEM_read_PrivateKey(keyfile, &d->privateKey, NULL,(void *) password.toAscii().data())) + if (!PEM_read_PrivateKey(keyfile, &d->privateKey, NULL,(void *) password.toLocal8Bit().data())) { rewind(keyfile); RSA *rsa = d2i_RSAPrivateKey_fp(keyfile, NULL); commit 3c45497832c52349ca7666687be1a183d5a73ce0 Author: Felix Tiede Date: Sun May 22 20:34:17 2016 +0200 Definitions are part of the configure phase. diff --git a/CMakeLists.txt b/CMakeLists.txt index b1e3ead..7a634a0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,6 +40,8 @@ IF(NOT WIN32) ENDIF(OPENSSL_CRYPTO_LIBS) ENDIF(NOT WIN32) +add_definitions( -DMAKE_KCAOSSL_LIB ) + ################################################################################ set(kca_ossl_LIB_SRCS @@ -63,8 +65,6 @@ set(kca_ossl_LIB_HDRS include_directories( ${OPENSSL_INCLUDE_DIR} ) -add_definitions( -DMAKE_KCAOSSL_LIB ) - add_library( kca_ossl-3 SHARED ${kca_ossl_LIB_SRCS} ${KCA_OSSL_H_MOC} ) target_link_libraries( kca_ossl-3 ${QTLIBS} ${OPENSSL_LIBRARIES} ) commit 006d9ed375c676a801c2159333b50ffd255110c3 Author: Felix Tiede Date: Fri May 13 06:58:18 2016 +0200 Build system configured for Qt5/new major version. Library linked against Qt5 will be incompatible with older versions and got a new major release number. A lot of hacks which where necessary to make building the library and unit tests work with Qt4 are no longer needed and were removed. The build system was also partly reordered for better maintenance. diff --git a/CMakeLists.txt b/CMakeLists.txt index 3cc8e3f..b1e3ead 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 2.8.11) # cmake 2.6 proposed to add this policy if(COMMAND cmake_policy) @@ -9,20 +9,25 @@ endif(COMMAND cmake_policy) project(libkcaossl) -set(GENERIC_LIB_VERSION "1.3.0") -set(GENERIC_LIB_SOVERSION "1") +set(GENERIC_LIB_VERSION "3.0.0") +set(GENERIC_LIB_SOVERSION "3") -set(QTCOMPONENTS QtCore) +set(CMAKE_INCLUDE_CURRENT_DIR ON) +set(CMAKE_AUTOMOC ON) -IF(WITH_QtNetwork) # OR QT_QTNETWORK_LIB) - set(QTCOMPONENTS ${QTCOMPONENTS} QtNetwork) +find_package(Qt5Core REQUIRED) +set(QTLIBS Qt5::Core) + +IF(WITH_QtNetwork) + find_package(Qt5Network REQUIRED) + set(QTLIBS ${QTLIBS} Qt5::Network) add_definitions( -DUSE_QTNETWORK ) -ENDIF(WITH_QtNetwork) # OR QT_QTNETWORK_LIB) +ENDIF(WITH_QtNetwork) -find_package(Qt4 COMPONENTS ${QTCOMPONENTS} REQUIRED) +# We use OpenSSL X.509 routines find_package(OpenSSL REQUIRED) -# We need libcrypto if not compiling under Windows +# We also need libcrypto if not compiling under Windows IF(NOT WIN32) find_library(OPENSSL_CRYPTO_LIBS NAMES crypto) IF(OPENSSL_CRYPTO_LIBS) @@ -56,32 +61,24 @@ set(kca_ossl_LIB_HDRS x509name.h ) -# call moc for library headers -QT4_WRAP_CPP( KCA_OSSL_H_MOC ${kca_ossl_LIB_HDRS} ) - -# Do not link to QtGui -set(QT_DONT_USE_QTGUI 1) - -include(${QT_USE_FILE}) - -include_directories( ${QT_INCLUDES} ${OPENSSL_INCLUDE_DIR} ) +include_directories( ${OPENSSL_INCLUDE_DIR} ) add_definitions( -DMAKE_KCAOSSL_LIB ) -add_library( kca_ossl-1 SHARED ${kca_ossl_LIB_SRCS} ${KCA_OSSL_H_MOC} ) +add_library( kca_ossl-3 SHARED ${kca_ossl_LIB_SRCS} ${KCA_OSSL_H_MOC} ) -target_link_libraries( kca_ossl-1 ${QT_LIBRARIES} ${OPENSSL_LIBRARIES} ) +target_link_libraries( kca_ossl-3 ${QTLIBS} ${OPENSSL_LIBRARIES} ) -set_target_properties( kca_ossl-1 PROPERTIES +set_target_properties( kca_ossl-3 PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} ) -install( TARGETS kca_ossl-1 LIBRARY DESTINATION ${INSTALL_TARGETS_DEFAULT_ARGS} ) +install( TARGETS kca_ossl-3 LIBRARY DESTINATION lib NAMELINK_SKIP) install( FILES ${kca_ossl_LIB_HDRS} commons.h kca_ossl_export.h - DESTINATION ${INCLUDE_INSTALL_DIR}/kca_ossl-1 + DESTINATION ${INCLUDE_INSTALL_DIR}/kca_ossl-3 COMPONENT Devel ) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index c437be0..f3ea8b8 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -6,22 +6,18 @@ set(test_SRCS x509extensiontest.cpp ) -find_package(Qt4 COMPONENTS QtTest REQUIRED) +find_package(Qt5Test REQUIRED) enable_testing() -include_directories(${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR}) +include_directories(${CMAKE_CURRENT_BINARY_DIR}) FOREACH(it ${test_SRCS}) GET_FILENAME_COMPONENT(it ${it} ABSOLUTE) GET_FILENAME_COMPONENT(test ${it} NAME_WE) - qt4_make_output_file(${it} "" moc outfile) - qt4_generate_moc(${it} ${outfile}) - add_executable(libkca_ossl-${test} ${it} ${outfile}) + add_executable(libkca_ossl-${test} ${it}) add_test(libkca_ossl-${test} libkca_ossl-${test}) target_link_libraries(libkca_ossl-${test} - kca_ossl-1 - ${QT_QTCORE_LIBRARY} - ${QT_QTTEST_LIBRARY} + kca_ossl-3 Qt5::Core Qt5::Test ) ENDFOREACH(it)