diff --git a/.github/workflows/azure-static-web-apps-black-bush-0fe22b11e.yml b/.github/workflows/azure-static-web-apps-black-bush-0fe22b11e.yml new file mode 100644 index 0000000000..4a266c12fe --- /dev/null +++ b/.github/workflows/azure-static-web-apps-black-bush-0fe22b11e.yml @@ -0,0 +1,59 @@ +name: Azure Static Web Apps CI/CD + +on: + push: + branches: + - master + pull_request: + types: [opened, synchronize, reopened, closed] + branches: + - master + +jobs: + build_and_deploy_job: + if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') + runs-on: ubuntu-latest + name: Build and Deploy Job + permissions: + id-token: write + contents: read + steps: + - uses: actions/checkout@v3 + with: + submodules: true + lfs: false + - name: Install OIDC Client from Core Package + run: npm install @actions/core@1.6.0 @actions/http-client + - name: Get Id Token + uses: actions/github-script@v6 + id: idtoken + with: + script: | + const coredemo = require('@actions/core') + return await coredemo.getIDToken() + result-encoding: string + - name: Build And Deploy + id: builddeploy + uses: Azure/static-web-apps-deploy@v1 + with: + azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_BLACK_BUSH_0FE22B11E }} + action: "upload" + ###### Repository/Build Configurations - These values can be configured to match your app requirements. ###### + # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig + app_location: "/" # App source code path + api_location: "" # Api source code path - optional + app_build_command: "echo hello" + output_location: "." # Built app content directory - optional + github_id_token: ${{ steps.idtoken.outputs.result }} + ###### End of Repository/Build Configurations ###### + + close_pull_request_job: + if: github.event_name == 'pull_request' && github.event.action == 'closed' + runs-on: ubuntu-latest + name: Close Pull Request Job + steps: + - name: Close Pull Request + id: closepullrequest + uses: Azure/static-web-apps-deploy@v1 + with: + action: "close" diff --git a/2016/01/30/welcome/index.html b/2016/01/30/welcome/index.html index bc4e53a907..adff521655 100644 --- a/2016/01/30/welcome/index.html +++ b/2016/01/30/welcome/index.html @@ -11,12 +11,12 @@ - + - + @@ -25,47 +25,40 @@ - + - - - - - - - + + + + + + + + + + + + + + - - - - + @@ -79,7 +72,7 @@
static_pool
moduletb_memmem
interfacetb_init
api and support allocator argumentsassert
and will abort for debug modestatic_pool
moduletb_memmem
interfacetb_init
api and support allocator argumentsassert
and will abort for debug modetbox: 10000000 switches in 205 ms, 48780487 switches per second
boost: 10000000 switches in 728 ms, 13736263 switches per second
@@ -463,7 +533,7 @@ ArchLinux (i386) + VirtualBox
tbox: 10000000 switches in 187 ms, 53475935 switches per second
boost: 10000000 switches in 199 ms, 50251256 switches per second
@@ -485,7 +555,7 @@ Run
tbox: 10000000 switches in 438 ms, 22831050 switches per second
boost: 10000000 switches in 1949 ms, 5130836 switches per second
@@ -509,7 +579,7 @@ ArchLinux (i386) + VirtualBox
tbox: 10000000 switches in 400 ms, 25000000 switches per second
boost: 10000000 switches in 894 ms, 11185682 switches per second
@@ -531,7 +601,7 @@ Run
tbox: 10000000 passes in 916 ms, 10917030 passes per second
libmill: 10000000 passes in 3460 ms, 2890173 passes per second
@@ -551,7 +621,7 @@ ArchLinux (i386) + VirtualBox
tbox: 10000000 passes in 1702 ms, 5875440 passes per second
libmill: 10000000 passes in 2298 ms, 4351610 passes per second
@@ -570,7 +640,7 @@ Run
tbox: 10000000 passes in 404 ms, 24752475 passes per second
libmill: 10000000 passes in 4401 ms, 2272210 passes per second
@@ -590,7 +660,7 @@ ArchLinux (i386) + VirtualBox
tbox: 10000000 passes in 293 ms, 34129692 passes per second
libmill: 10000000 passes in 1135 ms, 8810572 passes per second
@@ -604,21 +674,17 @@ LinuxMint (x86_64) + VirtaulBox
+
+
+
+
-
-
-
-
-
-
@@ -633,6 +699,8 @@ LinuxMint (x86_64) + VirtaulBox
+
+
@@ -673,9 +741,6 @@ LinuxMint (x86_64) + VirtaulBox
-
-
-
@@ -690,6 +755,8 @@ LinuxMint (x86_64) + VirtaulBox
+
+
@@ -702,6 +769,8 @@ LinuxMint (x86_64) + VirtaulBox
+
+
@@ -733,6 +802,8 @@ LinuxMint (x86_64) + VirtaulBox
+
+
@@ -745,6 +816,8 @@ LinuxMint (x86_64) + VirtaulBox
+
+
@@ -778,6 +851,8 @@ LinuxMint (x86_64) + VirtaulBox
+
+
@@ -797,6 +872,8 @@ LinuxMint (x86_64) + VirtaulBox
+
+
@@ -814,6 +891,8 @@ LinuxMint (x86_64) + VirtaulBox
+
+
@@ -826,10 +905,10 @@ LinuxMint (x86_64) + VirtaulBox
+
-
-
+
@@ -843,11 +922,15 @@ LinuxMint (x86_64) + VirtaulBox
+
+
+
+
@@ -855,10 +938,10 @@ LinuxMint (x86_64) + VirtaulBox
+
-
-
+
@@ -883,18 +966,8 @@ LinuxMint (x86_64) + VirtaulBox
-
- 中文
-
-
- 中文
+
+
@@ -939,13 +1014,13 @@ 中文
-
-
+
+
@@ -963,9 +1038,6 @@ 中文
-
-
-
@@ -973,6 +1045,8 @@ 中文
+
+
@@ -983,6 +1057,8 @@ 中文
+
+
@@ -1013,71 +1089,99 @@ 中文
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1097,6 +1201,8 @@ 中文
+
+
@@ -1107,6 +1213,8 @@ 中文
+
+
@@ -1128,6 +1236,9 @@ 中文
+
+
+
@@ -1152,8 +1263,6 @@ 中文
-
-
@@ -1185,6 +1294,8 @@ 中文
+
+
@@ -1197,11 +1308,16 @@ 中文
+
+
+
+
+
@@ -1216,14 +1332,16 @@ 中文
-
-
+
+
+
+
@@ -1243,9 +1361,6 @@ 中文
-
-
-
@@ -1253,6 +1368,8 @@ 中文
+
+
@@ -1263,6 +1380,8 @@ 中文
+
+
@@ -1273,6 +1392,8 @@ 中文
+
+
@@ -1292,6 +1413,8 @@ 中文
+
+
@@ -1302,11 +1425,15 @@ 中文
+
+
+
+
@@ -1322,6 +1449,8 @@ 中文
+
+
@@ -1332,6 +1461,8 @@ 中文
+
+
@@ -1342,6 +1473,8 @@ 中文
+
+
@@ -1380,8 +1513,6 @@ 中文
-
-
@@ -1389,35 +1520,570 @@ 中文
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
+
+
@@ -920,6 +993,8 @@ 中文
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1449,6 +2115,81 @@
-
-
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 中文
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1495,6 +2236,62 @@ 中文
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1572,6 +2369,34 @@ 中文
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1620,6 +2445,48 @@ 中文
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1635,6 +2502,8 @@ 中文
+
+
@@ -1721,29 +2590,6 @@ Comments
-
-
-
@@ -1765,6 +2611,16 @@ Comments
key-val
st
key-val
st
-
-
@@ -566,6 +644,9 @@ key-val
st
+
+
+
@@ -577,8 +658,6 @@ key-val
st
-
-
@@ -586,8 +665,6 @@ key-val
st
-
-
@@ -595,8 +672,6 @@ key-val
st
-
-
@@ -611,8 +686,6 @@ key-val
st
-
-
@@ -650,6 +723,11 @@ key-val
st
+
+
+
+
+
@@ -666,6 +744,9 @@ key-val
st
+
+
+
@@ -677,6 +758,11 @@ key-val
st
+
+
+
+
+
@@ -686,21 +772,14 @@ key-val
st
+
+
+
+
+
-
-
- Before the wiki document structure is not very good, and not convenient to retrieve.
+Before the wiki document structure is not very good, and not convenient to retrieve.
So I recently rewritten the document of xmake using docute again.
@@ -424,21 +494,17 @@set_default
api for target to modify default build and install behaviorset_default
api for target to modify default build and install behaviorxmake
command in project subdirectories, it will find the project root directory automaticallyadd_rpathdirs
for target and optionxmake install
and xmake uninstall
task with administrator permissionxmake install
and xmake uninstall
task with administrator permissionrpm
, deb
and osxpkg
install packagexmake.lua
automaticallyarmv8-a
errorarmv8-a
error$(programdir)
and $(xmake)
builtin variables$(programdir)
and $(xmake)
builtin variablesis_host
api to get current host operating systemxmake lua
to run interactive commands, read-eval-print (REPL)xmake lua
to run interactive commands, read-eval-print (REPL)xmake.lua
in add_subdirs
and use independent sub-scope to avoid dirty scope.xmake
directory if be not in projectsudo make install
permission problemsudo make install
permission problemos.host
and os.arch
interfacescprint
no color reset eolcprint
no color reset eolThis interface refers to the design of CMake for the find_*
interfaces, which finds and adds package dependencies in the project target.
Note: We will implement package management 3.0 in the 2.2.1 version, if you want to known more info, please see:Remote package management。
+Note: We will implement package management 3.0 in the 2.2.1 version, if you want to known more info, please see:Remote package management。
For example:
@@ -501,7 +571,7 @@This is also a reference to the design of CMake, details see: issues#83。
+This is also a reference to the design of CMake, details see: issues#83。
target("test")
on_load(function (target)
@@ -631,7 +701,7 @@ Precompiled header File Support
$ xmake project -k compile_commands
@@ -798,30 +868,26 @@ You can see: pull#113
+You can see: pull#113
You can see: modules
+You can see: modules
If you want to known more usage, please see online documents。
- +add_csnippet
and add_cxxsnippet
into option
for detecting some compiler features.add_csnippet
and add_cxxsnippet
into option
for detecting some compiler features.find_program
, find_file
, find_library
, find_tool
and find_package
module interfaces.net.*
and devel.*
extension modulesval()
api to get the value of builtin-variable, .e.g val("host")
, val("env PATH")
, val("shell echo hello")
and val("reg HKEY_LOCAL_MACHINE\\XX;Value")
has_flags
, features
and has_features
for detect module interfaces.option.on_check
, option.after_check
and option.before_check
apitarget.on_load
apiadd_frameworkdirs
apiadd_frameworkdirs
apilib.detect.has_xxx
and lib.detect.find_xxx
apis.add_moduledirs
apiincludes
api instead of add_subdirs
and add_subfiles
compile_commands.json
by run xmake project -k compile_commands
compile_commands.json
by run xmake project -k compile_commands
set_pcheader
and set_pcxxheader
to support the precompiled header, support gcc, clang, msvcxmake f -p cross
platform and support the custom platformimport
to load user extension and global modulesxmake lua
to run a single line commandxmake lua
to run a single line commandprint
interface to dump table--root
common option to allow run xmake command as root--root
common option to allow run xmake command as rootxxx_script
in xmake.lua
to support pattern match, .e.g on_build("iphoneos|arm*", function (target) end)
*.asm
source files for vs201x project pluginadd_bindings
and add_rbindings
as deprecatedxmake rebuild
speed on windowscore.project.task
to core.base.task
echo
and app2ipa
plugins to xmake-plugins repo.echo
and app2ipa
plugins to xmake-plugins repo.set_config_header("config.h", {prefix = ""})
instead of set_config_h
and set_config_h_prefix
If you want to known more usage, please see online documents。
- +If you want to known more usage, please see online documents。
- +set_pcxxheader
bugos.tmpdir()
in fakerootos.getenv
charset bug on windowsos.tmpdir()
in fakerootos.getenv
charset bug on windowsxmake-vscode plugin is a xmake integration in Visual Studio Code.
+xmake-vscode plugin is a xmake integration in Visual Studio Code.
-It is deeply integrated with xmake and vscode to provide a convenient and fast cross-platform c/c++ development and building.
+It is deeply integrated with xmake and vscode to provide a convenient and fast cross-platform c/c++ development and building.
xmake-sublime plugin is a xmake integration in Sublime Text.
+xmake-sublime plugin is a xmake integration in Sublime Text.
-It is deeply integrated with xmake and sublime text to provide a convenient and fast cross-platform c/c++ development and building.
+It is deeply integrated with xmake and sublime text to provide a convenient and fast cross-platform c/c++ development and building.
-You need install xmake first and a project with xmake.lua
.
You need install xmake first and a project with xmake.lua
.
xmake-idea plugin is a xmake integration in Intellij-IDEA.
+xmake-idea plugin is a xmake integration in Intellij-IDEA.
-It is deeply integrated with xmake and Intellij-IDEA to provide a convenient and fast cross-platform c/c++ development and building.
+It is deeply integrated with xmake and Intellij-IDEA to provide a convenient and fast cross-platform c/c++ development and building.
And It also support other Intellij-based platform, like Clion, Android Studio and etc.
-You need install xmake first and a project with xmake.lua
.
You need install xmake first and a project with xmake.lua
.
If you want to known more usage, please see online documents。
- +If you want to known more usage, please see online documents。
- +xmake f --cc=gcc@ccmips.exe
add_cxflags
.., force to set flags without auto checking: add_cxflags("-DTEST", {force = true})
os.nuldev()
for gcc on mingwar.exe
os.nuldev()
for gcc on mingwar.exe
xmake f --cross
erroros.cd
to the windows root path bugPrev Post xmake v2.1.8 released, improve IDE/Editor plugin integration
- -Prev Post xmake v2.1.8 released, improve IDE/Editor plugin integration
+In the latest xmake v2.2.1 release, we have supported for the QT SDK environment, and we can fully develop QT applications +in VScode/Sublime Text/IDEA Intellij and xmake plugin (xmake-vscode, xmake-idea …).
+ +Users can completely switch to their most commonly used editor environments to develop and build QT programs, such as:
+ +xmake provides some project templates that can be used to quickly create an empty project based on QT, for example:
+ +$ xmake create -l c++ -t console_qt test
+$ xmake create -l c++ -t static_qt test
+$ xmake create -l c++ -t shared_qt test
+$ xmake create -l c++ -t quickapp_qt test
+
+At present, mainly provide the four types of engineering templates, corresponding to: console programs, static libraries, dynamic libraries, UI applications.
+ +The content of xmake.lua for quickapp is this:
+ +target("qt_demo")
+
+ -- add rules
+ add_rules("qt.application")
+
+ -- add headers
+ add_headers("src/*.h")
+
+ -- add files
+ add_files("src/*.cpp")
+ add_files("src/qml.qrc")
+
+ -- add frameworks
+ add_frameworks("QtQuick")
+
+The QT environment is automatically detected by xmake by default, but if the QT SDK environment is not found, users can manually specify the QT SDK Environment directory:
+ +$ xmake f --qt=~/Qt/Qt5.9.1
+
+xmake uses the built-in build rule qt.static
to apply it to target to support the compilation of the QT Static library.
target("test")
+ add_rules("qt.static")
+ add_files("src/*.cpp")
+ add_frameworks("QtNetwork", "QtGui")
+
+If you need to use some Qt libraries, you can add them through add_frameworks
.
Then we can build this program via the following command:
+ +$ xmake
+
+The dynamic library program is similar to the static library description rule described in the previous section,
+and the only difference is that the build rule is changed to add_rules("qt.shared")
on the line.
target("test")
+ add_rules("qt.shared")
+ add_files("src/*.cpp")
+ add_frameworks("QtNetwork", "QtGui")
+
+target("test")
+ add_rules("qt.console")
+ add_files("src/*.cpp")
+
+从Qt目前最新的SDK,主要提供了两种ui app的构建框架,Quick App 和 Widgets App,xmake也都进行了支持,并且统一规范成:qt.application
Qt应用程序规则来简化设置。
target("qt_quickapp")
+ add_rules("qt.application")
+ add_files("src/*.cpp")
+ add_files("src/qml.qrc")
+ add_frameworks("QtQuick")
+
+Note: Although xmake’s add_links
is also used to add dependent libraries for linking,
+it is recommended that the library provided by the QT SDK be added with add_frameworks
because all Qt build rules extend to add_frameworks
.
The Widgets app description rule is also qt.application
, just add the .ui
file and the only thing to note is that the header file with Q_OBJECT
meta, for example: mainwindow.h
.
target("qt_widgetapp")
+ add_rules("qt.application")
+ add_files("src/*.cpp")
+ add_files("src/mainwindow.ui")
+ add_files("src/mainwindow.h") -- add files with Q_OBJECT meta (only for qt.moc)
+ add_frameworks("QtWidgets")
+
+For more information on QT SDK Environment support, refer to: [#160] (https://github.com/xmake-io/xmake/issues/160)
+ +Prev Post xmake v2.1.9 released, provide user custom menu config
+ +Next Post xmake v2.2.1 released, Support Qt, WDK and Cuda Compilation Environments
+ +