/liborigin

Primary LanguageC++GNU General Public License v3.0GPL-3.0

liborigin, standalone version
---------------------

This code is a standalone library for reading OriginLab project files.

It is based on the code at
	http://sourceforge.net/projects/liborigin
	http://soft.proindependent.com/liborigin2

Additionally, some fixes were applied to silence UBSan warnings caused by
uninitialised POD struct members.

AUTHORS:  Knut Franke, Miquel Garriga, Stefan Gerlach, Alex Kargovsky, Russell Standish, Ion Vasilief

DEPENDENCIES: tree.hh (included) http://tree.phi-sci.com/

---------------------------------------------------------------------------
COMPILING: liborigin uses CMake for the building process.
		CMake is available at http://www.cmake.org/

After installing CMake on your system, issue the following commands:
	$ mkdir build
	$ cd build
	$ cmake ..
	$ make
	$ make install

This will compile and install:
	a shared and a static version of liborigin library
	opj2dat, a program to extract data tables of an origin project into ASCII .dat files
	liborigin.pc a pkg-config metadata file to get compiler and linker flags
	c++ devel headers

Individual components (origin-static, origin, opj2dat, or doc) can be generated and installed by requesting
a specific target on the make command line.
For example:
	$ make origin-static
builds the static liborigin.a library only. Then:
	$ make install
installs the c++ devel headers, liborigin.pc, and liborigin.a

Doc generation requires doxygen (http://doxygen.org)

To include liborigin in a project using cmake add
	find_package(PkgConfig)
	pkg_check_modules(liborigin liborigin=>3.0.0)
	target_link_libraries( my_target ${liborigin_LIBRARIES} )
	target_include_directories( my_target PUBLIC ${liborigin_INCLUDE_DIRS} )
to the project CMakeLists.txt file.

To include liborigin in a project using qmake add
	CONFIG += link_pkgconfig
	PKGCONFIG += liborigin
to the project.pro file.

Logging of origin file parsing process is deactivated by default.
To enable it define a GENERATE_CODE_FOR_LOG variable at the cmake command:
    $ cmake -DGENERATE_CODE_FOR_LOG=1 ..

---------------------------------------------------------------------------
FEATURES:
	* supports the import of any project from version 3.5 to latest (2017)
	* includes a pkg-config metadata file

---------------------------------------------------------------------------
EXAMPLES:
	* opj2dat (included) extracts the data tables of an origin project file into dat files