Initial commit of BudgetPro

This commit is contained in:
Javi
2026-05-24 23:21:33 +02:00
commit f3096faee6
575 changed files with 90288 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
# lib/qmake/this-file
# include/SARibbonBar/
include($$PWD/common.pri)
INCLUDEPATH += $${SARIBBON_INCLUDE_DIR}
DEPENDPATH += $${SARIBBON_INCLUDE_DIR}
greaterThan(QT_MAJOR_VERSION, 4){
# 目前 frameless支持qt5.14,qt5.15,qt6.4+,除了上诉版本,都使用不了
greaterThan(QT_MINOR_VERSION, 13){
SA_RIBBON_CONFIG += use_frameless
}
}else{
# Qt6,qt6.4+可使用frameless
greaterThan(QT_MAJOR_VERSION, 5){
greaterThan(QT_MINOR_VERSION, 3){
SA_RIBBON_CONFIG += use_frameless
}
}
}
contains( SA_RIBBON_CONFIG, use_frameless ) {
!contains(CONFIG,C++17){
CONFIG += c++17
}
# 定义FRAMELESSHELPER_FEATURE_static_build为-1让frameless也作为库的一部分
DEFINES += FRAMELESSHELPER_FEATURE_static_build=-1
# 定义SARIBBON_USE_3RDPARTY_FRAMELESSHELPER为1
DEFINES += SARIBBON_USE_3RDPARTY_FRAMELESSHELPER=1
}else{
DEFINES += SARIBBON_USE_3RDPARTY_FRAMELESSHELPER=0
}
LIBS += -L$${SARIBBON_LIB_DIR} -l$${SARIBBON_LIB_NAME}
+16
View File
@@ -0,0 +1,16 @@
macro(saribbon_set_bin_name _var)
set(DA_MIN_QT_VERSION 5.14)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
########################################################
# 平台判断
########################################################
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
set(_platform_name "x86")
else()
set(_platform_name "x64")
endif()
########################################################
# 安装路径设置
########################################################
set(_var bin_qt${QT_VERSION}_${CMAKE_BUILD_TYPE}_${_platform_name})
endmacro(damacro_set_bin_name)
+119
View File
@@ -0,0 +1,119 @@
macro(create_win32_resource_version)
if(MSVC) # TODO: MinGW (http://www.mingw.org/wiki/MS_resource_compiler)
set(_target)
set(_filename)
set(_version ${PROJECT_VERSION})
set(_ext "ico")
set(_companyname "https://github.com/czyt1988/SARibbon")
set(_copyright "Copyright (C) 2020 by czyt1988")
set(_description "Ribbon Control for Qt")
set(cmd "_target")
foreach(arg ${ARGN})
if(arg STREQUAL "TARGET")
set(cmd "_target")
elseif(arg STREQUAL "FILENAME")
set(cmd "_filename")
elseif(arg STREQUAL "VERSION")
set(cmd "_version")
elseif(arg STREQUAL "EXT")
set(cmd "_ext")
elseif(arg STREQUAL "COMPANYNAME")
set(cmd "_companyname")
elseif(arg STREQUAL "COPYRIGHT")
set(cmd "_copyright")
elseif(arg STREQUAL "DESCRIPTION")
set(cmd "_description")
else()
if("${cmd}" STREQUAL "_target")
set(_target ${arg})
elseif("${cmd}" STREQUAL "_filename")
set(_filename ${arg})
elseif("${cmd}" STREQUAL "_version")
set(_version ${arg})
elseif("${cmd}" STREQUAL "_ext")
set(_ext ${arg})
elseif("${cmd}" STREQUAL "_companyname")
set(_companyname ${arg})
elseif("${cmd}" STREQUAL "_copyright")
set(_copyright ${arg})
elseif("${cmd}" STREQUAL "_description")
set(_description ${arg})
else()
endif()
endif()
endforeach()
string(REGEX MATCHALL "[.]" matches "${_version}")
list(LENGTH matches n_matches)
while(n_matches LESS 3)
string(APPEND _version ".0")
string(REGEX MATCHALL "[.]" matches "${_version}")
list(LENGTH matches n_matches)
endwhile()
string(REPLACE "." "," PC ${_version})
set(RC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${_target}.rc)
file(WRITE ${RC_FILE} "#include <winres.h>\n\n")
file(APPEND ${RC_FILE} "#define TARGET_NAME \"${_target}\"\n")
file(APPEND ${RC_FILE} "#define FILE_VERSION_C ${PC}\n")
file(APPEND ${RC_FILE} "#define FILE_VERSION_S \"${_version}\"\n")
if("${_ext}" STREQUAL "exe")
set(_filetype "0x1L")
file(APPEND ${RC_FILE} "#define FILE_NAME \"${_filename}.exe\"\n")
else()
set(_filetype "0x2L")
file(APPEND ${RC_FILE} "#ifdef _DEBUG\n")
file(APPEND ${RC_FILE} "#define FILE_NAME \"${_filename}${CMAKE_DEBUG_POSTFIX}.dll\"\n")
file(APPEND ${RC_FILE} "#else\n")
file(APPEND ${RC_FILE} "#define FILE_NAME \"${_filename}.dll\"\n")
file(APPEND ${RC_FILE} "#endif\n")
endif()
file(APPEND ${RC_FILE} "\nVS_VERSION_INFO VERSIONINFO\n")
file(APPEND ${RC_FILE} " FILEVERSION FILE_VERSION_C\n")
file(APPEND ${RC_FILE} " PRODUCTVERSION FILE_VERSION_C\n")
file(APPEND ${RC_FILE} " FILEFLAGSMASK 0x3fL\n")
file(APPEND ${RC_FILE} "#ifdef _DEBUG\n")
file(APPEND ${RC_FILE} " FILEFLAGS 0x1L\n")
file(APPEND ${RC_FILE} "#else\n")
file(APPEND ${RC_FILE} " FILEFLAGS 0x0L\n")
file(APPEND ${RC_FILE} "#endif\n")
file(APPEND ${RC_FILE} " FILEOS 0x40004L\n")
file(APPEND ${RC_FILE} " FILETYPE ${_filetype}\n")
file(APPEND ${RC_FILE} " FILESUBTYPE 0x0L\n")
file(APPEND ${RC_FILE} "BEGIN\n")
file(APPEND ${RC_FILE} " BLOCK \"StringFileInfo\"\n")
file(APPEND ${RC_FILE} " BEGIN\n")
file(APPEND ${RC_FILE} " BLOCK \"040704b0\"\n")
file(APPEND ${RC_FILE} " BEGIN\n")
file(APPEND ${RC_FILE} " VALUE \"CompanyName\", \"${_companyname}\"\n")
file(APPEND ${RC_FILE} " VALUE \"FileDescription\", \"${_description}\"\n")
file(APPEND ${RC_FILE} " VALUE \"FileVersion\", FILE_VERSION_S\n")
file(APPEND ${RC_FILE} " VALUE \"InternalName\", FILE_NAME\n")
file(APPEND ${RC_FILE} " VALUE \"LegalCopyright\", \"${_copyright}\"\n")
file(APPEND ${RC_FILE} " VALUE \"OriginalFilename\", FILE_NAME\n")
file(APPEND ${RC_FILE} " VALUE \"ProductName\", TARGET_NAME\n")
file(APPEND ${RC_FILE} " VALUE \"ProductVersion\", FILE_VERSION_S\n")
file(APPEND ${RC_FILE} " END\n")
file(APPEND ${RC_FILE} " END\n")
file(APPEND ${RC_FILE} " BLOCK \"VarFileInfo\"\n")
file(APPEND ${RC_FILE} " BEGIN\n")
file(APPEND ${RC_FILE} " VALUE \"Translation\", 0x407, 1200\n")
file(APPEND ${RC_FILE} " END\n")
file(APPEND ${RC_FILE} "END\n")
target_sources(${_target} PRIVATE ${RC_FILE})
endif()
endmacro(create_win32_resource_version)
macro(visual_studio_qt_helper)
if(MSVC AND TARGET Qt::qmake)
get_target_property(_qt_qmake_location Qt::qmake IMPORTED_LOCATION)
execute_process(COMMAND "${_qt_qmake_location}" -query QT_INSTALL_PREFIX RESULT_VARIABLE return_code OUTPUT_VARIABLE qt_install_prefix OUTPUT_STRIP_TRAILING_WHITESPACE)
set(VSUSER_FILE ${CMAKE_CURRENT_BINARY_DIR}/${ARGV0}.vcxproj.user)
file(WRITE ${VSUSER_FILE} "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n")
file(APPEND ${VSUSER_FILE} "<Project xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n")
file(APPEND ${VSUSER_FILE} " <PropertyGroup>\n")
file(APPEND ${VSUSER_FILE} " <LocalDebuggerEnvironment>PATH=$(SolutionDir)src\\SARibbonBar\\$(Configuration);${qt_install_prefix}\\bin;$(Path)\n")
file(APPEND ${VSUSER_FILE} "$(LocalDebuggerEnvironment)</LocalDebuggerEnvironment>\n")
file(APPEND ${VSUSER_FILE} " <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>\n")
file(APPEND ${VSUSER_FILE} " </PropertyGroup>\n")
file(APPEND ${VSUSER_FILE} "</Project>\n")
endif()
endmacro(visual_studio_qt_helper)
+22
View File
@@ -0,0 +1,22 @@
# this file for cmake install
msvc {
QMAKE_CFLAGS += /utf-8
QMAKE_CXXFLAGS += /utf-8
}
#生成一个区别debug和release模式的lib名,输入一个lib名字
defineReplace(saRibbonLibNameMake) {
LibName = $$1
CONFIG(debug, debug|release){
LibName = $${LibName}d
}else{
LibName = $${LibName}
}
return ($${LibName})
}
SARIBBON_LIB_DIR = $$PWD/../../
SARIBBON_BIN_DIR = $$PWD/../../../bin
SARIBBON_INCLUDE_DIR = $$PWD/../../../include/SARibbonBar
SARIBBONBAR_PRI_FILE_PATH = $$PWD/SARibbonBar.pri # 源代码路径
SARIBBON_LIB_NAME=$$saRibbonLibNameMake(SARibbonBar)