Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
322 commits
Select commit Hold shift + click to select a range
feed4a3
ui::gate: rebuild_scene on resize
o-sdn-o Jan 16, 2025
154985e
ui::gate: rebuild_scene on resize (revert)
o-sdn-o Jan 16, 2025
734400e
Drop ui::base::diveup
o-sdn-o Jan 16, 2025
517e8de
Unify e2::form::upon::resized signaling
o-sdn-o Jan 17, 2025
eb810f4
Drop gate::fullscreen_banner
o-sdn-o Jan 17, 2025
6fc399a
Drop gate::pro::notes (tooltip)
o-sdn-o Jan 17, 2025
39d6261
Move pro::maker to hall from vtm::gate
o-sdn-o Jan 17, 2025
0c375f3
Drop pro::frame::convey
o-sdn-o Jan 17, 2025
35e6ac0
Revise gate::jump_to/move_viewport
o-sdn-o Jan 18, 2025
e068f27
Revise gate's (tier::preview, e2::form::proceed::createby, gear)
o-sdn-o Jan 18, 2025
6b93d7a
Revise gate's (tier::preview, e2::form::proceed::createby, gear)
o-sdn-o Jan 18, 2025
c3e9a86
Offload vtm::gate
o-sdn-o Jan 18, 2025
93da3b0
Offload vtm::gate (rendering)
o-sdn-o Jan 18, 2025
ae040db
Rename 'key/action' to 'key/script'
o-sdn-o Jan 19, 2025
eb0c254
Rename 'config/set' to 'config/variables'
o-sdn-o Jan 19, 2025
7e42de3
Drop pro::align
o-sdn-o Jan 19, 2025
ac8fb72
Fix fullscreen switching
o-sdn-o Jan 19, 2025
901fae5
Unify world_ptr lookup
o-sdn-o Jan 19, 2025
a0e54ec
Unify gate's fullscreen
o-sdn-o Jan 19, 2025
6fd6327
Unify gate's fullscreen (drop hosting window)
o-sdn-o Jan 19, 2025
6dd33aa
Unify gate's fullscreen (use handoff instead of restore)
o-sdn-o Jan 19, 2025
4ad30d9
Unify gate's fullscreen (drop is_new)
o-sdn-o Jan 19, 2025
762ecda
Drop ui::gate::tokens
o-sdn-o Jan 20, 2025
164133f
Unify fps reset at exit
o-sdn-o Jan 20, 2025
4061db5
Drop hall::tokens
o-sdn-o Jan 20, 2025
7127b3d
Rename user to usergate
o-sdn-o Jan 20, 2025
69e8a4d
Rename vtm::gate to vtm::user
o-sdn-o Jan 20, 2025
ab390c8
Rename vtm::gate to vtm::user
o-sdn-o Jan 20, 2025
39d6049
Rename gate::xmap to gate::canvas
o-sdn-o Jan 20, 2025
99156e3
Drop gate's red channel histogram
o-sdn-o Jan 20, 2025
70a65a3
Revise tui rendering order
o-sdn-o Jan 20, 2025
685f59a
Revise tui rendering order
o-sdn-o Jan 20, 2025
2b3d90e
Drop gate::applet
o-sdn-o Jan 20, 2025
72c9ac1
Render ui::gate in its own basis
o-sdn-o Jan 21, 2025
953b9e7
Revise desktop architecture
o-sdn-o Jan 22, 2025
7251f0c
Revise hall::list::bubble
o-sdn-o Jan 23, 2025
cf63202
Revise hall::list::expose
o-sdn-o Jan 23, 2025
941214e
Revise hall::list
o-sdn-o Jan 23, 2025
6e35497
Revise hall::list
o-sdn-o Jan 23, 2025
05c6d8c
Revise hall::list
o-sdn-o Jan 24, 2025
9d73600
Drop hall::list
o-sdn-o Jan 24, 2025
2d3c423
Revise hall::create/branch
o-sdn-o Jan 24, 2025
31bfa92
Drop hall::branch
o-sdn-o Jan 24, 2025
938ed77
Drop hall::new_object
o-sdn-o Jan 24, 2025
bcba10f
Drop hall::window::tokents
o-sdn-o Jan 24, 2025
0138a6f
Revise hall::window
o-sdn-o Jan 24, 2025
d34fd41
Revise hall::window
o-sdn-o Jan 24, 2025
bc9f605
Revise hall::window (prop::cwd)
o-sdn-o Jan 24, 2025
b9d4ab4
Revise hall::window
o-sdn-o Jan 24, 2025
a3d032a
Drop hall(preview, e2::form::upon::vtree::detached)
o-sdn-o Jan 24, 2025
46e8b62
Drop hall::depo::append
o-sdn-o Jan 24, 2025
9159572
Drop hall::depo::reset
o-sdn-o Jan 24, 2025
4a4af27
Drop hall::depo::remove
o-sdn-o Jan 24, 2025
8cbf0ec
Drop hall::depo
o-sdn-o Jan 24, 2025
2d8718d
Revise hall::remove (usergate)
o-sdn-o Jan 25, 2025
e97107d
Revise hall::remove (window)
o-sdn-o Jan 25, 2025
b110680
Revise hall::remove (fix usergate leak)
o-sdn-o Jan 26, 2025
995b05a
Rename pro::frame::seat to z_order
o-sdn-o Jan 28, 2025
63db96e
Keep node::iter in sync
o-sdn-o Jan 28, 2025
6ddde5c
Minor edits
o-sdn-o Jan 28, 2025
2f5300b
Introduce e2::property
o-sdn-o Jan 29, 2025
f5a65e5
Restore window size after handoff
o-sdn-o Jan 29, 2025
d94cc75
Restore window size after handoff (bind_property)
o-sdn-o Jan 29, 2025
b9672e1
Use window.header/footer property
o-sdn-o Jan 31, 2025
74d70f0
Use window.menuid property
o-sdn-o Jan 31, 2025
e3ae478
Make property part of ui::base
o-sdn-o Jan 31, 2025
ffbe99e
Drop ui::base::depo
o-sdn-o Jan 31, 2025
693dd99
Drop ui::base::depo
o-sdn-o Jan 31, 2025
1d5a006
Decouple usergate from hall::node
o-sdn-o Jan 31, 2025
b60a9a6
Draw usergate string along with user's shadow
o-sdn-o Jan 31, 2025
3529415
Revise vtm::user::follow/unbind
o-sdn-o Jan 31, 2025
26ece67
Rename ui::base::vars to fields
o-sdn-o Jan 31, 2025
3f27783
Drop vtm::user
o-sdn-o Jan 31, 2025
b7c7d3e
Rename ui::base::get to field
o-sdn-o Jan 31, 2025
1c9acb0
Use ui::base::field instead of ptr::shared
o-sdn-o Jan 31, 2025
021d37c
Use ui::base::field instead of ptr::shared
o-sdn-o Jan 31, 2025
eba5212
Use var's address in order to be able to remove this field
o-sdn-o Jan 31, 2025
c9ef11d
Add base::unfield
o-sdn-o Jan 31, 2025
5d1255d
std::unordered_map::erase calls text::ctor until C++23
o-sdn-o Jan 31, 2025
738a697
Use ui::base::field instead of ptr::shared (with lambdas)
o-sdn-o Jan 31, 2025
0f5cd89
Simplify netxs::events
o-sdn-o Feb 1, 2025
d20a6e3
Simplify netxs::events (use namespaces instead of structs)
o-sdn-o Feb 1, 2025
c4b7d7e
Simplify netxs::events (rename netxs::input2 to netxs::input)
o-sdn-o Feb 1, 2025
f58845a
Revise vtm::hall
o-sdn-o Feb 1, 2025
3d5e959
Rename base::newfield to field
o-sdn-o Feb 1, 2025
0790e2a
Rename base::newfield to field (base::property)
o-sdn-o Feb 1, 2025
fd7d3d9
Revise vtm::hall
o-sdn-o Feb 1, 2025
2ff1be6
Revise vtm::hall (desktop.selected)
o-sdn-o Feb 2, 2025
1398016
Revise vtm::hall
o-sdn-o Feb 2, 2025
7a9e0d2
Revise vtm::hall
o-sdn-o Feb 2, 2025
2042b2a
Revise vtm::hall
o-sdn-o Feb 2, 2025
e8c2b78
Revise vtm::hall (hall::window_t)
o-sdn-o Feb 2, 2025
c65f621
Revise vtm::hall
o-sdn-o Feb 2, 2025
6bc6783
Revise vtm::hall (kindid to type)
o-sdn-o Feb 3, 2025
0da6a7f
Revise vtm::hall (desktop.selected)
o-sdn-o Feb 3, 2025
6bd23a5
Minor edits
o-sdn-o Feb 3, 2025
17faf1b
Store ui::grid::blocks as std::list
o-sdn-o Feb 3, 2025
52e30f8
Adapt ui::list for std::list
o-sdn-o Feb 3, 2025
b622026
Switch ui::base::subset to std::list
o-sdn-o Feb 3, 2025
b95f980
Switch ui::base::subset to std::list
o-sdn-o Feb 3, 2025
3e74591
Switch ui::base::subset to std::list (fix e2::form::upon::vtree::atta…
o-sdn-o Feb 4, 2025
003b98e
app1.vtmx simulation
o-sdn-o Feb 4, 2025
ba331c1
Revise vtm::hall (right composition order)
o-sdn-o Feb 5, 2025
4daf3cc
Revise vtm::hall (optimize windows rendering)
o-sdn-o Feb 5, 2025
85e9316
Fix UTF-8 path encoding (std::file_system)
o-sdn-o Feb 5, 2025
162f071
Revise vtm::hall (prep for subset)
o-sdn-o Feb 5, 2025
c6165af
Revise vtm::hall (drop hall::items)
o-sdn-o Feb 6, 2025
8aa9db8
Revise vtm::hall (shutdown cleanup)
o-sdn-o Feb 6, 2025
0327ffc
Revise vtm::hall (rename main::domain to desktop)
o-sdn-o Feb 6, 2025
ba9b656
Use ui::base::field instead of ptr::shared (oneshots)
o-sdn-o Feb 6, 2025
e2b7528
Use ui::base::field instead of ptr::shared (apps::desk)
o-sdn-o Feb 6, 2025
841bdce
Use ui::base::field instead of ptr::shared (apps::terminal)
o-sdn-o Feb 6, 2025
f691ae8
Use ui::base::field instead of ptr::shared (tile::switch_counter)
o-sdn-o Feb 6, 2025
c76c65f
Use ui::base::field instead of ptr::shared (menu::mini)
o-sdn-o Feb 6, 2025
e42172c
Drop e2::form::canvas
o-sdn-o Feb 6, 2025
c37c478
Use ui::base::field instead of ptr::shared (tile::items)
o-sdn-o Feb 6, 2025
b0a58e3
Revise tile::items
o-sdn-o Feb 7, 2025
b49d8af
Revise app::tile
o-sdn-o Feb 7, 2025
c3c3332
Revise vtm::hall::create_window
o-sdn-o Feb 7, 2025
9402fe3
Revise hall::usergate
o-sdn-o Feb 7, 2025
cab9def
Fix unix builds
o-sdn-o Feb 7, 2025
e475e40
Fix unix builds
o-sdn-o Feb 7, 2025
d80c51a
Fix unix builds
o-sdn-o Feb 7, 2025
320d714
Fix unix builds
o-sdn-o Feb 7, 2025
f5d7983
Fix macos build
o-sdn-o Feb 8, 2025
e300aaa
Fix macos build
o-sdn-o Feb 8, 2025
463e54c
Fix macos build
o-sdn-o Feb 8, 2025
5076a91
Fix macos build
o-sdn-o Feb 8, 2025
fa2c38b
Fix macos build
o-sdn-o Feb 8, 2025
92b56dc
Fix macos build
o-sdn-o Feb 8, 2025
a4c2fd4
Try to fix linux x86 build
o-sdn-o Feb 9, 2025
bdb1740
Try to fix linux x86 build
o-sdn-o Feb 9, 2025
4ab2966
Try to fix linux x86 build
o-sdn-o Feb 9, 2025
eef56af
Workaround for i386 linux targets
o-sdn-o Feb 10, 2025
a66822c
Workaround for i386 linux targets (test fmod)
o-sdn-o Feb 10, 2025
7d3cc66
Workaround for i386 linux targets (use default gcc)
o-sdn-o Feb 10, 2025
1686e35
Workaround for i386 linux targets (fmod test)
o-sdn-o Feb 10, 2025
1601f58
Workaround for i386 linux targets (fmod test)
o-sdn-o Feb 10, 2025
c8bfa58
Workaround for i386 linux targets (drop --fmod)
o-sdn-o Feb 10, 2025
820c5b4
Workaround for i386 linux targets (CMakeSettings.json)
o-sdn-o Feb 10, 2025
2951fd2
Fix terminal selection hilighting in altbuf mode
o-sdn-o Feb 10, 2025
9949f34
Respect base::intpad
o-sdn-o Feb 10, 2025
9b5915f
Make base::global() flat
o-sdn-o Feb 10, 2025
b0b13f4
Make base::gettop() flat
o-sdn-o Feb 11, 2025
37b6a91
Make base::reflow() flat
o-sdn-o Feb 11, 2025
b3a34c1
Make base::deface() non-virtual
o-sdn-o Feb 11, 2025
cf963d5
Make base::strike() flat
o-sdn-o Feb 11, 2025
f68d8e0
Make base::strike() flat
o-sdn-o Feb 11, 2025
49d793e
Drop ui::stem_rate
o-sdn-o Feb 11, 2025
63a6a83
Revise bell::cleanup
o-sdn-o Feb 11, 2025
47e37fc
Move bell::signal to ui::base
o-sdn-o Feb 11, 2025
9600c76
Minor edits
o-sdn-o Feb 11, 2025
aae2045
Drop e2::dtor
o-sdn-o Feb 12, 2025
2447fa9
Do not hide maximized windows
o-sdn-o Feb 12, 2025
5d8c139
Drop e2::cascade
o-sdn-o Feb 12, 2025
cb70924
Fix fullscreen window closing
o-sdn-o Feb 12, 2025
eeb3690
Revise events::subs
o-sdn-o Feb 12, 2025
3956c2b
Revise events::subs
o-sdn-o Feb 12, 2025
5cc2d26
Don't auto base::reflow on attach/detach
o-sdn-o Feb 12, 2025
253cabf
Revise app::strobe
o-sdn-o Feb 12, 2025
96fd973
Fix visual tree reflow after attaching
o-sdn-o Feb 13, 2025
70e6a1d
Decouple app::strobe from base::color
o-sdn-o Feb 14, 2025
62d92b4
Fix taskbar reflow
o-sdn-o Feb 14, 2025
19b4b0a
Fix resizing on attach
o-sdn-o Feb 17, 2025
61121c0
Use cell::shaders::underlight for mini scrollbars
o-sdn-o Feb 17, 2025
d4fdf77
Allow ui::drawfx to be non-static
o-sdn-o Feb 18, 2025
f431ff9
Revise ui::grip
o-sdn-o Feb 18, 2025
52141ee
Revise pro::fader
o-sdn-o Feb 18, 2025
3419f25
Decouple ui::term from base::color
o-sdn-o Feb 18, 2025
847d0a0
Fix ui::tile pane maximize/restore
o-sdn-o Feb 18, 2025
83e2431
Fix ui::term selection rendering on horizontal scrolling
o-sdn-o Feb 18, 2025
794ca82
Decouple ui::tile pane title from base::color
o-sdn-o Feb 18, 2025
54cd6f6
Decouple ui::tile empty_slot from base::color
o-sdn-o Feb 19, 2025
e64d0d5
Drop e2::form::prop::filler
o-sdn-o Feb 19, 2025
c387eb7
Revise ui::form::active
o-sdn-o Feb 19, 2025
46892c1
Drop ui::base::color()
o-sdn-o Feb 19, 2025
b2fba2e
Fix taskbar reflow
o-sdn-o Feb 19, 2025
dd1cb08
Revise e2::config::fps
o-sdn-o Feb 19, 2025
75ce9a6
Revise e2::config::fps
o-sdn-o Feb 19, 2025
c285e78
Revise pro::debug
o-sdn-o Feb 19, 2025
42fa1e9
Make e2::config::fps unidirectional
o-sdn-o Feb 20, 2025
9afaae1
Drop ui::gate::local
o-sdn-o Feb 20, 2025
e53eedc
WIP: Make ui::gate the root of the focus tree
o-sdn-o Feb 21, 2025
d883688
WIP: Make ui::gate the root of the focus tree (fix redrawing on windo…
o-sdn-o Feb 21, 2025
bdf6e2a
Drop ui::base::actual_area()
o-sdn-o Feb 21, 2025
e0349cf
WIP: Make ui::gate the root of the focus tree (ui::base::global)
o-sdn-o Feb 21, 2025
00c62f6
WIP: Make ui::gate the root of the focus tree (pro::maker)
o-sdn-o Feb 21, 2025
4f20416
Fix plaintext printscreen
o-sdn-o Feb 21, 2025
e4b6af5
Fix gates redraw
o-sdn-o Feb 21, 2025
1c0283b
Fix gates redraw
o-sdn-o Feb 21, 2025
10aad44
Minor edits
o-sdn-o Feb 21, 2025
e1773fa
Drop s11n::fatal
o-sdn-o Feb 22, 2025
6ae64e4
Revise hids::replay
o-sdn-o Feb 22, 2025
61a5a6a
Revise hids::replay
o-sdn-o Feb 22, 2025
0b5362b
WIP: Make ui::gate the root of the focus tree (set_multihome)
o-sdn-o Feb 23, 2025
dd34d44
WIP: Make ui::gate the root of the focus tree (fix keybd bindings)
o-sdn-o Feb 24, 2025
788d931
WIP: Make ui::gate the root of the focus tree (fix desktop.FocusNextW…
o-sdn-o Feb 24, 2025
ab26672
WIP: Make ui::gate the root of the focus tree (restore maximized window)
o-sdn-o Feb 24, 2025
a91508b
WIP: Make ui::gate the root of the focus tree (set_multihome)
o-sdn-o Feb 24, 2025
86c9fc7
WIP: Make ui::gate the root of the focus tree (make ui::hall focused …
o-sdn-o Feb 24, 2025
84e8166
WIP: Make ui::gate the root of the focus tree (fix info-page link)
o-sdn-o Feb 24, 2025
7b2a9c7
WIP: Make ui::gate the root of the focus tree (fix vtm.gate)
o-sdn-o Feb 24, 2025
0047f20
WIP: Make ui::gate the root of the focus tree (fix debug overlay)
o-sdn-o Feb 24, 2025
01e21d0
Rename Logs Monitor
o-sdn-o Feb 25, 2025
c5c9f4e
Rename Logs Monitor
o-sdn-o Feb 25, 2025
e8aaab2
Add key bindings for default app
o-sdn-o Feb 25, 2025
b015eeb
Add key bindings for default app (fix key preview)
o-sdn-o Feb 25, 2025
073b9ba
Add scripting host to standalone app
o-sdn-o Feb 25, 2025
612d608
Filtering window state management commands (warp, fullscreen)
o-sdn-o Feb 25, 2025
5a105f7
Make the applet responsible for controlling the window
o-sdn-o Feb 26, 2025
2a320dd
Allow object aliases in pro::keybd
o-sdn-o Feb 26, 2025
2eee0c9
Make window_t::proc_map non-static
o-sdn-o Feb 26, 2025
532fea4
Unify window_t::proc_map
o-sdn-o Feb 26, 2025
3a3f553
Minor edits
o-sdn-o Feb 26, 2025
e262475
Make hall::proc_map non-static
o-sdn-o Feb 26, 2025
bd1a22a
Fix FocusNextWindow
o-sdn-o Feb 26, 2025
c086a86
Make tile::proc_map non-static
o-sdn-o Feb 26, 2025
34f24b9
Make applet_kb_navigation::proc_map non-static
o-sdn-o Feb 26, 2025
3921ddf
Make gear.proc_map non-static
o-sdn-o Feb 26, 2025
cc6d300
Make terminal.proc_map non-static
o-sdn-o Feb 26, 2025
2a1b146
Make gate.proc_map non-static
o-sdn-o Feb 26, 2025
49c2c8e
Make grip.proc_map non-static
o-sdn-o Feb 26, 2025
146de23
Make grip.proc_map non-static
o-sdn-o Feb 26, 2025
ec3402f
Make grip.proc_map non-static
o-sdn-o Feb 26, 2025
8bf4fa6
Revise ui::terminal plugins
o-sdn-o Feb 26, 2025
8d82915
Unify pro::luafx::fxmap
o-sdn-o Feb 26, 2025
46531d1
Unify pro::luafx::activate
o-sdn-o Feb 26, 2025
4a275cf
Drop ui::form::plugins
o-sdn-o Feb 26, 2025
5042ed2
Minor edits
o-sdn-o Feb 26, 2025
7534d64
Minor edits
o-sdn-o Feb 26, 2025
37ec35c
Revise defapp bindings
o-sdn-o Feb 27, 2025
9067213
Revise gate.proc_map
o-sdn-o Feb 27, 2025
c5fb652
Move window switching to ui::hall
o-sdn-o Feb 27, 2025
e777b70
Restore maximized window on manual resizing
o-sdn-o Feb 27, 2025
addd607
Initialize events::auth::newid
o-sdn-o Feb 27, 2025
99baf41
Fix when a fresh connected desktop with unfocused dtvt-app failed to …
o-sdn-o Feb 27, 2025
c2d046b
#393 WIP: Drop scripting.hpp
o-sdn-o Feb 27, 2025
ab1a979
Fix recursive connections
o-sdn-o Feb 28, 2025
16f5f3a
Drop deprecated hall::vtm_*() functions
o-sdn-o Feb 28, 2025
94384d7
Deduplicate scripting host
o-sdn-o Feb 28, 2025
802b841
v0.9.99.62
o-sdn-o Feb 28, 2025
50ff0c9
Update doc/apps.md
o-sdn-o Feb 28, 2025
7a23a7d
Update doc/architecture.md
o-sdn-o Feb 28, 2025
43ddf4d
Dequote script body
o-sdn-o Feb 28, 2025
dc1640d
Update doc/build.md
o-sdn-o Feb 28, 2025
1539cbb
Update doc/command-line-options.md
o-sdn-o Feb 28, 2025
3bb30a3
Update doc/settings.md
o-sdn-o Feb 28, 2025
462ac92
Update doc/user-interface.md
o-sdn-o Feb 28, 2025
bda695c
Fix apple clang complaints
o-sdn-o Feb 28, 2025
1690996
Fix AlwaysOnTop
o-sdn-o Feb 28, 2025
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
23 changes: 13 additions & 10 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,35 +26,41 @@ jobs:
cpu: universal
arch: any
cxx: c++
cc: cc
flags: '-DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 -DCMAKE_CXX_FLAGS_RELEASE="-O2 -DNDEBUG -Wall -Wextra -Wno-missing-field-initializers -Werror"'
- os: windows-latest
platform: windows
cpu: Win32
arch: x86
cxx: cl
flags: '-DCMAKE_EXE_LINKER_FLAGS_RELEASE="/DEBUG /OPT:REF /OPT:ICF" -DCMAKE_CXX_FLAGS_RELEASE="/MT /O2 /DNDEBUG /Zi /Zc:preprocessor /W4" -A '
cc: cl
flags: '-DCMAKE_EXE_LINKER_FLAGS_RELEASE="/DEBUG /OPT:REF /OPT:ICF" -DCMAKE_C_FLAGS_RELEASE="/MT /O2 /c" -DCMAKE_CXX_FLAGS_RELEASE="/MT /O2 /DNDEBUG /Zi /Zc:preprocessor /W4" -A '
- os: windows-latest
cxx: cl
- os: ubuntu-latest
cpu: x64
cxx: g++
cc: gcc
- os: ubuntu-latest
cpu: x86
apt: g++-i686-linux-gnu
apt: g++-i686-linux-gnu gcc-i686-linux-gnu
cxx: /bin/i686-linux-gnu-g++
cc: /bin/i686-linux-gnu-gcc
- os: ubuntu-latest
cpu: arm
apt: g++-arm-linux-gnueabihf
apt: g++-arm-linux-gnueabihf gcc-arm-linux-gnueabihf
cxx: /bin/arm-linux-gnueabihf-g++
cc: /bin/arm-linux-gnueabihf-gcc
- os: ubuntu-latest
cpu: arm64
apt: g++-aarch64-linux-gnu
apt: g++-aarch64-linux-gnu gcc-aarch64-linux-gnu
cxx: /bin/aarch64-linux-gnu-g++
cc: /bin/aarch64-linux-gnu-gcc

- os: ubuntu-latest
flags: '-DCMAKE_CXX_FLAGS_RELEASE="-static -s -O2 -DNDEBUG -Wall -Wextra -Wno-missing-field-initializers -Wno-psabi -Werror"'
flags: '-DCMAKE_C_FLAGS="-O2 -static" -DCMAKE_CXX_FLAGS_RELEASE="-static -s -O2 -DNDEBUG -Wall -Wextra -Wno-missing-field-initializers -Wno-psabi -Werror"'
- os: windows-latest
flags: '-DCMAKE_EXE_LINKER_FLAGS_RELEASE="/DEBUG /OPT:REF /OPT:ICF" -DCMAKE_CXX_FLAGS_RELEASE="/MT /O2 /DNDEBUG /Zi /Zc:preprocessor /W4" -A '
flags: '-DCMAKE_EXE_LINKER_FLAGS_RELEASE="/DEBUG /OPT:REF /OPT:ICF" -DCMAKE_C_FLAGS_RELEASE="/MT /O2 /c" -DCMAKE_CXX_FLAGS_RELEASE="/MT /O2 /DNDEBUG /Zi /Zc:preprocessor /W4" -A '

- os: ubuntu-latest
platform: linux
Expand Down Expand Up @@ -88,17 +94,14 @@ jobs:
run: >
cmake -B ${{ steps.strings.outputs.bin }}
-DCMAKE_CXX_COMPILER=${{ matrix.cxx }}
-DCMAKE_C_COMPILER=${{ matrix.cc }}
${{ matrix.flags }} ${{ matrix.os == 'windows-latest' && matrix.cpu || '' }}
-DCMAKE_BUILD_TYPE=Release
-S ${{ github.workspace }}

- name: Build
run: cmake --build ${{ steps.strings.outputs.bin }} --config Release

- name: Test (POSIX)
if: matrix.os != 'windows-latest' && matrix.cpu != 'arm' && matrix.cpu != 'arm64'
run: ${{ steps.strings.outputs.bin }}/vtm -v

- name: Pack (POSIX)
if: matrix.os != 'windows-latest'
run: 7z a -ttar vtm_${{ matrix.platform }}_${{ matrix.arch }}.tar ${{ steps.strings.outputs.bin }}/vtm
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/.vs
/.vscode
/bin
/build
64 changes: 41 additions & 23 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,37 +1,55 @@
cmake_minimum_required (VERSION 3.10)
cmake_minimum_required(VERSION 3.24)

project ("vtm")
# project ("term")
# project ("calc")
project("vtm")
# project("term")
# project("calc")

set (CMAKE_CXX_STANDARD 20)
set (CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# Set the build type to Release if none is specified.
if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "")
set (CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)
endif ()
if(NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "")
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)
endif()

if (CMAKE_SYSTEM_NAME STREQUAL "Windows") # WIN32 and similar checks are soft-deprecated
if(CMAKE_SYSTEM_NAME STREQUAL "Windows") # WIN32 and similar checks are soft-deprecated
# Disable manifest embedding for the windows builds.
# Reason: Anti-virus program (Windows Defender) may lock and scan `vtm.exe` file before embedding the manifest.
# mt.exe: general error c101008d: Failed to write the updated manifest to the resource of file...
#set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO")
#set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO")
# /EHsc Tells the compiler that exceptions can only occur at a throw statement or at a function call.
# /bigobj Our event model spawns a large number of objects. By default, an object file can hold up to 65,279 (almost 2^16) addressable sections. This limit applies no matter which target platform is specified. /bigobj increases that address capacity to 4,294,967,296 (2^32).
# /utf-8 All literals in our source code are in UTF-8 format.
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /bigobj /utf-8 /Zc:preprocessor")
set (WIN32_RESOURCES ".resources/images/vtm.rc")
else ()
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /bigobj /utf-8 /Zc:preprocessor")
set(WIN32_RESOURCES ".resources/images/vtm.rc")
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DLUA_USE_POSIX")
# Static linkage
#set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static -pthread -s")
endif ()
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static -pthread -s")
endif()

add_executable (vtm "src/vtm.cpp" ${WIN32_RESOURCES})
# add_executable (term "src/netxs/apps/term.cpp")
# add_executable (calc "src/netxs/apps/calc.cpp")
# Lua
include(FetchContent)
FetchContent_Declare(lua
URL https://www.lua.org/ftp/lua-5.4.7.tar.gz
URL_HASH SHA256=9fbf5e28ef86c69858f6d3d34eccc32e911c1a28b4120ff3e84aaa70cfbf1e30
DOWNLOAD_EXTRACT_TIMESTAMP true)
FetchContent_MakeAvailable(lua)
file(GLOB lua_src CONFIGURE_DEPENDS ${lua_SOURCE_DIR}/src/*.c)
list(REMOVE_ITEM lua_src ${lua_SOURCE_DIR}/src/lua.c ${lua_SOURCE_DIR}/src/luac.c)
add_library(lua ${lua_src})
target_include_directories(lua PUBLIC ${lua_SOURCE_DIR}/src)
target_sources(lua PRIVATE ${lua_src})

if (NOT WIN32)
install (TARGETS vtm DESTINATION bin)
endif ()
add_executable(vtm "src/vtm.cpp" ${WIN32_RESOURCES})
# add_executable(term "src/netxs/apps/term.cpp")
# add_executable(calc "src/netxs/apps/calc.cpp")

target_link_libraries(vtm lua)
# target_link_libraries(term lua)
# target_link_libraries(calc lua)

if(NOT WIN32)
install(TARGETS vtm DESTINATION bin)
endif()
104 changes: 102 additions & 2 deletions CMakeSettings.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,17 @@
"variables": [
{
"name": "CMAKE_CXX_FLAGS_DEBUG",
"value": "-DDEBUG /MTd /Zi /Ob0 /Od /RTC1 /bigobj /utf-8 /Zc:preprocessor /W4",
"value": "/DDEBUG /MTd /Zi /Ob0 /Od /RTC1 /bigobj /utf-8 /Zc:preprocessor /W4",
"type": "STRING"
},
{
"name": "CMAKE_C_FLAGS_DEBUG",
"value": "/DDEBUG /MTd /c",
"type": "STRING"
},
{
"name": "CMAKE_MSVC_RUNTIME_LIBRARY",
"value": "MultiThreadedDebug",
"type": "STRING"
}
],
Expand Down Expand Up @@ -54,7 +64,17 @@
"variables": [
{
"name": "CMAKE_CXX_FLAGS_DEBUG",
"value": "-DDEBUG /MTd /Zi /Ob0 /Od /RTC1 /bigobj /utf-8 /Zc:preprocessor /W4",
"value": "/DDEBUG /MTd /Zi /Ob0 /Od /RTC1 /bigobj /utf-8 /Zc:preprocessor /W4",
"type": "STRING"
},
{
"name": "CMAKE_C_FLAGS_DEBUG",
"value": "/DDEBUG /MTd /c",
"type": "STRING"
},
{
"name": "CMAKE_MSVC_RUNTIME_LIBRARY",
"value": "MultiThreadedDebug",
"type": "STRING"
}
]
Expand All @@ -80,6 +100,16 @@
"name": "CMAKE_CXX_COMPILER",
"value": "/bin/i686-linux-gnu-g++",
"type": "STRING"
},
{
"name": "CMAKE_C_COMPILER",
"value": "/bin/i686-linux-gnu-gcc",
"type": "STRING"
},
{
"name": "CMAKE_C_FLAGS",
"value": "-O2 -static",
"type": "STRING"
}
],
"intelliSenseMode": "linux-gcc-x86",
Expand All @@ -101,6 +131,16 @@
"name": "CMAKE_CXX_FLAGS_RELEASE",
"value": "/MT /O2 /DNDEBUG /EHsc /bigobj /utf-8 /Zc:preprocessor /W4",
"type": "STRING"
},
{
"name": "CMAKE_C_FLAGS_RELEASE",
"value": "/DNDEBUG /MT /O2 /c",
"type": "STRING"
},
{
"name": "CMAKE_MSVC_RUNTIME_LIBRARY",
"value": "MultiThreaded",
"type": "STRING"
}
],
"intelliSenseMode": "windows-msvc-arm"
Expand All @@ -120,6 +160,16 @@
"name": "CMAKE_CXX_FLAGS_RELEASE",
"value": "/MT /O2 /DNDEBUG /EHsc /bigobj /utf-8 /Zc:preprocessor /W4",
"type": "STRING"
},
{
"name": "CMAKE_C_FLAGS_RELEASE",
"value": "/DNDEBUG /MT /O2 /c",
"type": "STRING"
},
{
"name": "CMAKE_MSVC_RUNTIME_LIBRARY",
"value": "MultiThreaded",
"type": "STRING"
}
],
"intelliSenseMode": "windows-msvc-arm64"
Expand All @@ -139,6 +189,16 @@
"name": "CMAKE_CXX_FLAGS_RELEASE",
"value": "/MT /O2 /DNDEBUG /EHsc /bigobj /utf-8 /Zc:preprocessor /W4",
"type": "STRING"
},
{
"name": "CMAKE_C_FLAGS_RELEASE",
"value": "/DNDEBUG /MT /O2 /c",
"type": "STRING"
},
{
"name": "CMAKE_MSVC_RUNTIME_LIBRARY",
"value": "MultiThreaded",
"type": "STRING"
}
]
},
Expand All @@ -162,6 +222,16 @@
"name": "DCMAKE_EXE_LINKER_FLAGS_RELEASE",
"value": "/DEBUG /OPT:REF /OPT:ICF",
"type": "STRING"
},
{
"name": "CMAKE_C_FLAGS_RELEASE",
"value": "/DNDEBUG /MT /O2 /c",
"type": "STRING"
},
{
"name": "CMAKE_MSVC_RUNTIME_LIBRARY",
"value": "MultiThreaded",
"type": "STRING"
}
]
},
Expand All @@ -186,6 +256,16 @@
"name": "CMAKE_CXX_COMPILER",
"value": "/bin/arm-linux-gnueabihf-g++",
"type": "STRING"
},
{
"name": "CMAKE_C_COMPILER",
"value": "/bin/arm-linux-gnueabihf-gcc",
"type": "STRING"
},
{
"name": "CMAKE_C_FLAGS",
"value": "-O2 -static",
"type": "STRING"
}
],
"intelliSenseMode": "linux-gcc-arm",
Expand Down Expand Up @@ -214,6 +294,16 @@
"name": "CMAKE_CXX_COMPILER",
"value": "/bin/aarch64-linux-gnu-g++",
"type": "STRING"
},
{
"name": "CMAKE_C_COMPILER",
"value": "/bin/aarch64-linux-gnu-gcc",
"type": "STRING"
},
{
"name": "CMAKE_C_FLAGS",
"value": "-O2 -static",
"type": "STRING"
}
],
"intelliSenseMode": "linux-gcc-arm",
Expand Down Expand Up @@ -242,6 +332,16 @@
"name": "CMAKE_CXX_COMPILER",
"value": "/bin/i686-linux-gnu-g++",
"type": "STRING"
},
{
"name": "CMAKE_C_COMPILER",
"value": "/bin/i686-linux-gnu-gcc",
"type": "STRING"
},
{
"name": "CMAKE_C_FLAGS",
"value": "-O2 -static",
"type": "STRING"
}
],
"intelliSenseMode": "linux-gcc-x86",
Expand Down
Loading