Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ jobs:
INNOSETUP_REF: is-6_5_4
DSSP_CHANNEL: nightly
DSSP_VERSION: 0.1.0-nightly.20261019.1
MACOSX_DEPLOYMENT_TARGET: 13.0
MACOSX_DEPLOYMENT_TARGET: '13.0'
BUILD_DIR: ${{ github.workspace }}/build/build
INSTALL_DIR: ${{ github.workspace }}/build/install
CCACHE_DIR: ${{ github.workspace }}/build/ccache
Expand Down
11 changes: 10 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@
cmake_minimum_required(VERSION 3.19)
cmake_policy(SET CMP0141 NEW)

# The oldest macOS that Qt 6.11 supports, unless the MACOSX_DEPLOYMENT_TARGET environment variable
# or the cache specifies another. Info.plist records it as LSMinimumSystemVersion. The variable
# must be set before project().
if(CMAKE_HOST_APPLE AND NOT DEFINED CMAKE_OSX_DEPLOYMENT_TARGET AND
NOT DEFINED ENV{MACOSX_DEPLOYMENT_TARGET})
set(CMAKE_OSX_DEPLOYMENT_TARGET 13.0 CACHE STRING "Minimum macOS version")
endif()

project(DiffScope VERSION 0.2.0 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 20)
Expand All @@ -15,7 +23,6 @@ set(CMAKE_CXX_STANDARD_REQUIRED True)
option(APPLICATION_BUILD_TESTS "Build test cases" OFF)
option(APPLICATION_INSTALL "Install this project" ON)
option(APPLICATION_ENABLE_DEVEL "Install developer files" OFF)
option(APPLICATION_INSTALL_MSVC_RUNTIME "Install MSVC runtime" OFF)
option(APPLICATION_CONFIGURE_INSTALLER "Configure installer" OFF)

# ----------------------------------
Expand All @@ -37,6 +44,8 @@ if(APPLICATION_INSTALL)
include(CMakePackageConfigHelpers)
if(MSVC)
set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION "")
# sleefdft from vcpkg, a dependency of Rubber Band, requires the OpenMP runtime vcomp140.dll
set(CMAKE_INSTALL_OPENMP_LIBRARIES ON)
include(InstallRequiredSystemLibraries)
endif()
endif()
Expand Down
3 changes: 3 additions & 0 deletions src/app/info.plist.in
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@
<key>CSResourcesFileMapped</key>
<true/>

<key>LSMinimumSystemVersion</key>
<string>@CMAKE_OSX_DEPLOYMENT_TARGET@</string>

<key>NSHumanReadableCopyright</key>
<string>@RC_COPYRIGHT@</string>

Expand Down
2 changes: 1 addition & 1 deletion src/libs/3rdparty/dspxmodel
Submodule dspxmodel updated 1 files
+6 −1 lib/CMakeLists.txt
2 changes: 1 addition & 1 deletion src/libs/3rdparty/scopicflow
Submodule scopicflow updated 0 files
67 changes: 29 additions & 38 deletions src/share/install.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,37 +8,30 @@ install(DIRECTORY ${CK_BUILD_MAIN_DIR}/share/

qm_find_qt(Core)

set(_plugins
generic/qtuiotouchplugin
iconengines/qsvgicon
imageformats/q*
networkinformation/qnetworklistmanager
tls/q*
# QT_PLUGINS deploys the plugins of every Qt module in the deployment. The OpenSSL backend requires
# OpenSSL, which the deployment does not include. The QML debugging plugins serve development only.
# Qt SQL is in the deployment only as a dependency of Qt Quick Local Storage, which DiffScope does
# not use, therefore the SQL drivers are excluded with the module.
set(_qt_plugins_exclude
generic/qinsighttracker
tls/qopensslbackend
qmltooling/qmldbg_debugger
qmltooling/qmldbg_inspector
qmltooling/qmldbg_local
qmltooling/qmldbg_messages
qmltooling/qmldbg_native
qmltooling/qmldbg_nativedebugger
qmltooling/qmldbg_preview
qmltooling/qmldbg_profiler
qmltooling/qmldbg_quickeventreplay
qmltooling/qmldbg_quickprofiler
qmltooling/qmldbg_server
qmltooling/qmldbg_tcp
)

if(WIN32)
# Windows
list(APPEND _plugins
platforms/qwindows
styles/qmodernwindowsstyle
)
elseif(APPLE)
# Mac
list(APPEND _plugins
platforms/qcocoa
styles/qmacstyle
platforminputcontexts/q*
printsupport/q*
virtualkeyboard/q*
)
else()
# Linux
list(APPEND _plugins
platforms/qxcb
platforminputcontexts/*
xcbglintegrations/*
)
endif()
set(_qt_plugins_exclude_modules
Sql
)

if(WIN32)
set(_lib_dir ${CK_INSTALL_RUNTIME_DIR})
Expand All @@ -61,8 +54,10 @@ if(UNIX AND NOT APPLE)
list(APPEND _exclude "^/(usr/)?lib(64)?/")
endif()

# Qt Labs Folder List Model is imported by the non-native file and folder dialogs of Qt Quick
# Dialogs. DiffScope imports no other Qt Labs module.
set(_qml
Qt/labs
Qt/labs/folderlistmodel
Qt5Compat
QtCore
QtQml
Expand All @@ -85,8 +80,10 @@ if(_vcpkg_lib_dir)
")
endif()

qm_deploy_directory(${CMAKE_INSTALL_PREFIX}
PLUGINS ${_plugins}
qm_deploy_directory(.
QT_PLUGINS
QT_PLUGINS_EXCLUDE ${_qt_plugins_exclude}
QT_PLUGINS_EXCLUDE_MODULES ${_qt_plugins_exclude_modules}
LIBRARY_DIR ${_lib_dir}
PLUGIN_DIR ${CK_INSTALL_LIBRARY_DIR}/Qt/plugins
EXTRA_SEARCHING_PATHS ${_extra_search_path}
Expand All @@ -100,12 +97,6 @@ if(_vcpkg_lib_dir)
install(CODE "set(ENV{LD_LIBRARY_PATH} \"\${_old_ld_library_path}\")")
endif()

# Install vcruntime
if(MSVC AND APPLICATION_INSTALL_MSVC_RUNTIME)
set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION "${OUTPUT_DIR}")
include(InstallRequiredSystemLibraries)
endif()

if(APPLE)
install(DIRECTORY ${CMAKE_INSTALL_PREFIX}/qml/
DESTINATION ${CK_INSTALL_QML_DIR}
Expand Down
Loading