diff options
Diffstat (limited to 'src/entrypoint')
-rw-r--r-- | src/entrypoint/CMakeLists.txt | 13 | ||||
-rw-r--r-- | src/entrypoint/qtentrypoint_win.cpp | 63 |
2 files changed, 20 insertions, 56 deletions
diff --git a/src/entrypoint/CMakeLists.txt b/src/entrypoint/CMakeLists.txt index 1dc957d82a..ba8342e41a 100644 --- a/src/entrypoint/CMakeLists.txt +++ b/src/entrypoint/CMakeLists.txt @@ -1,6 +1,7 @@ -# special case begin -# special case skip regeneration -if (NOT WIN32 AND NOT CMAKE_SYSTEM_NAME STREQUAL "iOS") +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +if (NOT (WIN32 OR UIKIT)) return() endif() @@ -106,9 +107,11 @@ if(WIN32) target_compile_definitions(EntryPointPrivate INTERFACE QT_NEEDS_QMAIN) qt_internal_extend_target(EntryPointImplementation DEFINES QT_NEEDS_QMAIN) endif() + + qt_internal_add_sync_header_dependencies(EntryPointImplementation Core) endif() -if(CMAKE_SYSTEM_NAME STREQUAL "iOS") +if(UIKIT) set_target_properties(EntryPointPrivate PROPERTIES INTERFACE_LINK_OPTIONS "-Wl,-e,_qt_main_wrapper" ) @@ -145,5 +148,3 @@ qt_internal_export_additional_targets_file( TARGETS ${export_targets} EXPORT_NAME_PREFIX ${export_name_prefix} CONFIG_INSTALL_DIR "${config_install_dir}") - -# special case end diff --git a/src/entrypoint/qtentrypoint_win.cpp b/src/entrypoint/qtentrypoint_win.cpp index 6409096b6c..f0cf46ba3d 100644 --- a/src/entrypoint/qtentrypoint_win.cpp +++ b/src/entrypoint/qtentrypoint_win.cpp @@ -1,52 +1,5 @@ -/**************************************************************************** -** -** Copyright (C) 2019 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Windows main function of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "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 The Qt Company Ltd 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 -** OWNER 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." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2019 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause #include <qt_windows.h> #include <shellapi.h> @@ -83,7 +36,7 @@ static inline char *wideToMulti(unsigned int codePage, const wchar_t *aw) return result; } -extern "C" int APIENTRY WinMain(HINSTANCE, HINSTANCE, LPSTR /*cmdParamarg*/, int /* cmdShow */) +static inline int qtEntryPoint() { int argc = 0; wchar_t **argvW = CommandLineToArgvW(GetCommandLineW(), &argc); @@ -100,3 +53,13 @@ extern "C" int APIENTRY WinMain(HINSTANCE, HINSTANCE, LPSTR /*cmdParamarg*/, int delete [] argv; return exitCode; } + +extern "C" int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) +{ + return qtEntryPoint(); +} + +extern "C" int WINAPI wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int) +{ + return qtEntryPoint(); +} |