University project educational-purpose simple (and naive!) FAT File System Implementation.
I personally used Laynux and Clang, but I'm sure there are ways to build and run project on Windows as well, but I do not have time to test it on a real Windows machine.
-
Download and install CMake for your operating system from its website.
-
Clone/download project: If you have installed git on your computer, execute following command:
git clone git@github.com:xeptore/simple-fat-fs.git
This will download the repository. Then you can navigate to project's root directory by executing following command:
cd simple-fat-fs
If you do not have git, you can download repository from here. Then extract the archive file and navigate to project's root directory.
-
Install a compiler: You can use any compiler you'd like, I personally prefer Clang, but you can use GCC if you'd like to. To download Clang go to its official website and download the correct compiler for your operating system. If you are on Linux machine, you can install it, if it's not already installed, using your distribution package manager.
-
Run CMake in the project's directory to generate
Makefile
- Using command line:
cmake -S . -B build
If it throws error on failure to find compiler, change compiler path in
CMakeLists.txt
file viaCMAKE_C_COMPILER
variable value.This will create a
build
subdirectory in project's root directory which contains files and directories alongsideMakefile
. Execute following command to compile project:make --directory=build
This command will generate
simple-fat
executable file inbuild/
directory which is the main application executable, if succeeded.
You can execute simple-fat
executable with --help
option to see all possible commands, their options and each option limitations in details.
Alongside simple-fat
executable file, there are other executables named in format _test_<lib_name>
, e.g., _test_fat
and _test_directory
, which are testing executables and can be run separately from each other. Each one executes tests on its own library.
Also there are files in src/
directory which are named in format <lib_name>_test.c
that contain tests for <lib_name>
library.