Closed amitdo closed 2 years ago
BTW, it does not look right to me to install a file with _internal
in its name.
The header files with _internal
provide internal details of Leptonica structures.
Formerly those internal details were included with allheaders.h
. Programs like the Tesseract training tools, but also others, could easily access member variables directly without using the available accessor functions. The drawback of that approach was that changing the internal details of Leptonica structures was difficult because it made modified versions of the Leptonica library incompatible.
Now programs which only include allheaders.h
(and files included from that header file) are safe when Leptonica structures like struct Pix
or struct Box
are modified. They will also work with a newer Leptonica shared library Only programs which continue to use internal information by including _internal
header files have a close dependency on compatible Leptonica library versions at run time.
Cmake (and sw) never were official build systems. People contribute their needs. They may differ from usual make behavior.
This difference in behavior between the build systems is bad. We talked about this in the past (liblept vs. libleptonica, which Dan recently fixed).
I think project rules should be defined in some doc so all build systems will try to follow them:
DanBloomberg/leptonica@e8b670d9357c78a6
DanBloomberg/leptonica@29a33a364848f67d0
You didn't do the same for cmake/sw.