Menu

Tree [7369ca] master /
 History

HTTPS access


File Date Author Commit
 .HatchKeeper_Data_90 2023-08-25 mill-j mill-j [1f9268] Linux 0.90.0 Commit, Updated Changelog
 Platforms 2023-09-30 mill-j mill-j [7369ca] 0.90.0 On Mac
 doc 2023-04-09 mill-j mill-j [869419] More Updates For 0.90 Also Delayed Hiding Batch...
 headers 2023-03-21 mill-j mill-j [9ce3db] Update More Stuff To 0.90
 src 2023-04-09 mill-j mill-j [869419] More Updates For 0.90 Also Delayed Hiding Batch...
 Changelog.txt 2023-08-25 mill-j mill-j [1f9268] Linux 0.90.0 Commit, Updated Changelog
 HatchKeeper.cpp 2023-04-09 mill-j mill-j [869419] More Updates For 0.90 Also Delayed Hiding Batch...
 HatchKeeper.h 2023-06-18 mill-j mill-j [4cf450] Update Hatched Checkbox On Startup
 HatchKeeper.rc 2023-03-21 mill-j mill-j [9ce3db] Update More Stuff To 0.90
 MacMakefile 2023-09-30 mill-j mill-j [7369ca] 0.90.0 On Mac
 Makefile 2023-08-25 mill-j mill-j [1f9268] Linux 0.90.0 Commit, Updated Changelog
 README.md 2023-09-30 mill-j mill-j [7369ca] 0.90.0 On Mac
 WinMakefile 2023-03-22 mill-j mill-j [b08c22] Windows Updates
 gpl-3.0.txt 2019-11-26 mill-j mill-j [a8613c] Initial Commit

Read Me

HatchKeeper

HatchKeeper is an open-source cross-platform program that keeps track of
egg incubation. HatchKeeper currently runs on Linux, Windows and macOS.
For more help see the HatchKeeper Manual. To file a bug report or if you
have a patch, comment or question, see the forum and tickets on our
SourceForge page or visit our
homepage.

License:

See gpl-3.0.txt

Setting up on Linux:

HatchKeeper is now avalible as an AppImage. If this doesnt work
for you, it is possible to extract HatchKeeper with ./*.AppImage
--appimage-extract, this will work as a portable app or you can
manually install it.

To use as a portable app just extract the AppImage and give
HatchKeeper execute permission. Make sure that .HatchKeeper_Data_*
has read and write permission.

Or Just copy HatchKeeper_ to /usr/bin and copy .HatchKeeper_Data_
to you home folder. Make sure you have the right permissions.
run HatchKeeper_* to launch

NOTE: beginning with version 0.75.0 hatchkeeperd will no longer
be available, use the built-in notifications instead.

Setting up on Windows:

HatchKeeper for windows is avalible as a portable app or an
install.

For the portable version: Just run the self-extracting .exe
file extract to the location of your choice. Double-click
HatchKeeper.exe to run your app.

For the installer: Run the installer, then launch from the Start
Menu.

Before uninstalling HatchKeeper on Windows, right-click the
HatchKeeper icon notification area on the Taskbar and select
Exit Completely before running the uninstaller.

Setting up on Mac:

On Mac right-click the .dmg installer. Select open and then
select open in the warning dialog. In Finder drag HatchKeeper to
the Applications shortcut in the same directory.

To uninstall, Navigate to /Applications with Finder, Right-
Click HatchKeeper. Select Move To Trash.

To set HatchKeeper to start at login: Open HatchKeeper, right-
click the HatchKeeper icon in the Dock, select Options >
Start At Login.

Compiling HatchKeeper

Dependecies:

G++ and Make:

wxWidgets

wxFreeChart,
You can manually specfiy NO_GRAPH and edit out the wxFreeChart library
in the makefiles to eliminate the wxFreeChart dependency.

SQLite3

TinyXML2

On Windows:

Compiler

Download and install TDM GCC 10.3.0.

wxWidgets

You don't need to build wxWidgets on Windows if you use a supported compiler.
wxWidgets 3.2.2 ships binaries
and headers
for TDM GCC 10.3.0.

Simply extract the wxWidgets binaries and headers into a folder and you
are ready to build wxFreeChart.

If the binaries mentioned above do not work for you. You'll need to build a copy of
wxWidgets 3.2.2. Extract source to a folder of your choice.
Next open build\msw\config.gcc in a text editor and modify some
lines to look like this:

# Standard flags for C++ 
CXXFLAGS ?= "--std=gnu++11"

# What type of library to build? [0,1]
SHARED ?= 1

# Type of compiled binaries [,release]
BUILD ?= release

# Should debugging info be included in the executables? The default value
# "default" means that debug info will be included if BUILD=debug
# and not included if BUILD=release. [0,1,default]
DEBUG_INFO ?= 0

# Value of wxDEBUG_LEVEL. The default value is the same as 1 and means that all
# but expensive assert checks are enabled, use 0 to completely remove debugging
# code. [0,1,default]
DEBUG_FLAG ?= 1

# Version of C runtime library to use. You can change this to
# static if SHARED=0, but it is highly recommended to not do
# it if SHARED=1 unless you know what you are doing. [dynamic,static]
RUNTIME_LIBS ?= dynamic

Next cd to build\msw\ and run:

mingw32-make -f makefile.gcc SHELL=CMD
wxFreeChart

Either git clone or download a zip of the latest wxFreeChart master, cd
into \build and run:

mingw32-make -f makefile.gcc WX_DIR=..\..\wxWidgets-3.2.2 WX_VERSION=32  WX_UNICODE=1 WX_DEBUG=0 WX_SHARED=1 SHELL=CMD

Make sure WX_DIR points to your wxWidgets install. Once it builds copy
the /lib/wxcode*.dll file to the root of the HatchKeeper source.

SQLite3

Download the latest amalgamation version of the source code, cd into it and run:

mingw32-gcc -c sqlite3.c
TinyXML

Download the latest version of the source code, cd into it and run:

mingw32-gcc -c tinyxml2.cpp
Configure HatchKeeper

Open WinMakfile in your text editor and edit the dependencies variables
to match their locations on your computer:

#Dependencies
WXPATH := ..\wxWidgets-3.2.2
XMLPATH := ..\tinyxml2-8.0.0
SQLPATH := ..\sqlite3
CHARTPATH := ..\wxFreeChart

Finally build HatchKeeper by cd into the directory and run:

 mingw32-make -f WinMakefile SHELL=CMD

Copy the following files from wxWidgets\lib into the root of HatchKeeper source.
Note: Filenames might be slightly different if wxWidgets is built from source
i.e custom instead of gcc1030TDM.

wxbase32u_gcc1030TDM.dll
wxmsw32u_adv_gcc1030TDM.dll
wxmsw32u_aui_gcc1030TDM.dll
wxmsw32u_core_gcc1030TDM.dll
wxmsw32u_html_gcc1030TDM.dll

To build an installer you'll need to install NSIS and the
AccessControl plug-in.
Copy the HatchInstaller.nsi file from Platforms/Windows to the root of
the HatchKeeper source and compile it with the nsis compiler, this will
produce an installable .exe installer in the root of the source.

On Linux.

Install Dependencies

g++/gcc
make
libnotify-dev
libsqlite3-dev
libtinyxml2-dev
libgtk-3-dev

wxWidgets 3.2.2

Download wxWidgets 3.2.2
Extract and cd into the wxWidgets source and run:

./configure --disable-shared
make
sudo make install
wxFreeChart

Git clone wxFreeChart, cd into the source and run:

./configure

Make sure the summary specifies wx 3.2.2 static than run:

make
sudo make install
Building HatchKeeper

Cd into source and run:

make
AppImage

To package as an AppImage you'll need to download the
appimagetool.
Copy the HatchKeeper executable and the HatchKeeper_Data_ folder to
Platforms/Linux/HatchKeeper_v
.AppDir. Cd into Platforms/Linux and run

chmod +x ./HatchKeeper_v*.AppDir/AppRun 
<path-to-appimagetool> -n ./HatchKeeper_v*.AppDir. 

The AppImage should be found in Platforms/Linux.

On Mac.

Assuming you have the Command Line Tools For Xcode Installed. Open a terminal
and run these commands.

You can also build HatchKeeper for macOS under Linux via Darling.
After installing Darling on Linux, run

darling shell
xcode-select --install

Then continue to build HatchKeeper from within the Darling shell on Linux.
You will not be able to test HatchKeeper on Darling since Darling currently
doesn't support GUI applications.

wxWidgets
export SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
./configure --with-macosx-sdk=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk --disable-shared --without-libtiff CPPFLAGS=-mmacosx-version-min=10.10 CFLAGS=-mmacosx-version-min=10.10
make
sudo make install
wxFreeChart
export SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
./configure CPPFLAGS=-mmacosx-version-min=10.10 CFLAGS=-mmacosx-version-min=10.10
make
SQLite3

Download the latest amalgamation version of the source code, cd into it and run:

gcc -mmacosx-version-min=10.10 -c sqlite3.c -o sqlite3.o
TinyXML

Download the latest version of the source code, cd into it and run:

gcc -mmacosx-version-min=10.10 -c tinyxml2.cpp -o tinyxml2.o
Building HatchKeeper

Open MacMakefile in your text editor and edit the dependencies variables
to match their locations on your computer:

#Dependencies
XMLPATH := ..\tinyxml2-8.0.0
SQLPATH := ..\sqlite3
CHARTPATH := ../wxFreeChart

And run:

make -f MacMakefile

The finished product will be called HatchKeeper.app. Copy this to
/Applications to install.

Documentation

User Documentation

For user documentation, check https://hatchkeeper.sourceforge.io/help

Developer Documentation

HatchKeeper source is documented with doxygen. Make sure you have doxygen
installed and run:

cd ./doc
doxygen ./Doxyfile

Open ./html/index.html with your favorite web browser.