mirror of
https://github.com/QuasarApp/qca.git
synced 2025-04-26 11:34:32 +00:00
Drop Qt4 support
This commit is contained in:
parent
3293100c42
commit
d71f4c279b
@ -41,51 +41,17 @@ endif(NOT BUILD_PLUGINS)
|
||||
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" )
|
||||
|
||||
option(QT4_BUILD "Force building with Qt4 even if Qt5 is found")
|
||||
if (NOT QT4_BUILD)
|
||||
# Do not automatically link Qt executables to qtmain target on Windows.
|
||||
# QCA exucatables use console mode only. Not need to link against qtmain.lib.
|
||||
set(Qt5_NO_LINK_QTMAIN ON)
|
||||
find_package(Qt5Core QUIET)
|
||||
mark_as_advanced(Qt5Core_DIR)
|
||||
endif()
|
||||
# Do not automatically link Qt executables to qtmain target on Windows.
|
||||
# QCA exucatables use console mode only. Not need to link against qtmain.lib.
|
||||
set(Qt5_NO_LINK_QTMAIN ON)
|
||||
find_package(Qt5 REQUIRED Core)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
|
||||
include(QcaMacro)
|
||||
|
||||
if (Qt5Core_FOUND)
|
||||
message(STATUS "Building with Qt5 support")
|
||||
# Got from ECM
|
||||
# Distros have no ECM. So I just copied required cmake modules.
|
||||
if(BUILD_TESTS)
|
||||
find_package(Qt5Transitional REQUIRED Core Network)
|
||||
else()
|
||||
find_package(Qt5Transitional REQUIRED Core)
|
||||
endif()
|
||||
include(ECMQt4To5Porting)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
setup_qt5_dirs()
|
||||
set(QCA_QT_PC_VERSION "Qt5Core")
|
||||
set(QCA_SUFFIX "qt5")
|
||||
else()
|
||||
set(QT_MIN_VERSION "4.7.0")
|
||||
set(QT_USE_IMPORTED_TARGETS ON)
|
||||
# Do not automatically link Qt executables to qtmain target on Windows.
|
||||
# QCA exucatables use console mode only. Not need to link against qtmain.lib.
|
||||
set(QT4_NO_LINK_QTMAIN ON)
|
||||
if(BUILD_TESTS)
|
||||
find_package(Qt4 REQUIRED QtCore QtNetwork QtTest)
|
||||
else(BUILD_TESTS)
|
||||
find_package(Qt4 REQUIRED QtCore)
|
||||
endif(BUILD_TESTS)
|
||||
# WORKAROUND: Seems it must be done in Qt4 find module but didn't
|
||||
mark_as_advanced(QT_QMAKE_EXECUTABLE)
|
||||
|
||||
# properly set up compile flags (QT_DEBUG/QT_NO_DEBUG, ...)
|
||||
include(${QT_USE_FILE})
|
||||
setup_qt4_dirs()
|
||||
set(QCA_QT_PC_VERSION "QtCore")
|
||||
endif()
|
||||
include(GNUInstallDirs)
|
||||
setup_qt5_dirs()
|
||||
set(QCA_QT_PC_VERSION "Qt5Core")
|
||||
set(QCA_SUFFIX "qt5")
|
||||
|
||||
# QCA can be shared but plugins will be static
|
||||
# if Qt is static.
|
||||
@ -356,7 +322,7 @@ set( public_HEADERS
|
||||
|
||||
set( qca_HEADERS ${private_HEADERS} ${public_HEADERS} )
|
||||
|
||||
include_directories(${QT_QTCORE_INCLUDE_DIR} "${qca_INCLUDEDIR}/QtCrypto")
|
||||
include_directories("${qca_INCLUDEDIR}/QtCrypto")
|
||||
|
||||
configure_file("crypto.prf.cmake" "${CMAKE_BINARY_DIR}/mkspecs/features/crypto.prf" @ONLY)
|
||||
if(NOT DEVELOPER_MODE)
|
||||
@ -469,7 +435,7 @@ if(NOT DEVELOPER_MODE)
|
||||
message("")
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
if(NOT QCA_SUFFIX AND NOT QT4_BUILD)
|
||||
if(NOT QCA_SUFFIX)
|
||||
|
||||
message("${ESCAPE}[31mYou don't have QCA_SUFFIX set. Please note that the recommended way of")
|
||||
message("building Qt5 version of qca for Linux distributions is to set")
|
||||
|
1
INSTALL
1
INSTALL
@ -17,7 +17,6 @@ Notes
|
||||
|
||||
CMAKE_INSTALL_PREFIX - must be defined otherwise QCA will be installed
|
||||
in Qt prefix (by default: "")
|
||||
QT4_BUILD - forced Qt4 building (by default: OFF)
|
||||
BUILD_TESTS - build unittests (by default: ON)
|
||||
BUILD_TOOLS - build mozcerts and qcatool (by default: ON)
|
||||
QCA_SUFFIX - suffix will be used for library, qcatool binary,
|
||||
|
@ -1,238 +0,0 @@
|
||||
#=============================================================================
|
||||
# Copyright 2005-2011 Kitware, Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# * Neither the name of Kitware, Inc. nor the names of its
|
||||
# contributors may be used to endorse or promote products derived
|
||||
# from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#=============================================================================
|
||||
|
||||
# The automoc_qt4 macro is superceded by CMAKE_AUTOMOC from CMake 2.8.6
|
||||
# A Qt 5 version is not provided by CMake or Qt.
|
||||
|
||||
include(MacroAddFileDependencies)
|
||||
|
||||
MACRO (QT4_GET_MOC_FLAGS _moc_flags)
|
||||
SET(${_moc_flags})
|
||||
GET_DIRECTORY_PROPERTY(_inc_DIRS INCLUDE_DIRECTORIES)
|
||||
|
||||
FOREACH(_current ${_inc_DIRS})
|
||||
IF("${_current}" MATCHES "\\.framework/?$")
|
||||
STRING(REGEX REPLACE "/[^/]+\\.framework" "" framework_path "${_current}")
|
||||
SET(${_moc_flags} ${${_moc_flags}} "-F${framework_path}")
|
||||
ELSE("${_current}" MATCHES "\\.framework/?$")
|
||||
SET(${_moc_flags} ${${_moc_flags}} "-I${_current}")
|
||||
ENDIF("${_current}" MATCHES "\\.framework/?$")
|
||||
ENDFOREACH(_current ${_inc_DIRS})
|
||||
|
||||
GET_DIRECTORY_PROPERTY(_defines COMPILE_DEFINITIONS)
|
||||
FOREACH(_current ${_defines})
|
||||
SET(${_moc_flags} ${${_moc_flags}} "-D${_current}")
|
||||
ENDFOREACH(_current ${_defines})
|
||||
|
||||
IF(Q_WS_WIN)
|
||||
SET(${_moc_flags} ${${_moc_flags}} -DWIN32)
|
||||
ENDIF(Q_WS_WIN)
|
||||
|
||||
ENDMACRO(QT4_GET_MOC_FLAGS)
|
||||
|
||||
# helper macro to set up a moc rule
|
||||
MACRO (QT4_CREATE_MOC_COMMAND infile outfile moc_flags moc_options)
|
||||
# For Windows, create a parameters file to work around command line length limit
|
||||
IF (WIN32)
|
||||
# Pass the parameters in a file. Set the working directory to
|
||||
# be that containing the parameters file and reference it by
|
||||
# just the file name. This is necessary because the moc tool on
|
||||
# MinGW builds does not seem to handle spaces in the path to the
|
||||
# file given with the @ syntax.
|
||||
GET_FILENAME_COMPONENT(_moc_outfile_name "${outfile}" NAME)
|
||||
GET_FILENAME_COMPONENT(_moc_outfile_dir "${outfile}" PATH)
|
||||
IF(_moc_outfile_dir)
|
||||
SET(_moc_working_dir WORKING_DIRECTORY ${_moc_outfile_dir})
|
||||
ENDIF(_moc_outfile_dir)
|
||||
SET (_moc_parameters_file ${outfile}_parameters)
|
||||
SET (_moc_parameters ${moc_flags} ${moc_options} -o "${outfile}" "${infile}")
|
||||
STRING (REPLACE ";" "\n" _moc_parameters "${_moc_parameters}")
|
||||
FILE (WRITE ${_moc_parameters_file} "${_moc_parameters}")
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
|
||||
COMMAND ${QT_MOC_EXECUTABLE} @${_moc_outfile_name}_parameters
|
||||
DEPENDS ${infile}
|
||||
${_moc_working_dir}
|
||||
VERBATIM)
|
||||
ELSE (WIN32)
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
|
||||
COMMAND ${QT_MOC_EXECUTABLE}
|
||||
ARGS ${moc_flags} ${moc_options} -o ${outfile} ${infile}
|
||||
DEPENDS ${infile} VERBATIM)
|
||||
ENDIF (WIN32)
|
||||
ENDMACRO (QT4_CREATE_MOC_COMMAND)
|
||||
|
||||
|
||||
MACRO(QT4_AUTOMOC)
|
||||
QT4_GET_MOC_FLAGS(_moc_INCS)
|
||||
|
||||
SET(_matching_FILES )
|
||||
FOREACH (_current_FILE ${ARGN})
|
||||
|
||||
GET_FILENAME_COMPONENT(_abs_FILE ${_current_FILE} ABSOLUTE)
|
||||
# if "SKIP_AUTOMOC" is set to true, we will not handle this file here.
|
||||
# This is required to make uic work correctly:
|
||||
# we need to add generated .cpp files to the sources (to compile them),
|
||||
# but we cannot let automoc handle them, as the .cpp files don't exist yet when
|
||||
# cmake is run for the very first time on them -> however the .cpp files might
|
||||
# exist at a later run. at that time we need to skip them, so that we don't add two
|
||||
# different rules for the same moc file
|
||||
GET_SOURCE_FILE_PROPERTY(_skip ${_abs_FILE} SKIP_AUTOMOC)
|
||||
|
||||
IF ( NOT _skip AND EXISTS ${_abs_FILE} )
|
||||
|
||||
FILE(READ ${_abs_FILE} _contents)
|
||||
|
||||
GET_FILENAME_COMPONENT(_abs_PATH ${_abs_FILE} PATH)
|
||||
|
||||
STRING(REGEX MATCHALL "# *include +[^ ]+\\.moc[\">]" _match "${_contents}")
|
||||
IF(_match)
|
||||
FOREACH (_current_MOC_INC ${_match})
|
||||
STRING(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}")
|
||||
|
||||
GET_FILENAME_COMPONENT(_basename ${_current_MOC} NAME_WE)
|
||||
IF(EXISTS ${_abs_PATH}/${_basename}.hpp)
|
||||
SET(_header ${_abs_PATH}/${_basename}.hpp)
|
||||
ELSE(EXISTS ${_abs_PATH}/${_basename}.hpp)
|
||||
SET(_header ${_abs_PATH}/${_basename}.h)
|
||||
ENDIF(EXISTS ${_abs_PATH}/${_basename}.hpp)
|
||||
SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
|
||||
QT4_CREATE_MOC_COMMAND(${_header} ${_moc} "${_moc_INCS}" "")
|
||||
MACRO_ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc})
|
||||
ENDFOREACH (_current_MOC_INC)
|
||||
ENDIF(_match)
|
||||
ENDIF ( NOT _skip AND EXISTS ${_abs_FILE} )
|
||||
ENDFOREACH (_current_FILE)
|
||||
ENDMACRO(QT4_AUTOMOC)
|
||||
|
||||
|
||||
# Portability helpers.
|
||||
|
||||
set(QT_QTGUI_LIBRARIES
|
||||
${Qt5Gui_LIBRARIES}
|
||||
${Qt5Widgets_LIBRARIES}
|
||||
${Qt5PrintSupport_LIBRARIES}
|
||||
${Qt5Svg_LIBRARIES}
|
||||
)
|
||||
|
||||
set(QT_INCLUDES
|
||||
${Qt5Gui_INCLUDE_DIRS}
|
||||
${Qt5Widgets_INCLUDE_DIRS}
|
||||
${Qt5PrintSupport_INCLUDE_DIRS}
|
||||
${Qt5Svg_INCLUDE_DIRS}
|
||||
)
|
||||
set(QT_QTGUI_LIBRARY ${QT_QTGUI_LIBRARIES})
|
||||
|
||||
set(_qt_modules
|
||||
Core
|
||||
Declarative
|
||||
Widgets
|
||||
Script
|
||||
ScriptTools
|
||||
DBus
|
||||
Network
|
||||
Test
|
||||
Designer
|
||||
Concurrent
|
||||
Xml
|
||||
UiTools
|
||||
Qml
|
||||
Quick1
|
||||
WebKit
|
||||
WebKitWidgets
|
||||
Sql
|
||||
OpenGL
|
||||
)
|
||||
|
||||
foreach(_module ${_qt_modules})
|
||||
string(TOUPPER ${_module} _module_upper)
|
||||
set(QT_QT${_module_upper}_LIBRARIES ${Qt5${_module}_LIBRARIES})
|
||||
set(QT_QT${_module_upper}_LIBRARY ${QT_QT${_module_upper}_LIBRARIES})
|
||||
list(APPEND QT_INCLUDES ${Qt5${_module}_INCLUDE_DIRS})
|
||||
set(QT_QT${_module_upper}_FOUND ${Qt5${_module}_FOUND})
|
||||
endforeach()
|
||||
|
||||
list(APPEND QT_QTCORE_LIBRARIES ${Qt5Concurrent_LIBRARIES})
|
||||
list(APPEND QT_QTCORE_LIBRARY ${Qt5Concurrent_LIBRARIES})
|
||||
|
||||
list(APPEND QT_QTWEBKIT_LIBRARIES ${Qt5WebKitWidgets_LIBRARIES})
|
||||
list(APPEND QT_QTWEBKIT_LIBRARY ${Qt5WebKitWidgets_LIBRARIES})
|
||||
|
||||
set(QT_QTDECLARATIVE_LIBRARIES ${Qt5Quick1_LIBRARIES})
|
||||
set(QT_QTDECLARATIVE_LIBRARY ${Qt5Quick1_LIBRARIES})
|
||||
|
||||
get_target_property(QT_QMAKE_EXECUTABLE Qt5::qmake LOCATION)
|
||||
get_target_property(QT_RCC_EXECUTABLE Qt5::rcc LOCATION)
|
||||
if (TARGET Qt5::uic)
|
||||
get_target_property(QT_UIC_EXECUTABLE Qt5::uic LOCATION)
|
||||
endif()
|
||||
|
||||
if (TARGET Qt5::qdbuscpp2xml)
|
||||
get_target_property(QT_QDBUSCPP2XML_EXECUTABLE Qt5::qdbuscpp2xml LOCATION)
|
||||
endif()
|
||||
|
||||
if (TARGET Qt5::qdbusxml2cpp)
|
||||
get_target_property(QT_QDBUSXML2CPP_EXECUTABLE Qt5::qdbusxml2cpp LOCATION)
|
||||
endif()
|
||||
|
||||
add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0)
|
||||
|
||||
macro(qt4_wrap_ui)
|
||||
qt5_wrap_ui(${ARGN})
|
||||
endmacro()
|
||||
|
||||
macro(qt4_wrap_cpp)
|
||||
qt5_wrap_cpp(${ARGN})
|
||||
endmacro()
|
||||
|
||||
macro(qt4_generate_moc)
|
||||
qt5_generate_moc(${ARGN})
|
||||
endmacro()
|
||||
|
||||
macro(qt4_add_dbus_adaptor)
|
||||
qt5_add_dbus_adaptor(${ARGN})
|
||||
endmacro()
|
||||
|
||||
macro(qt4_add_dbus_interfaces)
|
||||
qt5_add_dbus_interfaces(${ARGN})
|
||||
endmacro()
|
||||
|
||||
macro(qt4_add_dbus_interface)
|
||||
qt5_add_dbus_interface(${ARGN})
|
||||
endmacro()
|
||||
|
||||
macro(qt4_generate_dbus_interface)
|
||||
qt5_generate_dbus_interface(${ARGN})
|
||||
endmacro()
|
||||
|
||||
macro(qt4_add_resources)
|
||||
qt5_add_resources(${ARGN})
|
||||
endmacro()
|
@ -1,125 +0,0 @@
|
||||
|
||||
find_package(Qt5Core QUIET)
|
||||
mark_as_advanced(Qt5Core_DIR)
|
||||
|
||||
if (Qt5Core_FOUND)
|
||||
if (NOT Qt5Transitional_FIND_COMPONENTS)
|
||||
set(_components
|
||||
Core
|
||||
Gui
|
||||
DBus
|
||||
Designer
|
||||
Declarative
|
||||
Script
|
||||
ScriptTools
|
||||
Network
|
||||
Test
|
||||
Xml
|
||||
Svg
|
||||
Sql
|
||||
Widgets
|
||||
PrintSupport
|
||||
Concurrent
|
||||
UiTools
|
||||
WebKit
|
||||
WebKitWidgets
|
||||
OpenGL
|
||||
)
|
||||
foreach(_component ${_components})
|
||||
find_package(Qt5${_component})
|
||||
mark_as_advanced(Qt5${_component}_DIR)
|
||||
list(APPEND QT_LIBRARIES ${Qt5${_component}_LIBRARIES})
|
||||
endforeach()
|
||||
else()
|
||||
set(_components ${Qt5Transitional_FIND_COMPONENTS})
|
||||
foreach(_component ${Qt5Transitional_FIND_COMPONENTS})
|
||||
find_package(Qt5${_component} REQUIRED)
|
||||
mark_as_advanced(Qt5${_component}_DIR)
|
||||
if ("${_component}" STREQUAL "WebKit")
|
||||
find_package(Qt5WebKitWidgets REQUIRED)
|
||||
mark_as_advanced(Qt5WebKitWidgets_DIR)
|
||||
list(APPEND QT_LIBRARIES ${Qt5WebKitWidgets_LIBRARIES} )
|
||||
endif()
|
||||
if ("${_component}" STREQUAL "Gui")
|
||||
find_package(Qt5Widgets REQUIRED)
|
||||
find_package(Qt5PrintSupport REQUIRED)
|
||||
find_package(Qt5Svg REQUIRED)
|
||||
mark_as_advanced(Qt5Widgets_DIR Qt5PrintSupport_DIR Qt5Svg_DIR)
|
||||
list(APPEND QT_LIBRARIES ${Qt5Widgets_LIBRARIES}
|
||||
${Qt5PrintSupport_LIBRARIES}
|
||||
${Qt5Svg_LIBRARIES} )
|
||||
endif()
|
||||
# Core module was separated to Core and Concurrent in Qt5.
|
||||
# But QCA doesn't use any classes from QtConcurrent.
|
||||
# So QtConcurrent mustn't be used in QCA.
|
||||
# Uncomment this if Concurrent support will be added.
|
||||
|
||||
# if ("${_component}" STREQUAL "Core")
|
||||
# find_package(Qt5Concurrent REQUIRED)
|
||||
# list(APPEND QT_LIBRARIES ${Qt5Concurrent_LIBRARIES} )
|
||||
# endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
set(Qt5Transitional_FOUND TRUE)
|
||||
set(QT5_BUILD TRUE)
|
||||
|
||||
# Temporary until upstream does this:
|
||||
foreach(_component ${_components})
|
||||
if (TARGET Qt5::${_component})
|
||||
set_property(TARGET Qt5::${_component}
|
||||
APPEND PROPERTY
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${Qt5${_component}_INCLUDE_DIRS})
|
||||
set_property(TARGET Qt5::${_component}
|
||||
APPEND PROPERTY
|
||||
INTERFACE_COMPILE_DEFINITIONS ${Qt5${_component}_COMPILE_DEFINITIONS})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set_property(TARGET Qt5::Core
|
||||
PROPERTY
|
||||
INTERFACE_POSITION_INDEPENDENT_CODE ON
|
||||
)
|
||||
|
||||
if (WIN32 AND NOT Qt5_NO_LINK_QTMAIN)
|
||||
set(_isExe $<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>)
|
||||
set(_isWin32 $<BOOL:$<TARGET_PROPERTY:WIN32_EXECUTABLE>>)
|
||||
set(_isNotExcluded $<NOT:$<BOOL:$<TARGET_PROPERTY:Qt5_NO_LINK_QTMAIN>>>)
|
||||
get_target_property(_configs Qt5::Core IMPORTED_CONFIGURATIONS)
|
||||
foreach(_config ${_configs})
|
||||
set_property(TARGET Qt5::Core APPEND PROPERTY
|
||||
IMPORTED_LINK_INTERFACE_LIBRARIES_${_config}
|
||||
$<$<AND:${_isExe},${_isWin32},${_isNotExcluded}>:Qt5::WinMain>
|
||||
)
|
||||
endforeach()
|
||||
unset(_configs)
|
||||
unset(_isExe)
|
||||
unset(_isWin32)
|
||||
unset(_isNotExcluded)
|
||||
endif()
|
||||
# End upstreamed stuff.
|
||||
|
||||
get_filename_component(_modules_dir "${CMAKE_CURRENT_LIST_DIR}/../modules" ABSOLUTE)
|
||||
include("${_modules_dir}/ECMQt4To5Porting.cmake") # TODO: Port away from this.
|
||||
include_directories(${QT_INCLUDES}) # TODO: Port away from this.
|
||||
|
||||
if (Qt5_POSITION_INDEPENDENT_CODE)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
endif()
|
||||
|
||||
else()
|
||||
foreach(_component ${Qt5Transitional_FIND_COMPONENTS})
|
||||
if("${_component}" STREQUAL "Widgets") # new in Qt5
|
||||
set(_component Gui)
|
||||
elseif("${_component}" STREQUAL "Concurrent") # new in Qt5
|
||||
set(_component Core)
|
||||
endif()
|
||||
list(APPEND _components Qt${_component})
|
||||
endforeach()
|
||||
find_package(Qt4 ${QT_MIN_VERSION} REQUIRED ${_components})
|
||||
include_directories(${QT_INCLUDES})
|
||||
|
||||
if(QT4_FOUND)
|
||||
set(Qt5Transitional_FOUND TRUE)
|
||||
endif()
|
||||
endif()
|
@ -1,55 +1,16 @@
|
||||
|
||||
IF (Qt5Core_FOUND)
|
||||
# FindQt4.cmake wasn't used, so define it here
|
||||
MACRO (QT4_GET_MOC_INC_DIRS _moc_INC_DIRS)
|
||||
SET(${_moc_INC_DIRS})
|
||||
GET_DIRECTORY_PROPERTY(_inc_DIRS INCLUDE_DIRECTORIES)
|
||||
|
||||
FOREACH(_current ${_inc_DIRS})
|
||||
SET(${_moc_INC_DIRS} ${${_moc_INC_DIRS}} "-I" ${_current})
|
||||
ENDFOREACH(_current ${_inc_DIRS})
|
||||
ENDMACRO(QT4_GET_MOC_INC_DIRS)
|
||||
|
||||
MACRO(SETUP_QT5_DIRS)
|
||||
GET_TARGET_PROPERTY(QMAKE_EXECUTABLE ${Qt5Core_QMAKE_EXECUTABLE} LOCATION)
|
||||
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_LIBS" OUTPUT_VARIABLE QT_LIBRARY_DIR )
|
||||
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_PREFIX" OUTPUT_VARIABLE QT_PREFIX_DIR )
|
||||
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_PLUGINS" OUTPUT_VARIABLE QT_PLUGINS_DIR )
|
||||
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_BINS" OUTPUT_VARIABLE QT_BINARY_DIR )
|
||||
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_HEADERS" OUTPUT_VARIABLE QT_HEADERS_DIR )
|
||||
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_DOCS" OUTPUT_VARIABLE QT_DOC_DIR )
|
||||
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_DATA" OUTPUT_VARIABLE QT_DATA_DIR )
|
||||
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_HOST_DATA" OUTPUT_VARIABLE QT_ARCHDATA_DIR )
|
||||
SET( QT_MKSPECS_DIR "${QT_ARCHDATA_DIR}/mkspecs" )
|
||||
ENDMACRO(SETUP_QT5_DIRS)
|
||||
ELSE (Qt5Core_FOUND)
|
||||
# Cmake FindQt4 module doesn't provide QT_INSTALL_PREFIX and QT_INSTALL_DATA vars
|
||||
# It will be done here
|
||||
MACRO(SETUP_QT4_DIRS)
|
||||
_qt4_query_qmake(QT_INSTALL_PREFIX QT_PREFIX_DIR)
|
||||
_qt4_query_qmake(QT_INSTALL_DATA QT_DATA_DIR)
|
||||
ENDMACRO(SETUP_QT4_DIRS)
|
||||
ENDIF()
|
||||
|
||||
MACRO(MY_AUTOMOC _srcsList)
|
||||
# QT4_GET_MOC_INC_DIRS(_moc_INCS)
|
||||
FOREACH (_current_FILE ${${_srcsList}})
|
||||
GET_FILENAME_COMPONENT(_abs_FILE ${_current_FILE} ABSOLUTE)
|
||||
GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
|
||||
SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc)
|
||||
# SET(extra_moc_argument)
|
||||
# if(WIN32)
|
||||
# SET(extra_moc_argument -DWIN32)
|
||||
# endif(WIN32)
|
||||
QT4_GENERATE_MOC(${_abs_FILE} ${_moc})
|
||||
# ADD_CUSTOM_COMMAND(OUTPUT ${_moc}
|
||||
# COMMAND ${QT_MOC_EXECUTABLE}
|
||||
# ARGS ${extra_moc_argument} ${_moc_INCS} -o ${_moc} ${_abs_FILE}
|
||||
# DEPENDS ${_current_FILE}
|
||||
# )
|
||||
LIST(APPEND ${_srcsList} ${_moc})
|
||||
ENDFOREACH (_current_FILE)
|
||||
ENDMACRO(MY_AUTOMOC)
|
||||
MACRO(SETUP_QT5_DIRS)
|
||||
GET_TARGET_PROPERTY(QMAKE_EXECUTABLE ${Qt5Core_QMAKE_EXECUTABLE} LOCATION)
|
||||
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_LIBS" OUTPUT_VARIABLE QT_LIBRARY_DIR )
|
||||
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_PREFIX" OUTPUT_VARIABLE QT_PREFIX_DIR )
|
||||
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_PLUGINS" OUTPUT_VARIABLE QT_PLUGINS_DIR )
|
||||
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_BINS" OUTPUT_VARIABLE QT_BINARY_DIR )
|
||||
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_HEADERS" OUTPUT_VARIABLE QT_HEADERS_DIR )
|
||||
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_DOCS" OUTPUT_VARIABLE QT_DOC_DIR )
|
||||
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_DATA" OUTPUT_VARIABLE QT_DATA_DIR )
|
||||
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_HOST_DATA" OUTPUT_VARIABLE QT_ARCHDATA_DIR )
|
||||
SET( QT_MKSPECS_DIR "${QT_ARCHDATA_DIR}/mkspecs" )
|
||||
ENDMACRO(SETUP_QT5_DIRS)
|
||||
|
||||
macro(set_enabled_plugin PLUGIN ENABLED)
|
||||
# To nice looks
|
||||
@ -72,7 +33,6 @@ endmacro(disable_plugin)
|
||||
# it used to build examples and tools
|
||||
macro(target_link_qca_libraries TARGET)
|
||||
# Link with QCA library
|
||||
target_link_libraries(${TARGET} ${QT_QTCORE_LIBRARY})
|
||||
target_link_libraries(${TARGET} ${QCA_LIB_NAME})
|
||||
|
||||
# Statically link with all enabled QCA plugins
|
||||
@ -90,7 +50,7 @@ endmacro(target_link_qca_libraries)
|
||||
# it used to build unittests
|
||||
macro(target_link_qca_test_libraries TARGET)
|
||||
target_link_qca_libraries(${TARGET})
|
||||
target_link_libraries(${TARGET} ${QT_QTTEST_LIBRARY})
|
||||
target_link_libraries(${TARGET} Qt5::Test)
|
||||
endmacro(target_link_qca_test_libraries)
|
||||
|
||||
# it used to build unittests
|
||||
|
@ -1,6 +1,5 @@
|
||||
if(Qt5Core_FOUND)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
|
||||
endif()
|
||||
find_package(Qt5 REQUIRED Network)
|
||||
add_subdirectory(aes-cmac)
|
||||
add_subdirectory(base64test)
|
||||
add_subdirectory(certtest)
|
||||
|
@ -1,7 +1,5 @@
|
||||
set(eventhandlerdemo_bin_SRCS eventhandlerdemo.cpp)
|
||||
|
||||
MY_AUTOMOC( eventhandlerdemo_bin_SRCS)
|
||||
|
||||
add_executable(eventhandlerdemo ${eventhandlerdemo_bin_SRCS})
|
||||
|
||||
target_link_qca_libraries(eventhandlerdemo)
|
||||
|
@ -1,7 +1,5 @@
|
||||
set(keyloader_bin_SRCS keyloader.cpp)
|
||||
|
||||
MY_AUTOMOC( keyloader_bin_SRCS )
|
||||
|
||||
add_executable(keyloader ${keyloader_bin_SRCS})
|
||||
|
||||
target_link_qca_libraries(keyloader)
|
||||
|
@ -1,8 +1,6 @@
|
||||
set(saslclient_bin_SRCS saslclient.cpp)
|
||||
|
||||
MY_AUTOMOC( saslclient_bin_SRCS)
|
||||
|
||||
add_executable(saslclient ${saslclient_bin_SRCS})
|
||||
|
||||
target_link_qca_libraries(saslclient)
|
||||
target_link_libraries(saslclient ${QT_QTNETWORK_LIBRARY})
|
||||
target_link_libraries(saslclient Qt5::Network)
|
||||
|
@ -1,8 +1,6 @@
|
||||
set(saslserver_bin_SRCS saslserver.cpp)
|
||||
|
||||
MY_AUTOMOC( saslserver_bin_SRCS)
|
||||
|
||||
add_executable(saslserver ${saslserver_bin_SRCS})
|
||||
|
||||
target_link_qca_libraries(saslserver)
|
||||
target_link_libraries(saslserver ${QT_QTNETWORK_LIBRARY})
|
||||
target_link_libraries(saslserver Qt5::Network)
|
||||
|
@ -1,8 +1,6 @@
|
||||
set(sslservtest_bin_SRCS sslservtest.cpp)
|
||||
|
||||
MY_AUTOMOC( sslservtest_bin_SRCS )
|
||||
|
||||
add_executable(sslservtest ${sslservtest_bin_SRCS})
|
||||
|
||||
target_link_qca_libraries(sslservtest)
|
||||
target_link_libraries(sslservtest ${QT_QTNETWORK_LIBRARY})
|
||||
target_link_libraries(sslservtest Qt5::Network)
|
||||
|
@ -1,8 +1,6 @@
|
||||
set(ssltest_bin_SRCS ssltest.cpp)
|
||||
|
||||
MY_AUTOMOC( ssltest_bin_SRCS)
|
||||
|
||||
add_executable(ssltest ${ssltest_bin_SRCS})
|
||||
|
||||
target_link_qca_libraries(ssltest)
|
||||
target_link_libraries(ssltest ${QT_QTNETWORK_LIBRARY})
|
||||
target_link_libraries(ssltest Qt5::Network)
|
||||
|
@ -1,9 +1,4 @@
|
||||
set(tlssocket_bin_moc_SRCS tlssocket.cpp)
|
||||
set(tlssocket_bin_nonmoc_SRCS main.cpp)
|
||||
|
||||
MY_AUTOMOC( tlssocket_bin_moc_SRCS)
|
||||
|
||||
add_executable(tlssocket ${tlssocket_bin_moc_SRCS} ${tlssocket_bin_nonmoc_SRCS})
|
||||
add_executable(tlssocket tlssocket.cpp main.cpp)
|
||||
|
||||
target_link_qca_libraries(tlssocket)
|
||||
target_link_libraries(tlssocket ${QT_QTNETWORK_LIBRARY})
|
||||
target_link_libraries(tlssocket Qt5::Network)
|
||||
|
@ -38,13 +38,6 @@
|
||||
|
||||
#include <QIODevice>
|
||||
|
||||
// Qt5 comes with QStringLiteral for wrapping string literals, which Qt4 does
|
||||
// not have. It is needed if the headers are built with QT_NO_CAST_FROM_ASCII.
|
||||
// Defining it here as QString::fromUtf8 for convenience.
|
||||
#ifndef QStringLiteral
|
||||
#define QStringLiteral(str) QString::fromUtf8(str)
|
||||
#endif
|
||||
|
||||
namespace QCA {
|
||||
|
||||
/**
|
||||
|
@ -9,14 +9,13 @@ if(BOTAN_FOUND)
|
||||
|
||||
set(QCA_BOTAN_SOURCES qca-botan.cpp)
|
||||
add_definitions(${BOTAN_CFLAGS})
|
||||
my_automoc(QCA_BOTAN_SOURCES)
|
||||
add_library(qca-botan ${PLUGIN_TYPE} ${QCA_BOTAN_SOURCES})
|
||||
|
||||
if(APPLE AND ${PLUGIN_TYPE} STREQUAL "MODULE")
|
||||
set_property(TARGET qca-botan PROPERTY SUFFIX ".dylib")
|
||||
endif()
|
||||
|
||||
target_link_libraries(qca-botan ${QT_QTCORE_LIBRARY} ${QCA_LIB_NAME} ${BOTAN_LIBRARIES})
|
||||
target_link_libraries(qca-botan Qt5::Core ${QCA_LIB_NAME} ${BOTAN_LIBRARIES})
|
||||
|
||||
if(NOT DEVELOPER_MODE)
|
||||
install(TARGETS qca-botan
|
||||
|
@ -9,14 +9,13 @@ if(SASL2_FOUND)
|
||||
|
||||
set(QCA_SASL_SOURCES qca-cyrus-sasl.cpp)
|
||||
include_directories( ${SASL2_INCLUDE_DIR} )
|
||||
my_automoc( QCA_SASL_SOURCES )
|
||||
add_library(qca-cyrus-sasl ${PLUGIN_TYPE} ${QCA_SASL_SOURCES})
|
||||
|
||||
if(APPLE AND ${PLUGIN_TYPE} STREQUAL "MODULE")
|
||||
set_property(TARGET qca-cyrus-sasl PROPERTY SUFFIX ".dylib")
|
||||
endif()
|
||||
|
||||
target_link_libraries(qca-cyrus-sasl ${QT_QTCORE_LIBRARY} ${QCA_LIB_NAME} ${SASL2_LIBRARIES})
|
||||
target_link_libraries(qca-cyrus-sasl Qt5::Core ${QCA_LIB_NAME} ${SASL2_LIBRARIES})
|
||||
|
||||
if(NOT DEVELOPER_MODE)
|
||||
install(TARGETS qca-cyrus-sasl
|
||||
|
@ -19,14 +19,13 @@ if(LIBGCRYPT_FOUND)
|
||||
|
||||
set(QCA_GCRYPT_SOURCES qca-gcrypt.cpp)
|
||||
add_definitions(${LIBGCRYPT_CFLAGS})
|
||||
my_automoc(QCA_GCRYPT_SOURCES)
|
||||
add_library(qca-gcrypt ${PLUGIN_TYPE} ${QCA_GCRYPT_SOURCES})
|
||||
|
||||
if(APPLE AND ${PLUGIN_TYPE} STREQUAL "MODULE")
|
||||
set_property(TARGET qca-gcrypt PROPERTY SUFFIX ".dylib")
|
||||
endif()
|
||||
|
||||
target_link_libraries(qca-gcrypt ${QT_QTCORE_LIBRARY} ${QCA_LIB_NAME} ${LIBGCRYPT_LIBRARIES})
|
||||
target_link_libraries(qca-gcrypt Qt5::Core ${QCA_LIB_NAME} ${LIBGCRYPT_LIBRARIES})
|
||||
|
||||
if(NOT DEVELOPER_MODE)
|
||||
install(TARGETS qca-gcrypt
|
||||
|
@ -2,11 +2,8 @@
|
||||
|
||||
enable_plugin("gnupg")
|
||||
|
||||
set(QCA_GNUPG_MOC_SOURCES
|
||||
set(QCA_GNUPG_SOURCES
|
||||
qca-gnupg.cpp
|
||||
)
|
||||
|
||||
set(QCA_GNUPG_NONMOC_SOURCES
|
||||
gpgop.cpp
|
||||
utils.cpp
|
||||
gpgproc/sprocess.cpp
|
||||
@ -38,26 +35,14 @@ set(QCA_GNUPG_HEADERS
|
||||
myopenpgpcontext.h
|
||||
)
|
||||
|
||||
my_automoc(QCA_GNUPG_MOC_SOURCES)
|
||||
|
||||
qt4_wrap_cpp(EXTRA_GNUPG_SOURCES gpgop.h)
|
||||
qt4_wrap_cpp(EXTRA_GNUPG_SOURCES gpgop_p.h)
|
||||
qt4_wrap_cpp(EXTRA_GNUPG_SOURCES gpgproc/gpgproc.h)
|
||||
qt4_wrap_cpp(EXTRA_GNUPG_SOURCES gpgproc/gpgproc_p.h)
|
||||
qt4_wrap_cpp(EXTRA_GNUPG_SOURCES gpgproc/sprocess.h)
|
||||
qt4_wrap_cpp(EXTRA_GNUPG_SOURCES ringwatch.h)
|
||||
qt4_wrap_cpp(EXTRA_GNUPG_SOURCES mykeystorelist.h)
|
||||
qt4_wrap_cpp(EXTRA_GNUPG_SOURCES mymessagecontext.h)
|
||||
qt4_wrap_cpp(EXTRA_GNUPG_SOURCES gpgaction.h)
|
||||
|
||||
add_library(qca-gnupg ${PLUGIN_TYPE} ${QCA_GNUPG_MOC_SOURCES} ${QCA_GNUPG_NONMOC_SOURCES} ${EXTRA_GNUPG_SOURCES} ${QCA_GNUPG_HEADERS})
|
||||
add_library(qca-gnupg ${PLUGIN_TYPE} ${QCA_GNUPG_SOURCES} ${EXTRA_GNUPG_SOURCES} ${QCA_GNUPG_HEADERS})
|
||||
|
||||
if(APPLE AND ${PLUGIN_TYPE} STREQUAL "MODULE")
|
||||
set_property(TARGET qca-gnupg PROPERTY SUFFIX ".dylib")
|
||||
endif()
|
||||
|
||||
include_directories(gpgproc)
|
||||
target_link_libraries(qca-gnupg ${QT_QTCORE_LIBRARY} ${QCA_LIB_NAME})
|
||||
target_link_libraries(qca-gnupg Qt5::Core ${QCA_LIB_NAME})
|
||||
|
||||
if (WIN32)
|
||||
target_link_libraries(qca-gnupg advapi32)
|
||||
|
@ -21,17 +21,11 @@
|
||||
|
||||
#include "gpgop.h"
|
||||
#include "gpgaction.h"
|
||||
#include "gpgproc_p.h"
|
||||
#include <QObject>
|
||||
|
||||
namespace gpgQCAPlugin {
|
||||
|
||||
enum ResetMode
|
||||
{
|
||||
ResetSession = 0,
|
||||
ResetSessionAndData = 1,
|
||||
ResetAll = 2
|
||||
};
|
||||
|
||||
class GpgOp::Private : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
enable_plugin("logger")
|
||||
set(QCA_LOGGER_SOURCES qca-logger.cpp)
|
||||
my_automoc( QCA_LOGGER_SOURCES )
|
||||
|
||||
add_library(qca-logger ${PLUGIN_TYPE} ${QCA_LOGGER_SOURCES})
|
||||
|
||||
@ -12,7 +11,7 @@ endif()
|
||||
|
||||
add_definitions(${LOGGERH_DEFINITIONS})
|
||||
include_directories(${LOGGERH_INCLUDE_DIR})
|
||||
target_link_libraries(qca-logger ${QT_QTCORE_LIBRARY})
|
||||
target_link_libraries(qca-logger Qt5::Core)
|
||||
target_link_libraries(qca-logger ${QCA_LIB_NAME})
|
||||
|
||||
if(NOT DEVELOPER_MODE)
|
||||
|
@ -10,9 +10,8 @@ if(NSS_FOUND)
|
||||
set(QCA_NSS_SOURCES qca-nss.cpp)
|
||||
add_definitions(${NSS_CFLAGS_OTHER})
|
||||
include_directories(${NSS_INCLUDE_DIRS})
|
||||
my_automoc( QCA_NSS_SOURCES )
|
||||
add_library(qca-nss ${PLUGIN_TYPE} ${QCA_NSS_SOURCES})
|
||||
target_link_libraries(qca-nss ${QT_QTCORE_LIBRARY} ${QCA_LIB_NAME} ${NSS_LDFLAGS})
|
||||
target_link_libraries(qca-nss Qt5::Core ${QCA_LIB_NAME} ${NSS_LDFLAGS})
|
||||
|
||||
if(APPLE AND ${PLUGIN_TYPE} STREQUAL "MODULE")
|
||||
set_property(TARGET qca-nss PROPERTY SUFFIX ".dylib")
|
||||
|
@ -48,15 +48,13 @@ if(OPENSSL_FOUND)
|
||||
|
||||
set(QCA_OSSL_SOURCES qca-ossl.cpp)
|
||||
|
||||
my_automoc( QCA_OSSL_SOURCES )
|
||||
|
||||
add_library(qca-ossl ${PLUGIN_TYPE} ${QCA_OSSL_SOURCES})
|
||||
|
||||
if(APPLE AND ${PLUGIN_TYPE} STREQUAL "MODULE")
|
||||
set_property(TARGET qca-ossl PROPERTY SUFFIX ".dylib")
|
||||
endif()
|
||||
|
||||
target_link_libraries(qca-ossl ${QT_QTCORE_LIBRARY})
|
||||
target_link_libraries(qca-ossl Qt5::Core)
|
||||
target_link_libraries(qca-ossl ${QCA_LIB_NAME})
|
||||
target_link_libraries(qca-ossl OpenSSL::SSL OpenSSL::Crypto)
|
||||
|
||||
|
@ -11,7 +11,6 @@ endif(WITH_pkcs11_PLUGIN STREQUAL "yes")
|
||||
if(OPENSSL_FOUND AND PKCS11H_FOUND)
|
||||
enable_plugin("pkcs11")
|
||||
set(QCA_PKCS11_SOURCES qca-pkcs11.cpp)
|
||||
my_automoc( QCA_PKCS11_SOURCES )
|
||||
|
||||
add_library(qca-pkcs11 ${PLUGIN_TYPE} ${QCA_PKCS11_SOURCES})
|
||||
|
||||
@ -21,7 +20,7 @@ if(OPENSSL_FOUND AND PKCS11H_FOUND)
|
||||
|
||||
add_definitions(${PKCS11H_CFLAGS_OTHER})
|
||||
include_directories(${PKCS11H_INCLUDE_DIRS})
|
||||
target_link_libraries(qca-pkcs11 ${QT_QTCORE_LIBRARY})
|
||||
target_link_libraries(qca-pkcs11 Qt5::Core)
|
||||
target_link_libraries(qca-pkcs11 ${QCA_LIB_NAME})
|
||||
target_link_libraries(qca-pkcs11 ${PKCS11H_LDFLAGS})
|
||||
if (WIN32)
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
enable_plugin("softstore")
|
||||
set(QCA_SOFTSTORE_SOURCES qca-softstore.cpp)
|
||||
my_automoc( QCA_SOFTSTORE_SOURCES )
|
||||
|
||||
add_library(qca-softstore ${PLUGIN_TYPE} ${QCA_SOFTSTORE_SOURCES})
|
||||
|
||||
@ -12,7 +11,7 @@ endif()
|
||||
|
||||
add_definitions(${SOFTSTOREH_DEFINITIONS})
|
||||
include_directories(${SOFTSTOREH_INCLUDE_DIR})
|
||||
target_link_libraries(qca-softstore ${QT_QTCORE_LIBRARY})
|
||||
target_link_libraries(qca-softstore Qt5::Core)
|
||||
target_link_libraries(qca-softstore ${QCA_LIB_NAME})
|
||||
|
||||
if(NOT DEVELOPER_MODE)
|
||||
|
@ -3,11 +3,9 @@
|
||||
IF (WIN32)
|
||||
SET (QCA_WINCRYPTO_SOURCES qca-wincrypto.cpp)
|
||||
|
||||
MY_AUTOMOC (QCA_WINCRYPTO_SOURCES)
|
||||
|
||||
ADD_LIBRARY (qca-wincrypto MODULE ${QCA_WINCRYPTO_SOURCES})
|
||||
# use win32 includes
|
||||
TARGET_LINK_LIBRARIES (qca-wincrypto ${QT_QTCORE_LIBRARY})
|
||||
TARGET_LINK_LIBRARIES (qca-wincrypto Qt5::core)
|
||||
TARGET_LINK_LIBRARIES (qca-wincrypto ${QCA_LIB_NAME})
|
||||
TARGET_LINK_LIBRARIES (qca-wincrypto advapi32)
|
||||
|
||||
|
@ -28,20 +28,18 @@ endif()
|
||||
# base source files
|
||||
|
||||
|
||||
SET( nonmoc_SOURCES
|
||||
SET( SOURCES
|
||||
qca_tools.cpp
|
||||
qca_plugin.cpp
|
||||
qca_textfilter.cpp
|
||||
qca_basic.cpp
|
||||
support/logger.cpp
|
||||
)
|
||||
|
||||
SET( moc_SOURCES
|
||||
qca_cert.cpp
|
||||
qca_core.cpp
|
||||
qca_default.cpp
|
||||
qca_keystore.cpp
|
||||
qca_publickey.cpp
|
||||
qca_safeobj.cpp
|
||||
qca_safetimer.cpp
|
||||
qca_securelayer.cpp
|
||||
qca_securemessage.cpp
|
||||
@ -53,11 +51,11 @@ SET( moc_SOURCES
|
||||
)
|
||||
|
||||
IF (WIN32)
|
||||
SET( nonmoc_SOURCES ${nonmoc_SOURCES} qca_systemstore_win.cpp )
|
||||
SET( SOURCES ${SOURCES} qca_systemstore_win.cpp )
|
||||
elseif(APPLE)
|
||||
set( nonmoc_SOURCES ${nonmoc_SOURCES} qca_systemstore_mac.cpp)
|
||||
set( SOURCES ${SOURCES} qca_systemstore_mac.cpp)
|
||||
else()
|
||||
SET( nonmoc_SOURCES ${nonmoc_SOURCES} qca_systemstore_flatfile.cpp )
|
||||
SET( SOURCES ${SOURCES} qca_systemstore_flatfile.cpp )
|
||||
endif()
|
||||
|
||||
# Support files
|
||||
@ -67,7 +65,7 @@ endif()
|
||||
SET( botan_BASE botantools/botan )
|
||||
|
||||
|
||||
INCLUDE_DIRECTORIES(${QT_QTCORE_INCLUDE_DIR} support ${botan_BASE} )
|
||||
INCLUDE_DIRECTORIES(support ${botan_BASE} )
|
||||
|
||||
ADD_DEFINITIONS(
|
||||
-DBOTAN_TYPES_QT
|
||||
@ -123,25 +121,10 @@ IF(WIN32)
|
||||
SET( botan_SOURCES ${botan_SOURCES} ${botan_BASE}/ml_win32/mlock.cpp)
|
||||
ENDIF(WIN32)
|
||||
|
||||
MY_AUTOMOC( moc_SOURCES )
|
||||
SET( SOURCES ${SOURCES} ${moc_SOURCES} ${nonmoc_SOURCES} )
|
||||
|
||||
SET( SOURCES ${SOURCES} ${botan_SOURCES})
|
||||
|
||||
qt4_wrap_cpp( SOURCES "${qca_INCLUDEDIR}/QtCrypto/qca_core.h")
|
||||
qt4_wrap_cpp( SOURCES "${qca_INCLUDEDIR}/QtCrypto/qca_cert.h")
|
||||
qt4_wrap_cpp( SOURCES "${qca_INCLUDEDIR}/QtCrypto/qca_keystore.h")
|
||||
qt4_wrap_cpp( SOURCES "${qca_INCLUDEDIR}/QtCrypto/qcaprovider.h")
|
||||
qt4_wrap_cpp( SOURCES "${qca_INCLUDEDIR}/QtCrypto/qca_publickey.h")
|
||||
qt4_wrap_cpp( SOURCES "${qca_INCLUDEDIR}/QtCrypto/qca_securelayer.h")
|
||||
qt4_wrap_cpp( SOURCES "${qca_INCLUDEDIR}/QtCrypto/qca_securemessage.h")
|
||||
qt4_wrap_cpp( SOURCES "${qca_INCLUDEDIR}/QtCrypto/qca_support.h")
|
||||
qt4_wrap_cpp( SOURCES "${qca_INCLUDEDIR}/QtCrypto/qpipe.h")
|
||||
qt4_wrap_cpp( SOURCES "qca_safeobj.h")
|
||||
qt4_wrap_cpp( SOURCES "${qca_INCLUDEDIR}/QtCrypto/qca_safetimer.h")
|
||||
|
||||
add_library(${QCA_LIB_NAME} ${SOURCES} ${public_HEADERS})
|
||||
TARGET_LINK_LIBRARIES(${QCA_LIB_NAME} ${QT_QTCORE_LIBRARY})
|
||||
TARGET_LINK_LIBRARIES(${QCA_LIB_NAME} Qt5::Core)
|
||||
|
||||
if(WIN32)
|
||||
TARGET_LINK_LIBRARIES(${QCA_LIB_NAME} crypt32 ws2_32)
|
||||
|
@ -29,36 +29,14 @@
|
||||
|
||||
namespace QCA {
|
||||
|
||||
// This function performs the following steps:
|
||||
// obj->disconnect(owner); // to prevent future signals to owner
|
||||
// obj->setParent(0); // to prevent delete if parent is deleted
|
||||
// obj->deleteLater(); // now we can forget about the object
|
||||
inline void releaseAndDeleteLater(QObject *owner, QObject *obj)
|
||||
{
|
||||
obj->disconnect(owner);
|
||||
obj->setParent(0);
|
||||
obj->deleteLater();
|
||||
}
|
||||
|
||||
|
||||
|
||||
class SafeSocketNotifier : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
SafeSocketNotifier(int socket, QSocketNotifier::Type type,
|
||||
QObject *parent = 0) :
|
||||
QObject(parent)
|
||||
{
|
||||
sn = new QSocketNotifier(socket, type, this);
|
||||
connect(sn, SIGNAL(activated(int)), SIGNAL(activated(int)));
|
||||
}
|
||||
QObject *parent = 0);
|
||||
|
||||
~SafeSocketNotifier()
|
||||
{
|
||||
sn->setEnabled(false);
|
||||
releaseAndDeleteLater(this, sn);
|
||||
}
|
||||
~SafeSocketNotifier();
|
||||
|
||||
bool isEnabled() const { return sn->isEnabled(); }
|
||||
int socket() const { return sn->socket(); }
|
||||
|
@ -1,5 +1,3 @@
|
||||
if(Qt5Core_FOUND)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
|
||||
endif()
|
||||
add_subdirectory(mozcerts)
|
||||
add_subdirectory(qcatool)
|
||||
|
@ -1,10 +1,6 @@
|
||||
project(qcatool)
|
||||
|
||||
set(qcatool_moc_SRCS main.cpp)
|
||||
|
||||
MY_AUTOMOC( qcatool_moc_SRCS )
|
||||
|
||||
set(qcatool_bin_SRCS ${qcatool_moc_SRCS})
|
||||
set(qcatool_bin_SRCS main.cpp)
|
||||
|
||||
add_executable(${QCA_TOOL_NAME} ${qcatool_bin_SRCS})
|
||||
|
||||
|
@ -1,10 +1,8 @@
|
||||
ENABLE_TESTING()
|
||||
find_package(Qt5 REQUIRED Test)
|
||||
# QTEST_MAIN is using QApplication when QT_GUI_LIB is defined
|
||||
remove_definitions(-DQT_GUI_LIB)
|
||||
if(Qt5Core_FOUND)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
|
||||
find_package(Qt5Transitional REQUIRED Test)
|
||||
endif(Qt5Core_FOUND)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
|
||||
|
||||
add_subdirectory(base64unittest)
|
||||
add_subdirectory(bigintunittest)
|
||||
@ -21,6 +19,7 @@ add_subdirectory(keybundle)
|
||||
add_subdirectory(keygenunittest)
|
||||
add_subdirectory(keylengthunittest)
|
||||
add_subdirectory(keystore)
|
||||
add_subdirectory(logger)
|
||||
add_subdirectory(macunittest)
|
||||
add_subdirectory(metatype)
|
||||
add_subdirectory(pgpunittest)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(base64unittest_bin_SRCS base64unittest.cpp)
|
||||
|
||||
MY_AUTOMOC( base64unittest_bin_SRCS )
|
||||
|
||||
add_executable(base64unittest ${base64unittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(base64unittest)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(bigintunittest_bin_SRCS bigintunittest.cpp)
|
||||
|
||||
MY_AUTOMOC( bigintunittest_bin_SRCS )
|
||||
|
||||
add_executable(bigintunittest ${bigintunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(bigintunittest)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(certunittest_bin_SRCS certunittest.cpp)
|
||||
|
||||
MY_AUTOMOC( certunittest_bin_SRCS )
|
||||
|
||||
add_executable(certunittest ${certunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(certunittest)
|
||||
|
@ -3,8 +3,6 @@ enable_testing()
|
||||
set(cipherunittest_bin_HDRS cipherunittest.h)
|
||||
set(cipherunittest_bin_SRCS cipherunittest.cpp)
|
||||
|
||||
qt4_wrap_cpp(EXTRA_SRCS cipherunittest.h)
|
||||
|
||||
add_executable(cipherunittest ${cipherunittest_bin_SRCS} ${EXTRA_SRCS} ${cipherunittest_bin_HDRS})
|
||||
|
||||
target_link_qca_test_libraries(cipherunittest)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set( clientplugin_bin_SRCS clientplugin.cpp )
|
||||
|
||||
MY_AUTOMOC( clientplugin_bin_SRCS )
|
||||
|
||||
add_executable(clientplugin ${clientplugin_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(clientplugin)
|
||||
|
@ -23,6 +23,8 @@
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "clientplugin.h"
|
||||
|
||||
#include <QtCrypto>
|
||||
#include <QtCore/QPointer>
|
||||
#include <QtTest/QtTest>
|
||||
@ -31,20 +33,6 @@
|
||||
#include "import_plugins.h"
|
||||
#endif
|
||||
|
||||
class ClientPlugin : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
private slots:
|
||||
void initTestCase();
|
||||
void cleanupTestCase();
|
||||
void testInsertRemovePlugin();
|
||||
|
||||
private:
|
||||
QCA::Initializer* m_init;
|
||||
|
||||
};
|
||||
|
||||
void ClientPlugin::initTestCase()
|
||||
{
|
||||
m_init = new QCA::Initializer;
|
||||
@ -59,8 +47,7 @@ const QString providerName = "testClientSideProvider";
|
||||
|
||||
class TestClientProvider : public QObject, public QCA::Provider
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
Q_OBJECT
|
||||
public:
|
||||
int qcaVersion() const override
|
||||
{
|
||||
@ -109,4 +96,3 @@ void ClientPlugin::testInsertRemovePlugin()
|
||||
QTEST_MAIN(ClientPlugin)
|
||||
|
||||
#include "clientplugin.moc"
|
||||
|
||||
|
@ -31,10 +31,10 @@
|
||||
class ClientPlugin : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
private Q_SLOTS:
|
||||
private slots:
|
||||
void initTestCase();
|
||||
void cleanupTestCase();
|
||||
void testInsertRemovePlugin();
|
||||
|
||||
private:
|
||||
QCA::Initializer* m_init;
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(cms_bin_SRCS cms.cpp)
|
||||
|
||||
MY_AUTOMOC( cms_bin_SRCS )
|
||||
|
||||
add_executable(cms ${cms_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(cms)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set( dsaunittest_bin_SRCS dsaunittest.cpp)
|
||||
|
||||
MY_AUTOMOC( dsaunittest_bin_SRCS )
|
||||
|
||||
add_executable( dsaunittest ${dsaunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(dsaunittest)
|
||||
|
@ -1,7 +1,6 @@
|
||||
ENABLE_TESTING()
|
||||
|
||||
set(SOURCES "filewatchunittest.cpp")
|
||||
qt4_wrap_cpp(SOURCES "filewatchunittest.h")
|
||||
|
||||
add_executable( filewatchunittest ${SOURCES})
|
||||
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(hashunittest_bin_SRCS hashunittest.cpp)
|
||||
|
||||
MY_AUTOMOC( hashunittest_bin_SRCS )
|
||||
|
||||
add_executable( hashunittest ${hashunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(hashunittest)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(hexunittest_bin_SRCS hexunittest.cpp)
|
||||
|
||||
MY_AUTOMOC( hexunittest_bin_SRCS )
|
||||
|
||||
add_executable( hexunittest ${hexunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(hexunittest)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set( kdfunittest_bin_SRCS kdfunittest.cpp)
|
||||
|
||||
MY_AUTOMOC( kdfunittest_bin_SRCS )
|
||||
|
||||
add_executable( kdfunittest ${kdfunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(kdfunittest)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(keybundleunittest_bin_SRCS keybundle.cpp)
|
||||
|
||||
MY_AUTOMOC( keybundleunittest_bin_SRCS )
|
||||
|
||||
add_executable( keybundle ${keybundleunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(keybundle)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set( keygenunittest_bin_SRCS keygenunittest.cpp)
|
||||
|
||||
MY_AUTOMOC( keygenunittest_bin_SRCS )
|
||||
|
||||
add_executable( keygenunittest ${keygenunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(keygenunittest)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(keylengthunittest_bin_SRCS keylengthunittest.cpp)
|
||||
|
||||
MY_AUTOMOC( keylengthunittest_bin_SRCS )
|
||||
|
||||
add_executable( keylengthunittest ${keylengthunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(keylengthunittest)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(keystoreunittest_bin_SRCS keystore.cpp)
|
||||
|
||||
MY_AUTOMOC( keystoreunittest_bin_SRCS )
|
||||
|
||||
add_executable( keystore ${keystoreunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(keystore)
|
||||
|
@ -1,10 +1,6 @@
|
||||
ENABLE_TESTING()
|
||||
|
||||
set(loggerunittest_bin_SRCS loggerunittest.cpp)
|
||||
|
||||
MY_AUTOMOC( loggerunittest_bin_SRCS )
|
||||
|
||||
add_executable(loggerunittest ${loggerunittest_bin_SRCS} )
|
||||
add_executable(loggerunittest loggerunittest.cpp )
|
||||
|
||||
target_link_qca_test_libraries(loggerunittest)
|
||||
|
||||
|
@ -65,7 +65,7 @@ public:
|
||||
~LastLogger()
|
||||
{}
|
||||
|
||||
void logTextMessage( const QString &message, enum QCA::Logger::Severity severity )
|
||||
void logTextMessage( const QString &message, enum QCA::Logger::Severity severity ) override
|
||||
{
|
||||
m_lastMessage = message;
|
||||
m_messageSeverity = severity;
|
||||
@ -76,7 +76,7 @@ public:
|
||||
return m_lastMessage;
|
||||
}
|
||||
|
||||
void logBinaryMessage( const QByteArray &blob, enum QCA::Logger::Severity severity )
|
||||
void logBinaryMessage( const QByteArray &blob, enum QCA::Logger::Severity severity ) override
|
||||
{
|
||||
m_lastBlob = blob;
|
||||
m_blobSeverity = severity;
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(macunittest_bin_SRCS macunittest.cpp)
|
||||
|
||||
MY_AUTOMOC( macunittest_bin_SRCS )
|
||||
|
||||
add_executable( macunittest ${macunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(macunittest)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(metatype_bin_SRCS metatype.cpp)
|
||||
|
||||
MY_AUTOMOC( metatype_bin_SRCS )
|
||||
|
||||
add_executable( metatypeunittest ${metatype_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(metatypeunittest)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(pgpunittest_bin_SRCS pgpunittest.cpp)
|
||||
|
||||
MY_AUTOMOC( pgpunittest_bin_SRCS )
|
||||
|
||||
add_executable(pgpunittest ${pgpunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(pgpunittest)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(pipeunittest_bin_SRCS pipeunittest.cpp)
|
||||
|
||||
MY_AUTOMOC( pipeunittest_bin_SRCS )
|
||||
|
||||
add_executable( pipeunittest ${pipeunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(pipeunittest)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(pkits_bin_SRCS pkits.cpp)
|
||||
|
||||
MY_AUTOMOC( pkits_bin_SRCS )
|
||||
|
||||
add_executable(pkits ${pkits_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(pkits)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(rsaunittest_bin_SRCS rsaunittest.cpp)
|
||||
|
||||
MY_AUTOMOC( rsaunittest_bin_SRCS )
|
||||
|
||||
add_executable(rsaunittest ${rsaunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(rsaunittest)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(securearrayunittest_bin_SRCS securearrayunittest.cpp)
|
||||
|
||||
MY_AUTOMOC( securearrayunittest_bin_SRCS )
|
||||
|
||||
add_executable( securearrayunittest ${securearrayunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(securearrayunittest)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(staticunittest_bin_SRCS staticunittest.cpp)
|
||||
|
||||
MY_AUTOMOC( staticunittest_bin_SRCS )
|
||||
|
||||
add_executable( staticunittest ${staticunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(staticunittest)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(symmetrickeyunittest_bin_SRCS symmetrickeyunittest.cpp)
|
||||
|
||||
MY_AUTOMOC( symmetrickeyunittest_bin_SRCS )
|
||||
|
||||
add_executable( symmetrickeyunittest ${symmetrickeyunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(symmetrickeyunittest)
|
||||
|
@ -2,8 +2,6 @@ ENABLE_TESTING()
|
||||
|
||||
set(tlsunittest_bin_SRCS tlsunittest.cpp)
|
||||
|
||||
MY_AUTOMOC( tlsunittest_bin_SRCS )
|
||||
|
||||
add_executable(tlsunittest ${tlsunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(tlsunittest)
|
||||
|
@ -1,13 +1,13 @@
|
||||
find_package(Qt5 REQUIRED Network)
|
||||
|
||||
ENABLE_TESTING()
|
||||
|
||||
set(veloxunittest_bin_SRCS veloxunittest.cpp)
|
||||
|
||||
MY_AUTOMOC( veloxunittest_bin_SRCS )
|
||||
|
||||
add_executable(veloxunittest ${veloxunittest_bin_SRCS} )
|
||||
|
||||
target_link_qca_test_libraries(veloxunittest)
|
||||
target_link_libraries(veloxunittest ${QT_QTNETWORK_LIBRARY})
|
||||
target_link_libraries(veloxunittest Qt5::Network)
|
||||
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/root.crt ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/root.crt COPYONLY)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user