CMakeLists.txt 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. set(SAMPLE_NAME "harfbuzz")
  2. set(TARGET_NAME "${RMLUI_SAMPLE_PREFIX}${SAMPLE_NAME}")
  3. add_executable(${TARGET_NAME} WIN32
  4. src/FontEngineInterfaceHarfBuzz.cpp
  5. src/FontEngineInterfaceHarfBuzz.h
  6. src/FontFace.cpp
  7. src/FontFace.h
  8. src/FontFaceHandleHarfBuzz.cpp
  9. src/FontFaceHandleHarfBuzz.h
  10. src/FontFaceLayer.cpp
  11. src/FontFaceLayer.h
  12. src/FontFamily.cpp
  13. src/FontFamily.h
  14. src/FontGlyph.h
  15. src/FontProvider.cpp
  16. src/FontProvider.h
  17. src/FreeTypeInterface.cpp
  18. src/FreeTypeInterface.h
  19. src/LanguageData.h
  20. src/TextureLayout.cpp
  21. src/TextureLayout.h
  22. src/TextureLayoutRectangle.cpp
  23. src/TextureLayoutRectangle.h
  24. src/TextureLayoutRow.cpp
  25. src/TextureLayoutRow.h
  26. src/TextureLayoutTexture.cpp
  27. src/TextureLayoutTexture.h
  28. src/main.cpp
  29. )
  30. set_common_target_options(${TARGET_NAME})
  31. target_link_libraries(${TARGET_NAME} PRIVATE rmlui_shell Freetype::Freetype harfbuzz::harfbuzz)
  32. # Use private Core headers as a workaround for now, until we merge the HarfBuzz font engine into Core.
  33. target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/Source/Core)
  34. # Remove this check once the HarfBuzz font engine has been merged into Core.
  35. if(WIN32 AND BUILD_SHARED_LIBS)
  36. message(FATAL_ERROR "The HarfBuzz sample cannot be built when using shared libraries on Windows. Please disable either BUILD_SHARED_LIBS or RMLUI_HARFBUZZ_SAMPLE.")
  37. endif()
  38. install_sample_target(${TARGET_NAME})