Skip to content

Commit 189eb0d

Browse files
committed
初次提交
1 parent a200ce9 commit 189eb0d

File tree

320 files changed

+129345
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

320 files changed

+129345
-0
lines changed

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
CMakeLists.txt.user
2+
.DS_Store
3+
bin
4+
build

CMakeLists.txt

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
cmake_minimum_required(VERSION 3.20)
2+
3+
project(AlwaysEnglish VERSION 1.0)
4+
5+
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core)
6+
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Widgets)
7+
8+
add_subdirectory(FluentUI)
9+
add_subdirectory(src)

FluentUI/.cmake/QmlPlugin.cmake

+128
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
include(CMakeParseArguments)
2+
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core)
3+
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core)
4+
function(FindQmlPluginDump)
5+
get_target_property (QT_QMAKE_EXECUTABLE Qt5::qmake IMPORTED_LOCATION)
6+
execute_process(
7+
COMMAND ${QT_QMAKE_EXECUTABLE} -query QT_INSTALL_BINS
8+
OUTPUT_VARIABLE QT_BIN_DIR
9+
OUTPUT_STRIP_TRAILING_WHITESPACE
10+
)
11+
endfunction()
12+
function(FindQtInstallQml)
13+
execute_process(
14+
COMMAND ${QT_QMAKE_EXECUTABLE} -query QT_INSTALL_QML
15+
OUTPUT_VARIABLE PROC_RESULT
16+
OUTPUT_STRIP_TRAILING_WHITESPACE
17+
)
18+
set(QT_INSTALL_QML ${PROC_RESULT} PARENT_SCOPE)
19+
endfunction()
20+
function(add_qmlplugin TARGET)
21+
set(options NO_AUTORCC NO_AUTOMOC)
22+
set(oneValueArgs URI VERSION BINARY_DIR QMLDIR LIBTYPE)
23+
set(multiValueArgs SOURCES QMLFILES QMLFILESALIAS)
24+
cmake_parse_arguments(QMLPLUGIN "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
25+
if(NOT QMLPLUGIN_URI OR NOT QMLPLUGIN_VERSION OR NOT QMLPLUGIN_QMLDIR OR NOT QMLPLUGIN_LIBTYPE)
26+
message(WARNING "TARGET,URI,VERSION,qmldir and LIBTYPE must be set, no files generated")
27+
return()
28+
endif()
29+
if(NOT QMLPLUGIN_BINARY_DIR)
30+
set(QMLPLUGIN_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${QMLPLUGIN_URI})
31+
endif()
32+
add_library(${TARGET} ${QMLPLUGIN_LIBTYPE}
33+
${QMLPLUGIN_SOURCES}
34+
)
35+
set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/lib)
36+
if(QMLPLUGIN_NO_AUTORCC)
37+
set_target_properties(${TARGET} PROPERTIES AUTOMOC OFF)
38+
else()
39+
set_target_properties(${TARGET} PROPERTIES AUTOMOC ON)
40+
endif()
41+
if(QMLPLUGIN_NO_AUTOMOC)
42+
set_target_properties(${TARGET} PROPERTIES AUTOMOC OFF)
43+
else()
44+
set_target_properties(${TARGET} PROPERTIES AUTOMOC ON)
45+
endif()
46+
if (${QMLPLUGIN_LIBTYPE} MATCHES "SHARED")
47+
FindQmlPluginDump()
48+
FindQtInstallQml()
49+
if(QMLPLUGIN_BINARY_DIR)
50+
set(MAKE_QMLPLUGINDIR_COMMAND ${CMAKE_COMMAND} -E make_directory ${QMLPLUGIN_BINARY_DIR})
51+
endif()
52+
set(COPY_QMLDIR_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Qt5/${QMLPLUGIN_QMLDIR}/qmldir $<TARGET_FILE_DIR:${TARGET}>/${QMLPLUGIN_URI}/qmldir)
53+
set(INSTALL_QMLDIR_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Qt5/${QMLPLUGIN_QMLDIR}/qmldir ${QMLPLUGIN_BINARY_DIR}/qmldir)
54+
set(COPY_QMLTYPES_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Qt5/${QMLPLUGIN_QMLDIR}/plugins.qmltypes $<TARGET_FILE_DIR:${TARGET}>/${QMLPLUGIN_URI}/plugins.qmltypes)
55+
set(INSTALL_QMLTYPES_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Qt5/${QMLPLUGIN_QMLDIR}/plugins.qmltypes ${QMLPLUGIN_BINARY_DIR}/plugins.qmltypes)
56+
set(COPY_LIBRARY_COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE_DIR:${TARGET}>/$<TARGET_FILE_NAME:${TARGET}> $<TARGET_FILE_DIR:${TARGET}>/${QMLPLUGIN_URI})
57+
set(INSTALL_LIBRARY_COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE_DIR:${TARGET}>/$<TARGET_FILE_NAME:${TARGET}> ${QMLPLUGIN_BINARY_DIR})
58+
if(QMLPLUGIN_QMLDIR)
59+
set(COPY_QMLFILES_COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/Qt5/${QMLPLUGIN_QMLDIR} $<TARGET_FILE_DIR:${TARGET}>/${QMLPLUGIN_URI})
60+
else()
61+
set(COPY_QMLFILES_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${QMLPLUGIN_QMLFILES} $<TARGET_FILE_DIR:${TARGET}>/${QMLPLUGIN_URI})
62+
endif()
63+
set(INSTALL_QMLFILES_COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/Qt5/${QMLPLUGIN_QMLDIR} ${QMLPLUGIN_BINARY_DIR})
64+
if(QMLPLUGIN_BINARY_DIR)
65+
add_custom_command(
66+
TARGET ${TARGET}
67+
POST_BUILD
68+
COMMAND ${MAKE_QMLPLUGINDIR_COMMAND}
69+
COMMAND ${COPY_QMLDIR_COMMAND}
70+
COMMENT "Copying qmldir to binary directory"
71+
)
72+
else()
73+
add_custom_command(
74+
TARGET ${TARGET}
75+
POST_BUILD
76+
COMMAND ${COPY_QMLDIR_COMMAND}
77+
COMMENT "Copying qmldir to binary directory"
78+
)
79+
endif()
80+
if(QMLPLUGIN_BINARY_DIR)
81+
add_custom_command(
82+
TARGET ${TARGET}
83+
POST_BUILD
84+
COMMAND ${MAKE_QMLPLUGINDIR_COMMAND}
85+
COMMAND ${COPY_QMLTYPES_COMMAND}
86+
COMMENT "Copying qmltypes to binary directory"
87+
)
88+
else()
89+
add_custom_command(
90+
TARGET ${TARGET}
91+
POST_BUILD
92+
COMMAND ${COPY_QMLTYPES_COMMAND}
93+
COMMENT "Copying qmltypes to binary directory"
94+
)
95+
endif()
96+
add_custom_command(
97+
TARGET ${TARGET}
98+
POST_BUILD
99+
COMMAND ${COPY_LIBRARY_COMMAND}
100+
COMMENT "Copying Lib to binary plugin directory"
101+
)
102+
if(QMLPLUGIN_QMLFILES)
103+
add_custom_command(
104+
TARGET ${TARGET}
105+
POST_BUILD
106+
COMMAND ${COPY_QMLFILES_COMMAND}
107+
COMMENT "Copying QML files to binary directory"
108+
)
109+
endif()
110+
add_custom_command(
111+
TARGET ${TARGET}
112+
POST_BUILD
113+
COMMAND ${GENERATE_QMLTYPES_COMMAND}
114+
COMMENT "Generating plugin.qmltypes"
115+
)
116+
string(REPLACE "." "/" QMLPLUGIN_INSTALL_URI ${QMLPLUGIN_URI})
117+
add_custom_command(
118+
TARGET ${TARGET}
119+
POST_BUILD
120+
COMMAND ${INSTALL_QMLTYPES_COMMAND}
121+
COMMAND ${INSTALL_QMLDIR_COMMAND}
122+
COMMAND ${INSTALL_LIBRARY_COMMAND}
123+
COMMAND ${INSTALL_QMLFILES_COMMAND}
124+
COMMAND ${INSTALL_QMLTYPES_COMMAND}
125+
COMMENT "Install library and aditional files"
126+
)
127+
endif()
128+
endfunction()

FluentUI/.cmake/version_dll.rc.in

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#include <windows.h>
2+
3+
#define STR(x) #x
4+
#define VER_JOIN(a,b,c,d) STR(a.b.c.d)
5+
#define VER_JOIN_(x) VER_JOIN x
6+
#define VER_STR VER_JOIN_((FLUENTUI_VERSION))
7+
8+
VS_VERSION_INFO VERSIONINFO
9+
FILEVERSION FLUENTUI_VERSION
10+
PRODUCTVERSION FLUENTUI_VERSION
11+
FILEFLAGSMASK 0x3fL
12+
#ifdef _DEBUG
13+
FILEFLAGS 0x1L
14+
#else
15+
FILEFLAGS 0x0L
16+
#endif
17+
FILEOS 0x40004L
18+
FILETYPE 0x2L
19+
FILESUBTYPE 0x0L
20+
BEGIN
21+
BLOCK "StringFileInfo"
22+
BEGIN
23+
BLOCK "080404b0"
24+
BEGIN
25+
VALUE "CompanyName", "ZhuZiChu"
26+
VALUE "FileDescription", "https://github.com/zhuzichu520/FluentUI"
27+
VALUE "FileVersion", VER_STR
28+
VALUE "InternalName", "${PROJECT_NAME}.dll"
29+
VALUE "LegalCopyright", "Copyright (C) 2023 ZhuZiChu. All rights reserved."
30+
VALUE "OriginalFilename", "${PROJECT_NAME}.dll"
31+
VALUE "ProductName", "${PROJECT_NAME}"
32+
VALUE "ProductVersion", VER_STR
33+
END
34+
END
35+
BLOCK "VarFileInfo"
36+
BEGIN
37+
VALUE "Translation", 0x804, 1200
38+
END
39+
END

0 commit comments

Comments
 (0)