third_party_harfbuzz/replace-enum-strings.cmake
Chun-wei Fan 53db221259 CMake: Support building HarfBuzz-GObject
This adds support to the CMake build files to support building
HarfBuzz-GObject, which is actually a little bit complicated,
as we need to:

-Run glib-mkenums, which is a Python (for newer GLib/GObject) or PERL
 (for older, pre 2.53.4, GLib/GObject) script.  This matters more for
 Visual Studio builds as shebang lines are not supported, so we need to
 test-run it with PERL or Python to determine which is the correct
 interpretor to use.

-Next, we need to replace strings in the sources that we obtain from
 running glib-mkenums.  So, the solution here is to use a small utility
 CMake script for our purposes here, to maintain maximum compatibility.

-Ensure that things do work in the Visual Studio IDE builds.
2017-10-18 23:48:11 +08:00

21 lines
352 B
CMake

# CMake script to replace items
# in sources generated by glib-mkenums
FILE(READ ${ENUM_INPUT_SRC} enum_in)
STRING(REPLACE
"_t_get_type"
"_get_type"
enum_out_tmp
"${enum_in}"
)
STRING(REPLACE
"_T ("
" ("
enum_out
"${enum_out_tmp}"
)
FILE(WRITE ${ENUM_OUTPUT_SRC} "${enum_out}")
FILE(REMOVE ${ENUM_INPUT_SRC})