File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -49,10 +49,16 @@ jobs:
4949 if : ${{ matrix.compiler.name == 'Latest Clang' }}
5050 uses : MorganCaron/latest-clang-action@master
5151
52- - name : Compile
52+ - name : Update xmake repository
53+ run : xmake repo --update
54+
55+ - name : Configure & Install dependencies
56+ run : |
57+ xmake f ${{ matrix.compiler.xmake-toolchain }} --runtimes="c++_shared" --enable_tests=y -v --yes
58+
59+ - name : Build
5360 run : |
54- xmake f ${{ matrix.compiler.xmake-toolchain }} --runtimes="c++_shared" --enable_tests=y --yes
55- xmake build -vD
61+ xmake build -v
5662
5763 - name : Run tests
5864 run : |
Original file line number Diff line number Diff line change @@ -17,22 +17,25 @@ jobs:
1717 }
1818 steps :
1919 - uses : actions/checkout@v4
20+
21+ - uses : tecolicom/actions-use-homebrew-tools@v1
22+ with :
23+ tools : llvm ninja cmake
24+
2025 - uses : xmake-io/github-action-setup-xmake@v1
2126 with :
2227 xmake-version : branch@master
2328
24- - name : Install LLVM
25- if : ${{ matrix.compiler.name == 'Clang' }}
29+ - name : Update xmake repository
30+ run : xmake repo --update
31+
32+ - name : Configure & Install dependencies
2633 run : |
27- brew install llvm
34+ xmake f --toolchain= llvm --sdk="$(brew --prefix)/opt/llvm/" --runtimes="c++_shared" --enable_tests=y -v --yes
2835
29- - name : Compile
30- env :
31- CC : ${{ matrix.compiler.cc }}
32- CXX : ${{ matrix.compiler.cxx }}
36+ - name : Build
3337 run : |
34- xmake f --enable_tests=y --yes
35- xmake build -vD
38+ xmake build -v
3639
3740 - name : Run tests
3841 run : |
Original file line number Diff line number Diff line change 55#if defined(OS_WINDOWS)
66# include <winsock2.h>
77# include <ws2tcpip.h> // for socklen_t
8- #elif defined(OS_LINUX)
8+ #elif defined(OS_LINUX) or defined(OS_MACOS)
99# include <sys/socket.h>
1010# include <netinet/in.h>
1111# include <arpa/inet.h>
@@ -79,7 +79,7 @@ export namespace CppUtils::Network
7979 {
8080 IPV4 = AF_INET,
8181 IPV6 = AF_INET6,
82- #if defined(OS_LINUX)
82+ #if defined(OS_LINUX) or defined(OS_MACOS)
8383 Local = AF_UNIX
8484#endif
8585 };
Original file line number Diff line number Diff line change @@ -21,7 +21,7 @@ export namespace CppUtils::Terminal
2121 consoleScreenBufferInfo.srWindow.Left,
2222 consoleScreenBufferInfo.srWindow.Top};
2323 }
24- #elif defined(OS_MAC ) or defined(OS_LINUX )
24+ #elif defined(OS_LINUX ) or defined(OS_MACOS )
2525 [[nodiscard]] inline auto getCursorPosition() -> std::expected<Container::Size2, std::string_view>
2626 {
2727 using namespace std::literals;
@@ -43,7 +43,7 @@ export namespace CppUtils::Terminal
4343 {
4444 SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), COORD{static_cast<SHORT>(position.x()), static_cast<SHORT>(position.y())});
4545 }
46- #elif defined(OS_MAC ) or defined(OS_LINUX )
46+ #elif defined(OS_LINUX ) or defined(OS_MACOS )
4747 inline auto setCursorPosition([[maybe_unused]] Container::Size2 position) -> void
4848 {
4949 std::print("\x1b[{};{}H", position.y() + 1, position.x() + 1);
Original file line number Diff line number Diff line change 22
33#include <CppUtils/System/Windows.hpp>
44
5- #if defined(OS_MAC ) or defined(OS_LINUX )
5+ #if defined(OS_LINUX ) or defined(OS_MACOS )
66# include <unistd.h>
77# include <termios.h>
88#endif
@@ -13,7 +13,7 @@ import std;
1313
1414export namespace CppUtils::Terminal
1515{
16- #if defined(OS_MAC ) or defined(OS_LINUX )
16+ #if defined(OS_LINUX ) or defined(OS_MACOS )
1717 class RawTerminal final
1818 {
1919 public:
Original file line number Diff line number Diff line change 22
33#include <CppUtils/System/Windows.hpp>
44
5- #if defined(OS_MAC ) or defined(OS_LINUX )
5+ #if defined(OS_LINUX ) or defined(OS_MACOS )
66# include <sys/ioctl.h>
77# include <unistd.h>
88#endif
@@ -18,19 +18,19 @@ export namespace CppUtils::Terminal
1818 [[nodiscard]] inline auto getTerminalSize() -> Container::Size2
1919 {
2020 auto consoleScreenBufferInfo = CONSOLE_SCREEN_BUFFER_INFO{};
21- GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), & consoleScreenBufferInfo);
21+ GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), std::addressof( consoleScreenBufferInfo) );
2222 return Container::Size2{
2323 static_cast<std::size_t>(consoleScreenBufferInfo.srWindow.Right - consoleScreenBufferInfo.srWindow.Left + 1),
2424 static_cast<std::size_t>(consoleScreenBufferInfo.srWindow.Bottom - consoleScreenBufferInfo.srWindow.Top + 1)};
2525 }
26- #elif defined(OS_MAC ) or defined(OS_LINUX )
26+ #elif defined(OS_LINUX ) or defined(OS_MACOS )
2727 [[nodiscard]] inline auto getTerminalSize() -> Container::Size2
2828 {
2929 auto windowsSize = winsize{};
30- ioctl(STDOUT_FILENO, TIOCGWINSZ, & windowsSize);
30+ ioctl(STDOUT_FILENO, TIOCGWINSZ, std::addressof( windowsSize) );
3131 return Container::Size2{
32- windowsSize.ws_col,
33- windowsSize.ws_row};
32+ static_cast<std::size_t>( windowsSize.ws_col) ,
33+ static_cast<std::size_t>( windowsSize.ws_row) };
3434 }
3535#endif
3636}
Original file line number Diff line number Diff line change @@ -21,7 +21,7 @@ export namespace CppUtils::Terminal
2121 title.resize(size);
2222 ::GetConsoleTitleW(std::data(title), size);
2323 return title;
24- #elif defined(OS_MAC ) or defined(OS_LINUX )
24+ #elif defined(OS_LINUX ) or defined(OS_MACOS )
2525 /*
2626 using namespace std::literals;
2727
@@ -41,7 +41,7 @@ export namespace CppUtils::Terminal
4141 {
4242#if defined(OS_WINDOWS)
4343 ::SetConsoleTitleW(std::data(title));
44- #elif defined(OS_MAC ) or defined(OS_LINUX )
44+ #elif defined(OS_LINUX ) or defined(OS_MACOS )
4545 std::print("\x1B]0;{}\a", title);
4646 std::fflush(stdout);
4747#endif
You can’t perform that action at this time.
0 commit comments