Compare commits

...

1 Commits

2 changed files with 51 additions and 25 deletions

View File

@ -18,17 +18,15 @@ Terminal User Interface for file browsing using ftxui
learndir/ learndir/
└── FTXUI/ └── FTXUI/
└── joomer-ftxui-file-browser/ └── joomer-ftxui-file-browser/
└── vcpkg/
``` ```
## Ubuntu Linux (kasm-ubuntu) ## Ubuntu Linux
``` ```
mkdir learndir mkdir learndir
cd learndir cd learndir
git clone https://github.com/ArthurSonzogni/FTXUI git clone https://github.com/ArthurSonzogni/FTXUI
cd FTXUI mkdir -p FTXUI/build
mkdir build cd FTXUI/build
cd build
cmake .. cmake ..
cmake --build . --config Release cmake --build . --config Release
cd ../.. cd ../..
@ -38,24 +36,26 @@ make all
bin/Linux/release/joomer-ftxui-file-browser bin/Linux/release/joomer-ftxui-file-browser
``` ```
## Windows (win10 enterprise) ## Windows
- Download Visual Studio Community Edition 2022 - Download Visual Studio Community Edition
- Run VisualStudioSetup.exe - Run VisualStudioSetup.exe
- Workload = [x] Desktop developemnt with C++ - Workload = [x] Desktop development with C++
- Individial components = [x] Git For Windows - Individual components = [x] Git For Windows
Run **x64 Native Tools Command Prompt for VS 2022** Run **x64 Native Tools Command Prompt for VS**
``` ```
mkdir learndir mkdir learndir
cd learndir cd learndir
git clone https://github.com/microsoft/vcpkg git clone https://github.com/ArthurSonzogni/FTXUI
cd vcpkg mkdir -p FTXUI\build
vcpkg install ftxui:x64-windows --triplet x64-windows cd FTXUI\build
cd .. cmake ..
cmake --build . --config Release
cd ..\..
git clone https://git.indoodle.com/jason/joomer-ftxui-file-browser.git git clone https://git.indoodle.com/jason/joomer-ftxui-file-browser.git
cd joomer-ftxui-file-browser cd joomer-ftxui-file-browser
msbuild joomer-ftxui-file-browser.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x64 msbuild joomer-ftxui-file-browser.vcxproj
bin\Debug\joomer-ftxui-file-browser.exe bin\Release\joomer-ftxui-file-browser.exe
``` ```

View File

@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="17.0"> <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="17.0">
<PropertyGroup>
<Configuration Condition="'$(Configuration)'==''">Release</Configuration>
<Platform Condition="'$(Platform)'==''">x64</Platform>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64"> <ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
@ -23,10 +27,15 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration"> <PropertyGroup Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug' and '$(Platform)'=='x64'">
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release' and '$(Platform)'=='x64'">
<UseDebugLibraries>false</UseDebugLibraries>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" /> <ImportGroup Label="ExtensionSettings" />
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
@ -35,6 +44,11 @@
<OutDir>$(SolutionDir)bin\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)obj\$(Configuration)\</IntDir> <IntDir>$(SolutionDir)obj\$(Configuration)\</IntDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release' and '$(Platform)'=='x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)obj\$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug' and '$(Platform)'=='x64'"> <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug' and '$(Platform)'=='x64'">
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
@ -43,20 +57,32 @@
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard>stdcpp20</LanguageStandard>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<AdditionalIncludeDirectories>..\FTXUI\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(SolutionDir)\..\FTXUI\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(SolutionDir)\..\FTXUI\build\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>ftxui-component.lib;ftxui-dom.lib;ftxui-screen.lib;msvcprtd.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>ftxui-component.lib;ftxui-dom.lib;ftxui-screen.lib;msvcprtd.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup>
<PostBuildEvent> <ItemDefinitionGroup Condition="'$(Configuration)'=='Release' and '$(Platform)'=='x64'">
<Command>echo Post-build event started &amp; <ClCompile>
echo Post-build event finished</Command> <WarningLevel>Level3</WarningLevel>
</PostBuildEvent> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp20</LanguageStandard>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<AdditionalIncludeDirectories>$(SolutionDir)\..\FTXUI\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>false</GenerateDebugInformation>
<AdditionalLibraryDirectories>$(SolutionDir)\..\FTXUI\build\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>ftxui-component.lib;ftxui-dom.lib;ftxui-screen.lib;msvcprt.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="joomer-ftxui-file-browser.cpp" /> <ClCompile Include="joomer-ftxui-file-browser.cpp" />