Commit Graph

16 Commits

Author SHA1 Message Date
David Turner
e13391333f Make macros for header file names optional.
We no longer have to take care of the 8.3 file name limit; this
allows us (a) to introduce longer, meaningful file names, and (b) to
avoid macro names in `#include' lines altogether since some
compilers (most notably Visual C++) doesn't support this properly.

*/*: Replace

   #include FOO_H

with

   #include <freetype/foo.h>

or something similar.  Also update the documentation.
2020-06-08 13:31:55 +02:00
Werner Lemberg
e5038be704 Update all copyright notices. 2020-01-19 17:05:19 +01:00
Werner Lemberg
3de1b8d0b0 [cmake] Add brotli support.
* CMakeLists.txt (FT_WITH_BROTLI): New option.

* builds/cmake/FindBrotliDec.cmake: New file.
2019-09-05 14:10:01 +02:00
Werner Lemberg
bbb14361db FindHarfBuzz.cmake: Change indentation to two spaces; shorten lines. 2019-09-05 12:38:17 +02:00
Werner Lemberg
7585997024 Update all copyright notices. 2019-02-23 10:07:09 +01:00
Werner Lemberg
f686ad46a3 Update copyright years. 2019-01-22 20:31:44 +01:00
Nikolaus Waxweiler
029721d69c Modernize CMake build.
* CMakeLists.txt, builds/cmake/FindHarfBuzz.cmake: Extensive
  modernization measures.

* .gitignore: Add build/, as that's the example directory used in
  CMakeLists.txt.

This brings up the minimum required CMake version to 2.8.12.

The installation paths follow the GNU defaults now, e.g. installing on a
64 bit host will place binaries into the lib64/ folder on e.g. Fedora.

Symbols are hidden by default (e.g. `-fvisibility=hidden' on GCC).

CMake will no longer look for a C++ compiler.

Library and .so version now match the Autotools build.

Comments in the build file and informational messages now use platform
agnostic example commands.

ftoption.h and ftconfig.h are written directly without a redundant
`-new' copy.

External dependencies are expressed as option()s and will turn up as
such in cmake-gui.

Internal: Properties such as dependencies and include directories are
now privately set on the freetype library instead of globally.

The CPack definitions have been cleaned up, the `make dist' has been
removed. Source packages generated with CPack don't contain Autotools
files and aren't used by the maintainters anyway.

On Windows, src/base/ftver.rc is compiled to decorate the library with
version and copyright information.

A pkg-config file is now generated and installed.
2018-04-10 22:31:10 +01:00
Werner Lemberg
0a0c22569d Update copyright year. 2018-01-02 09:33:57 +01:00
Werner Lemberg
563ae78022 Update copyright year. 2017-01-04 20:16:34 +01:00
Werner Lemberg
10265db114 Fix CMake issues for iOS (patch #8941).
* CMakeLists.txt (CMAKE_TOOLCHAIN_FILE): Fix directory.
* builds/cmake/iOS.cmake: No longer enforce gcc.
2016-03-11 06:50:23 +01:00
Werner Lemberg
9adeab6452 Update copyright year. 2016-01-13 11:54:10 +01:00
Tamas Kenez
30fdfe6c66 [cmake] Add script to test the config module.
* builds/cmake/testbuild.sh: New file.
2015-11-27 23:16:08 +01:00
Tamas Kenez
4854df62f7 [cmake] Make `FindHarfbuzz' observe the REQUIRED option.
* builds/cmake/FindHarfBuzz.cmake: Implement it.
2015-11-27 07:04:31 +01:00
Werner Lemberg
5b3446b012 [cmake] Collect files specific to cmake in `builds/cmake'.
* builds/FindHarfBuzz.cmake: Move to ...
* builds/cmake/FindHarfBuzz.cmake: ... this place.

* CMakeLists.txt (CMAKE_MODULE_PATH): Updated.
2015-11-27 06:47:13 +01:00
Werner Lemberg
f57fc59e01 Run `src/tools/update-copyright'. 2015-01-17 20:41:43 +01:00
Werner Lemberg
54306f5a9f [cmake] Add iOS build support.
* builds/cmake/iOS.cmake: New file.  Universal binaries are built
with both 32 and 64 bit arm architectures.

* CMakeLists.txt (IOS_PLATFORM): New variable for running the iOS
toolchain.  Possible values are `OS' to build on iOS, or
`SIMULATOR' to build on APPLE.
2014-10-18 10:42:28 +02:00