initial release
This commit is contained in:
+7
-11
@@ -1,10 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# cp tft_create /usr/local/bin
|
|
||||||
|
|
||||||
cd src
|
|
||||||
|
|
||||||
language='
|
language='
|
||||||
-std=c++17
|
-std=c++17
|
||||||
-fno-rtti
|
-fno-rtti
|
||||||
@@ -17,22 +13,22 @@ optimizations='
|
|||||||
-Ofast
|
-Ofast
|
||||||
-flto
|
-flto
|
||||||
-fipa-pta
|
-fipa-pta
|
||||||
-fallow-store-data-races
|
|
||||||
-fgcse-sm
|
-fgcse-sm
|
||||||
-fgcse-las
|
-fgcse-las
|
||||||
-march=native'
|
-march=native'
|
||||||
|
|
||||||
warnings='
|
warnings='
|
||||||
-Wall
|
-Wall
|
||||||
-Wextra
|
-Wextra'
|
||||||
-Wpedantic
|
# -Wpedantic' #-fanalyzer
|
||||||
-Wmultiple-inheritance
|
|
||||||
-Wvirtual-inheritance' #-fanalyzer
|
|
||||||
|
|
||||||
|
|
||||||
other='-fno-fat-lto-objects'
|
other='-fno-fat-lto-objects'
|
||||||
|
|
||||||
g++ -o tft $language $optimizations $warnings $other -DNDEBUG -pipe -s tft.cpp tree.cpp person.cpp utils.cpp -lncursesw
|
cd src
|
||||||
|
|
||||||
|
g++ -o tft $language $optimizations $warnings $other -DNDEBUG -pipe -s *.cpp -lncursesw
|
||||||
|
#-static -lncursesw -ltinfo
|
||||||
|
|
||||||
chmod 775 tft
|
chmod 775 tft
|
||||||
exec mv tft /usr/local/bin
|
exec mv tft /usr/local/bin
|
||||||
#-static -lncursesw -ltinfo
|
|
||||||
|
|||||||
+53
@@ -0,0 +1,53 @@
|
|||||||
|
tft - Terminal Family Tree
|
||||||
|
|
||||||
|
tft can create and display family trees on the terminal.
|
||||||
|
|
||||||
|
|
||||||
|
HOW TO CREATE:
|
||||||
|
|
||||||
|
Trees are created using the tft file format, for example this tft file:
|
||||||
|
|
||||||
|
# This is a comment
|
||||||
|
Adam, M # Adam is a male
|
||||||
|
|
||||||
|
Eve, F
|
||||||
|
s: Adam # Eve's spouse is Adam
|
||||||
|
|
||||||
|
Cain, M
|
||||||
|
p: Adam, Eve # Cain's parents are Adam and Eve
|
||||||
|
|
||||||
|
Abel, M
|
||||||
|
p: - # Abel's parents are the same as the last person's (Cain)
|
||||||
|
|
||||||
|
Seth, M
|
||||||
|
p: -
|
||||||
|
|
||||||
|
|
||||||
|
Will produce:
|
||||||
|
|
||||||
|
├──────┬┬─────┐
|
||||||
|
│ ││ │
|
||||||
|
│ Adam ││ Eve │
|
||||||
|
│ ││ │
|
||||||
|
├──────┘└─────┘
|
||||||
|
│
|
||||||
|
├────────┬────────┐
|
||||||
|
│ │ │
|
||||||
|
├──────┐ ├──────┐ ├──────┐
|
||||||
|
│ │ │ │ │ │
|
||||||
|
│ Cain │ │ Abel │ │ Seth │
|
||||||
|
│ │ │ │ │ │
|
||||||
|
└──────┘ └──────┘ └──────┘
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
HOW TO INSTALL:
|
||||||
|
|
||||||
|
Make sure you have permissons and execute:
|
||||||
|
git clone https://gitlab.com/venelin98/tft.git
|
||||||
|
./install.sh
|
||||||
|
|
||||||
|
|
||||||
|
HOW TO USE:
|
||||||
|
|
||||||
|
tft ${MY_TFT_FILE}
|
||||||
+11
-11
@@ -1,15 +1,15 @@
|
|||||||
#include <ncursesw/ncurses.h>
|
/* #include <ncursesw/ncurses.h> */
|
||||||
#include "tree.hpp"
|
/* #include "tree.hpp" */
|
||||||
#include "utils.hpp"
|
/* #include "utils.hpp" */
|
||||||
|
|
||||||
#include "user_tree.hpp"
|
/* #include "user_tree.hpp" */
|
||||||
|
|
||||||
int main()
|
/* int main() */
|
||||||
{
|
/* { */
|
||||||
init();
|
/* init(); */
|
||||||
|
|
||||||
create_tree();
|
/* create_tree(); */
|
||||||
|
|
||||||
endwin(); /* stop ncursers */
|
/* endwin(); /\* stop ncursers *\/ */
|
||||||
return 0;
|
/* return 0; */
|
||||||
}
|
/* } */
|
||||||
|
|||||||
-30
@@ -1,30 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
if [ "$1" = '' ]
|
|
||||||
then
|
|
||||||
echo 'The first argument needs to be the tree file'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
tree_file="$(realpath "$1")"
|
|
||||||
start_dir="$PWD"
|
|
||||||
script_dir="$(dirname $(readlink -f $0))"
|
|
||||||
|
|
||||||
cd "$script_dir/src"
|
|
||||||
|
|
||||||
language='
|
|
||||||
-std=c++17
|
|
||||||
-fno-rtti
|
|
||||||
-fno-exceptions
|
|
||||||
-fno-non-call-exceptions
|
|
||||||
-fno-common'
|
|
||||||
# force each global variable to be only defined once
|
|
||||||
|
|
||||||
warnings='-Wall -Wextra -Wpedantic' #-fanalyzer
|
|
||||||
|
|
||||||
cp -f "$tree_file" user_tree.hpp
|
|
||||||
g++ -o "$start_dir/${1%.*}.tft" $language $warnings -march=native -DNDEBUG -pipe -g create_tree.cpp tree.cpp person.cpp utils.cpp -lncursesw
|
|
||||||
rm user_tree.hpp
|
|
||||||
cd "$start_dir"
|
|
||||||
exec "./${1%.*}.tft"
|
|
||||||
Reference in New Issue
Block a user