mirror of https://github.com/AxioDL/metaforce.git
Fix Qt5::WindowsIntegrationPlugin being included on non-windows platforms
This commit is contained in:
parent
cb2d826cbd
commit
92fe1a9577
|
@ -4,153 +4,160 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
|
||||
if(APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64)
|
||||
set(QT_HOMEBREW_PATH /usr/local/opt/qt)
|
||||
elseif(APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL arm64)
|
||||
set(QT_HOMEBREW_PATH /opt/homebrew/opt/qt)
|
||||
else()
|
||||
set(QT_HOMEBREW_PATH "")
|
||||
endif()
|
||||
if (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64)
|
||||
set(QT_HOMEBREW_PATH /usr/local/opt/qt)
|
||||
elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL arm64)
|
||||
set(QT_HOMEBREW_PATH /opt/homebrew/opt/qt)
|
||||
else ()
|
||||
set(QT_HOMEBREW_PATH "")
|
||||
endif ()
|
||||
|
||||
find_package(Qt6Widgets QUIET PATHS ${QT_HOMEBREW_PATH})
|
||||
if(Qt6Widgets_FOUND)
|
||||
find_package(Qt6 COMPONENTS Core5Compat Network Widgets Xml Gui REQUIRED PATHS ${QT_HOMEBREW_PATH})
|
||||
set(QUAZIP_QT_MAJOR_VERSION 6 CACHE STRING "")
|
||||
else()
|
||||
find_package(Qt5Widgets REQUIRED PATHS ${QT_HOMEBREW_PATH})
|
||||
find_package(Qt5 COMPONENTS Network Widgets Xml Gui REQUIRED PATHS ${QT_HOMEBREW_PATH})
|
||||
set(QUAZIP_QT_MAJOR_VERSION 5 CACHE STRING "")
|
||||
endif()
|
||||
if (Qt6Widgets_FOUND)
|
||||
find_package(Qt6 COMPONENTS Core5Compat Network Widgets Xml Gui REQUIRED PATHS ${QT_HOMEBREW_PATH})
|
||||
set(QUAZIP_QT_MAJOR_VERSION 6 CACHE STRING "")
|
||||
else ()
|
||||
find_package(Qt5Widgets REQUIRED PATHS ${QT_HOMEBREW_PATH})
|
||||
find_package(Qt5 COMPONENTS Network Widgets Xml Gui REQUIRED PATHS ${QT_HOMEBREW_PATH})
|
||||
set(QUAZIP_QT_MAJOR_VERSION 5 CACHE STRING "")
|
||||
endif ()
|
||||
|
||||
set(BUILD_SHARED_LIBS OFF CACHE BOOL "")
|
||||
set(QUAZIP_INSTALL OFF CACHE BOOL "")
|
||||
add_subdirectory(quazip)
|
||||
|
||||
add_executable(hecl-gui WIN32 MACOSX_BUNDLE
|
||||
ArgumentEditor.cpp
|
||||
ArgumentEditor.hpp
|
||||
ArgumentEditor.ui
|
||||
Common.cpp
|
||||
Common.hpp
|
||||
CVarDialog.cpp
|
||||
CVarDialog.hpp
|
||||
CVarDialog.ui
|
||||
DownloadManager.cpp
|
||||
DownloadManager.hpp
|
||||
ErrorLabel.hpp
|
||||
EscapeSequenceParser.cpp
|
||||
EscapeSequenceParser.hpp
|
||||
ExtractZip.cpp
|
||||
ExtractZip.hpp
|
||||
FileDirDialog.hpp
|
||||
FindBlender.cpp
|
||||
FindBlender.hpp
|
||||
MainWindow.cpp
|
||||
MainWindow.hpp
|
||||
MainWindow.ui
|
||||
SysReqTableView.cpp
|
||||
SysReqTableView.hpp
|
||||
VectorISATableModel.hpp
|
||||
VectorISATableModelIntel.hpp
|
||||
VectorISATableView.cpp
|
||||
VectorISATableView.hpp
|
||||
ArgumentEditor.cpp
|
||||
ArgumentEditor.hpp
|
||||
ArgumentEditor.ui
|
||||
Common.cpp
|
||||
Common.hpp
|
||||
CVarDialog.cpp
|
||||
CVarDialog.hpp
|
||||
CVarDialog.ui
|
||||
DownloadManager.cpp
|
||||
DownloadManager.hpp
|
||||
ErrorLabel.hpp
|
||||
EscapeSequenceParser.cpp
|
||||
EscapeSequenceParser.hpp
|
||||
ExtractZip.cpp
|
||||
ExtractZip.hpp
|
||||
FileDirDialog.hpp
|
||||
FindBlender.cpp
|
||||
FindBlender.hpp
|
||||
MainWindow.cpp
|
||||
MainWindow.hpp
|
||||
MainWindow.ui
|
||||
SysReqTableView.cpp
|
||||
SysReqTableView.hpp
|
||||
VectorISATableModel.hpp
|
||||
VectorISATableModelIntel.hpp
|
||||
VectorISATableView.cpp
|
||||
VectorISATableView.hpp
|
||||
|
||||
main.cpp
|
||||
main.cpp
|
||||
|
||||
${QUAZIP_SRCS}
|
||||
)
|
||||
${QUAZIP_SRCS}
|
||||
)
|
||||
|
||||
target_compile_definitions(hecl-gui PRIVATE
|
||||
# Disable implicit conversions from ASCII to QString.
|
||||
-DQT_NO_CAST_FROM_ASCII
|
||||
-DQT_NO_CAST_TO_ASCII
|
||||
# Disable implicit conversions from ASCII to QString.
|
||||
-DQT_NO_CAST_FROM_ASCII
|
||||
-DQT_NO_CAST_TO_ASCII
|
||||
|
||||
# Disable implicit conversions of QByteArray to const char* or const void*
|
||||
-DQT_NO_CAST_FROM_BYTEARRAY
|
||||
# Disable implicit conversions of QByteArray to const char* or const void*
|
||||
-DQT_NO_CAST_FROM_BYTEARRAY
|
||||
|
||||
# Disable narrowing conversions in signal/slot connect() calls.
|
||||
-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT
|
||||
# Disable narrowing conversions in signal/slot connect() calls.
|
||||
-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT
|
||||
|
||||
# Disable unsafe overloads of QProcess' start() function.
|
||||
-DQT_NO_PROCESS_COMBINED_ARGUMENT_START
|
||||
# Disable unsafe overloads of QProcess' start() function.
|
||||
-DQT_NO_PROCESS_COMBINED_ARGUMENT_START
|
||||
|
||||
# Disable implicit QString->QUrl conversions to enforce use of proper resolving functions.
|
||||
-DQT_NO_URL_CAST_FROM_STRING
|
||||
# Disable implicit QString->QUrl conversions to enforce use of proper resolving functions.
|
||||
-DQT_NO_URL_CAST_FROM_STRING
|
||||
|
||||
# Allows for more efficient string concatenation, resulting in less temporaries.
|
||||
-DQT_USE_QSTRINGBUILDER
|
||||
)
|
||||
# Allows for more efficient string concatenation, resulting in less temporaries.
|
||||
-DQT_USE_QSTRINGBUILDER
|
||||
)
|
||||
|
||||
if(Qt6Widgets_FOUND)
|
||||
set(Qt_LIBS
|
||||
Qt6::Core
|
||||
Qt6::Core5Compat
|
||||
Qt6::Gui
|
||||
Qt6::Network
|
||||
Qt6::Widgets
|
||||
Qt6::Xml)
|
||||
else()
|
||||
set(Qt_LIBS
|
||||
Qt5::Core
|
||||
Qt5::Gui
|
||||
Qt5::Network
|
||||
Qt5::Widgets
|
||||
Qt5::Xml
|
||||
Qt5::WindowsIntegrationPlugin)
|
||||
endif()
|
||||
if (Qt6Widgets_FOUND)
|
||||
set(Qt_LIBS
|
||||
Qt6::Core
|
||||
Qt6::Core5Compat
|
||||
Qt6::Gui
|
||||
Qt6::Network
|
||||
Qt6::Widgets
|
||||
Qt6::Xml)
|
||||
set(QT5_WINDOWS_INTEGRATION_PLUGIN "")
|
||||
else ()
|
||||
set(Qt_LIBS
|
||||
Qt5::Core
|
||||
Qt5::Gui
|
||||
Qt5::Network
|
||||
Qt5::Widgets
|
||||
Qt5::Xml)
|
||||
|
||||
if (WIN32)
|
||||
set(QT5_WINDOWS_INTEGRATION_PLUGIN
|
||||
Qt5::WindowsIntegrationPlugin)
|
||||
else ()
|
||||
set(QT5_WINDOWS_INTEGRATION_PLUGIN "")
|
||||
endif ()
|
||||
endif ()
|
||||
target_link_libraries(hecl-gui PRIVATE
|
||||
${Qt_LIBS}
|
||||
hecl-light
|
||||
zeus
|
||||
QuaZip::QuaZip
|
||||
)
|
||||
${Qt_LIBS}
|
||||
hecl-light
|
||||
zeus
|
||||
QuaZip::QuaZip
|
||||
${QT5_WINDOWS_INTEGRATION_PLUGIN})
|
||||
|
||||
target_include_directories(hecl-gui PRIVATE quazip/quazip)
|
||||
target_compile_definitions(hecl-gui PRIVATE QUAZIP_STATIC=1)
|
||||
|
||||
if(APPLE)
|
||||
target_sources(hecl-gui PRIVATE
|
||||
MacOSSystemVersion.hpp
|
||||
MacOSSystemVersion.mm
|
||||
)
|
||||
set_source_files_properties(MacOSSystemVersion.mm
|
||||
PROPERTIES COMPILE_FLAGS -fobjc-arc
|
||||
)
|
||||
find_library(FOUNDATION_LIBRARY Foundation)
|
||||
target_link_libraries(hecl-gui PRIVATE ${FOUNDATION_LIBRARY})
|
||||
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
|
||||
target_link_libraries(hecl-gui PRIVATE
|
||||
dl
|
||||
pthread
|
||||
)
|
||||
endif()
|
||||
if (APPLE)
|
||||
target_sources(hecl-gui PRIVATE
|
||||
MacOSSystemVersion.hpp
|
||||
MacOSSystemVersion.mm
|
||||
)
|
||||
set_source_files_properties(MacOSSystemVersion.mm
|
||||
PROPERTIES COMPILE_FLAGS -fobjc-arc
|
||||
)
|
||||
find_library(FOUNDATION_LIBRARY Foundation)
|
||||
target_link_libraries(hecl-gui PRIVATE ${FOUNDATION_LIBRARY})
|
||||
elseif ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
|
||||
target_link_libraries(hecl-gui PRIVATE
|
||||
dl
|
||||
pthread
|
||||
)
|
||||
endif ()
|
||||
|
||||
if(WIN32)
|
||||
target_sources(hecl-gui PRIVATE
|
||||
platforms/win/hecl-gui.manifest
|
||||
platforms/win/hecl-gui.rc
|
||||
)
|
||||
target_link_libraries(hecl-gui PRIVATE
|
||||
Version)
|
||||
elseif(APPLE)
|
||||
target_sources(hecl-gui PRIVATE platforms/mac/mainicon.icns)
|
||||
set_source_files_properties(platforms/mac/mainicon.icns PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION Resources
|
||||
)
|
||||
endif()
|
||||
if (WIN32)
|
||||
target_sources(hecl-gui PRIVATE
|
||||
platforms/win/hecl-gui.manifest
|
||||
platforms/win/hecl-gui.rc
|
||||
)
|
||||
target_link_libraries(hecl-gui PRIVATE
|
||||
Version)
|
||||
elseif (APPLE)
|
||||
target_sources(hecl-gui PRIVATE platforms/mac/mainicon.icns)
|
||||
set_source_files_properties(platforms/mac/mainicon.icns PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION Resources
|
||||
)
|
||||
endif ()
|
||||
|
||||
add_subdirectory(platforms/freedesktop)
|
||||
declare_qticon_target()
|
||||
target_sources(hecl-gui PRIVATE mainicon_qt.cpp)
|
||||
|
||||
if(COMMAND add_sanitizers)
|
||||
add_sanitizers(hecl-gui)
|
||||
endif()
|
||||
if (COMMAND add_sanitizers)
|
||||
add_sanitizers(hecl-gui)
|
||||
endif ()
|
||||
|
||||
if (NOT MSVC)
|
||||
target_compile_options(hecl-gui PRIVATE -Wno-misleading-indentation)
|
||||
endif()
|
||||
target_compile_options(hecl-gui PRIVATE -Wno-misleading-indentation)
|
||||
endif ()
|
||||
|
||||
set_target_properties(hecl-gui PROPERTIES
|
||||
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/platforms/mac/Info.plist"
|
||||
)
|
||||
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/platforms/mac/Info.plist"
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue