# fougue/fougtools

Usefuls tools for C++, Qt and Open Cascade
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc
examples
qmake
scripts
src
utest
.gitignore
.travis.yml

# FougTools: Handy C++ libraries

This is FougTools v0.7dev

FougTools is a collection of utility libraries for the C++ language, Qt and Open Cascade toolkits.

Check doxygen generated documentation at: http://www.fougsys.fr/projects/fougtools_doc

# Building FougTools

Create a file named _local_config.pri in the folder where FougTools will be built and define the following variables, depending on your needs:

    # Everything will be installed here
PREFIX_DIR = /opt/lib/fougtools/install

# Build static libraries (use "+= shared_libs" for DLLs)
CONFIG += static_libs

# If you want to build occtools (optional)
CONFIG += occtools
occtools:CONFIG(debug, debug|release) {
# Path to build directory of OpenCascade(debug)
} else {
# Path to build directory of OpenCascade(release)
}

# If you want to build unit tests and examples
CONFIG += build_utest  build_examples


Or use Ruby configure script qmake/configure.rb. It will generate the _local_config.pri file for you, see help with:

    ruby $FOUGTOOLS/qmake/configure.rb -h  Note that on Windows, qmake complains about deprecated support of backslash '' characters. So you may have to escape backslashes like C:\\path\\to\\opencascade or simply use Unix separators instead C:/path/to/opencascade Once configuration is done, then type:  qmake -r$FOUGTOOLS/qmake/fougtools.pro
(n)make
(n)make install


# Coding style

The coding style is borrowed from Qt-Creator: http://doc-snapshot.qt-project.org/qtcreator-extending/coding-style.html

With these exceptions:

• Formatting/Capitalizing Identifiers: namespace names begin with a lower case letter
• Use this pattern for pimpl class:
       class Foo
{
public:
Foo();
// API ...

private:
class Private;
Private* const d;
};


This has the advantage to not have to forward declare the Private class outside Foo

# How to report a bug

If you think you have found a bug in FougTools, we would like to hear about it so that we can fix it. The FougTools bug tracking system is open to the public at https://github.com/fougsys/fougtools/issues.

Before reporting a bug, please use the bug-tracker's search functions to see if the issue is already known.

Always include the following information in your bug report: the name and version number of your compiler; the name and version number of your operating system; the version of FougTools you are using, and what configure options it was compiled with.

If the problem you are reporting is only visible at run-time, try to create a small test program that shows the problem when run.