FTXUI 7.0.3
C++ functional terminal UI.
Loading...
Searching...
No Matches
Conan

FTXUIは、Conanパッケージマネージャーを使用して簡単に取得し、プロジェクトに統合できます。

前提条件

まず、Conanがシステムにインストールされていることを確認してください。インストールされていない場合は、pip経由でインストールできます。

pip install conan

ConanはCMakeと連携することが多いため、CMakeもインストールする必要があります。ConanとCMakeの両方がインストールされていることを確認したら、例えば ftxui-demo というプロジェクトディレクトリを作成します。

mkdir C:\ftxui-demo
cd C:\ftxui-demo

設定

環境が正しくセットアップされていることを確認したら、Conan構成ファイル conanfile.txt を作成します。このファイルは、プロジェクトの依存関係を宣言するために使用されます。FTXUIのコミュニティが管理するパッケージは、Conan Center で見つけることができます。

Note
これは非公式のビルドスクリプトです。つまり、FTXUIチームではなく コミュニティによってメンテナンスされています。パッケージメンテナーは、最新のリリースに 積極的に更新しているようです。メンテナーの皆様に深く感謝いたします!

FTXUIはリポジトリのルートに独自のconanfile.pyも同梱しており、コミットごとにCIでテストされています。それ自体はConan Centerには公開されていませんが、conan create .を使ってローカルのチェックアウトから直接FTXUIを利用でき、公式のConan Centerレシピの基礎としても利用できます。

Todo
このプロセスに詳しい方は、Conan Centerに「公式」ビルドスクリプトを追加することをご検討ください。 これは、新しいリリース時にConan Centerを自動的に更新するGitHub Actionになるかもしれません。
[requires]
ftxui/6.0.2
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout

依存関係のインストールとビルド

設定が完了したら、次のコマンドを実行してFTXUIとその依存関係をインストールします。

conan install . --output-folder=build --build=missing

これにより、ftxui/6.0.2 とそのすべての依存関係がConanのリモートリポジトリからダウンロードおよびインストールされます。

インストールが完了したら、プロジェクトディレクトリに demo.cpp ファイルを作成してテストできます。

#include <iostream>
int main() {
using namespace ftxui;
auto document = hbox({
text(" Hello "),
text("FTXUI ") | bold | color(Color::Red),
text(" world! ")
});
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document);
std::cout << screen.ToString() << std::endl;
return 0;
}
FTXUI ftxui::名前空間
Definition animation.hpp:11

テストが成功したら、プロジェクトディレクトリに CMakeLists.txt ファイルを作成できます。

cmake_minimum_required(VERSION 3.20)
project(ftxui-demo)
# Set the C++ standard
set(CMAKE_CXX_STANDARD 20)
# Find the FTXUI package installed via Conan
find_package(ftxui CONFIG REQUIRED)
# Create the executable
add_executable(demo demo.cpp)
# Link the executable to the FTXUI library
target_link_libraries(demo PRIVATE ftxui::component)
Todo
中国大陆在这方面的下载可能会受限制,需要一个替代的方案

前へ
入門