From c8d22319e7442e115477784758bf99652a6e0598 Mon Sep 17 00:00:00 2001 From: Harvey Fong Date: Tue, 6 Jan 2026 18:31:29 +0000 Subject: [PATCH] 2026 cleanup pass, modernized for Linux, MacOS..win half done --- README.md | 104 +++++++++++++++++++++++++++++------------------------- 1 file changed, 56 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index d206116..342769e 100644 --- a/README.md +++ b/README.md @@ -16,65 +16,73 @@ It is a modern C++ library that provides a functional approach to building termi ``` workdir/ -├── FXTUI/ +├── FTXUI/ ├── poomer-fxtui-modal_select/ +└── cmake/ (macos) +``` + +## Ubuntu Linux x64 +``` +mkdir workdir && cd workdir +mkdir FTXUI poomer-ftxui-modal_select && cd FTXUI +git clone https://github.com/ArthurSonzogni/FTXUI . +cmake -B ./build +cmake --build ./build -j$(nproc) +[OPTIONAL] cmake -B ./build -DFTXUI_BUILD_EXAMPLES=ON +cd ../poomer-ftxui-modal_select +git clone https://git.indoodle.com/oomer/poomer-ftxui-modal_select.git . +g++ poomer-ftxui-modal_select.cpp -o poomer-ftxui-modal_select -std=c++17 -I../FTXUI/include/ -L../FTXUI/build -lftxui-component -lftxui-dom -lftxui-screen -I. +./poomer-ftxui-modal_select ``` ## MacOS - ``` -mkdir workdir -cd workdir -git clone https://github.com/ArthurSonzogni/FTXUI -cd FXTUI -mkdir build -cd build -/Applications/CMake.app/Contents/bin/cmake -DFTXUI_BUILD_EXAMPLES=ON .. -make -cd ../.. -git clone https://github.com/oomer/poomer-fxtui-modal_select.git -cd poomer-fxtui-modal_select +# Install xcode +xcode-select --install + +mkdir workdir && cd workdir +mkdir cmake FTXUI poomer-ftxui-modal_select && cd FTXUI + +# Build cmake +cd cmake +git clone https://github.com/Kitware/CMake.git . +./configure +make -j$(sysctl -n hw.ncpu) + +# Build ftxui +cd ../FTXUI +git clone https://github.com/ArthurSonzogni/FTXUI . +../cmake/bin/cmake -B ./build +../cmake/bin/cmake --build ./build -j$(sysctl -n hw.ncpu) +cd ../poomer-ftxui-modal_select +git clone https://git.indoodle.com/oomer/poomer-ftxui-modal_select.git . g++ poomer-ftxui-modal_select.cpp -o poomer-ftxui-modal_select -std=c++17 -I../FTXUI/include/ -L../FTXUI/build -lftxui-component -lftxui-dom -lftxui-screen -I. +./poomer-ftxui-modal_select ``` -## Linux -``` -mkdir workdir -cd workdir -git clone https://github.com/ArthurSonzogni/FTXUI -cd FXTUI -mkdir build -cd build -cmake .. -[OPTIONAL] cmake -DFTXUI_BUILD_EXAMPLES=ON .. -make -cd ../.. -git clone https://github.com/oomer/poomer-fxtui-modal_select.git -cd poomer-fxtui-modal_select -g++ poomer-ftxui-modal_select.cpp -o poomer-ftxui-modal_select -std=c++17 -I../FTXUI/include/ -L../FTXUI/build -lftxui-component -lftxui-dom -lftxui-screen -I. -``` +## Windows x64 +- Download Visual Studio Community Edition +- Run VisualStudioSetup.exe +- Workload = [x] Desktop development with C++ +- Individual components = [x] Git For Windows -## Windows -- Install Visual Studio Community 2022 -- Add Desktop development with C++ workload -- Launch x64 Native tools Command Prompt for VS2022 +#### x64 Native Tools for VS +``` +mkdir workdir && cd workdir +mkdir FTXUI poomer-ftxui-modal_select && cd FTXUI + +# Build FTXUI +git clone https://github.com/ArthurSonzogni/FTXUI . +cmake -B ./build --config=release +[OPTIONAL] cmake -B ./build -DFTXUI_BUILD_EXAMPLES=ON +cmake --build ./build -j%NUMBER_OF_PROCESSORS% + +# Build poomer-ftxui-modal-select +cd ../poomer-ftxui-modal_select +git clone https://git.indoodle.com/oomer/poomer-ftxui-modal_select.git . +cl /MD /std:c++17 poomer-ftxui-modal_select.cpp Fe:poomer-ftxui-modal_select.exe /I..\FTXUI\include\ /I. /link ..\FTXUI\build\Release\ftxui-component.lib ..\FTXUI\build\Release\ftxui-screen.lib ..\FTXUI\build\Release\ftxui-dom.lib ``` -mkdir workdir -cd workdir -git clone https://github.com/ArthurSonzogni/FTXUI -cd FXTUI -mkdir build -cd build -cmake .. -[OPTIONAL] cmake -DFTXUI_BUILD_EXAMPLES=ON .. -cmake --build . --config Release -[OTHER] msbuild ftxui.sln /p:Configuration=release /p:Platform=x64 /p:PlatformToolset=v143 -cd ../.. -git clone https://github.com/oomer/poomer-fxtui-modal_select.git -cd poomer-fxtui-modal_select -cl /MD /std:c++17 poomer-ftxui-modal_select.cpp /Fe:poomer-ftxui-modal_select.exe /I..\FTXUI\include\ /I. /link ..\FTXUI\build\Release\ftxui-component.lib ..\FTXUI\build\Release\ftxui-screen.lib ..\FTXUI\build\Release\ftxui-dom.lib -```