summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake')
-rw-r--r--cmake/QtBuild.cmake39
1 files changed, 37 insertions, 2 deletions
diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake
index 8deb9b8cbd..90306a44c8 100644
--- a/cmake/QtBuild.cmake
+++ b/cmake/QtBuild.cmake
@@ -1631,6 +1631,11 @@ function(qt_add_module target)
ARCHIVE_OUTPUT_DIRECTORY "${QT_BUILD_DIR}/${INSTALL_LIBDIR}"
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR}
+ QT_TARGET_VERSION "${PROJECT_VERSION}.0"
+ QT_TARGET_COMPANY_NAME "The Qt Company Ltd."
+ QT_TARGET_DESCRIPTION "C++ Application Development Framework"
+ QT_TARGET_COPYRIGHT "Copyright (C) 2020 The Qt Company Ltd."
+ QT_TARGET_PRODUCT_NAME "Qt6"
)
qt_handle_multi_config_output_dirs("${target}")
@@ -1643,6 +1648,10 @@ function(qt_add_module target)
OUTPUT_NAME "${INSTALL_CMAKE_NAMESPACE}${target}"
)
endif()
+
+ if (WIN32 AND BUILD_SHARED_LIBS)
+ qt6_generate_win32_rc_file(${target})
+ endif()
endif()
# Module headers:
@@ -2517,7 +2526,7 @@ set(__qt_add_executable_optional_args
"GUI;BOOTSTRAP;NO_QT;NO_INSTALL;EXCEPTIONS"
)
set(__qt_add_executable_single_args
- "OUTPUT_DIRECTORY;INSTALL_DIRECTORY"
+ "OUTPUT_DIRECTORY;INSTALL_DIRECTORY;VERSION"
)
set(__qt_add_executable_multi_args
"EXE_FLAGS;${__default_private_args};${__default_public_args}"
@@ -2559,6 +2568,27 @@ function(qt_add_executable name)
add_executable("${name}" ${arg_EXE_FLAGS})
endif()
+ if (arg_VERSION)
+
+ if(arg_VERSION MATCHES "[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+")
+ # nothing to do
+ elseif(arg_VERSION MATCHES "[0-9]+\\.[0-9]+\\.[0-9]+")
+ set(arg_VERSION "${arg_VERSION}.0")
+ elseif(arg_VERSION MATCHES "[0-9]+\\.[0-9]+")
+ set(arg_VERSION "${arg_VERSION}.0.0")
+ elseif (arg_VERSION MATCHES "[0-9]+")
+ set(arg_VERSION "${arg_VERSION}.0.0.0")
+ else()
+ message(FATAL_ERROR "Invalid version format")
+ endif()
+
+ set_target_properties(${name} PROPERTIES QT_TARGET_VERSION "${arg_VERSION}")
+ endif()
+
+ if (WIN32)
+ qt6_generate_win32_rc_file(${name})
+ endif()
+
qt_autogen_tools_initial_setup(${name})
qt_skip_warnings_are_errors_when_repo_unclean("${name}")
@@ -2679,7 +2709,7 @@ endfunction()
function(qt_add_test name)
qt_parse_all_arguments(arg "qt_add_test"
"RUN_SERIAL;EXCEPTIONS;GUI;QMLTEST"
- "OUTPUT_DIRECTORY;WORKING_DIRECTORY;TIMEOUT"
+ "OUTPUT_DIRECTORY;WORKING_DIRECTORY;TIMEOUT;VERSION"
"QML_IMPORTPATH;TESTDATA;${__default_private_args};${__default_public_args}" ${ARGN}
)
@@ -2695,6 +2725,10 @@ function(qt_add_test name)
set(gui_text "GUI")
endif()
+ if (arg_VERSION)
+ set(version_arg VERSION "${arg_VERSION}")
+ endif()
+
# Handle cases where we have a qml test without source files
if (arg_SOURCES)
set(private_includes
@@ -2707,6 +2741,7 @@ function(qt_add_test name)
qt_add_executable("${name}"
${exceptions_text}
${gui_text}
+ ${version_arg}
NO_INSTALL
OUTPUT_DIRECTORY "${arg_OUTPUT_DIRECTORY}"
SOURCES "${arg_SOURCES}"