mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 20:20:06 +00:00
Add freetype-gl for SDF fonts
This commit is contained in:
parent
82b265b6d4
commit
ec8e2643ff
5 changed files with 107 additions and 0 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
|
@ -10,3 +10,6 @@
|
||||||
[submodule "external/hsluv-c"]
|
[submodule "external/hsluv-c"]
|
||||||
path = external/hsluv-c
|
path = external/hsluv-c
|
||||||
url = https://github.com/hsluv/hsluv-c.git
|
url = https://github.com/hsluv/hsluv-c.git
|
||||||
|
[submodule "external/freetype-gl"]
|
||||||
|
path = external/freetype-gl
|
||||||
|
url = https://github.com/rougier/freetype-gl.git
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ include(${PROJECT_SOURCE_DIR}/external/cmake-conan/conan.cmake)
|
||||||
conan_cmake_configure(REQUIRES boost/1.76.0
|
conan_cmake_configure(REQUIRES boost/1.76.0
|
||||||
freetype/2.10.4
|
freetype/2.10.4
|
||||||
geographiclib/1.52
|
geographiclib/1.52
|
||||||
|
glew/2.2.0
|
||||||
glm/0.9.9.8
|
glm/0.9.9.8
|
||||||
gtest/cci.20210126
|
gtest/cci.20210126
|
||||||
openssl/1.1.1k
|
openssl/1.1.1k
|
||||||
|
|
|
||||||
2
external/CMakeLists.txt
vendored
2
external/CMakeLists.txt
vendored
|
|
@ -4,8 +4,10 @@ set(PROJECT_NAME scwx-external)
|
||||||
set_property(DIRECTORY
|
set_property(DIRECTORY
|
||||||
APPEND
|
APPEND
|
||||||
PROPERTY CMAKE_CONFIGURE_DEPENDS
|
PROPERTY CMAKE_CONFIGURE_DEPENDS
|
||||||
|
freetype-gl.cmake
|
||||||
hsluv-c.cmake
|
hsluv-c.cmake
|
||||||
mapbox-gl-native.cmake)
|
mapbox-gl-native.cmake)
|
||||||
|
|
||||||
|
include(freetype-gl.cmake)
|
||||||
include(hsluv-c.cmake)
|
include(hsluv-c.cmake)
|
||||||
include(mapbox-gl-native.cmake)
|
include(mapbox-gl-native.cmake)
|
||||||
|
|
|
||||||
1
external/freetype-gl
vendored
Submodule
1
external/freetype-gl
vendored
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 1cbe5518844db279174b24e6529135870c396744
|
||||||
100
external/freetype-gl.cmake
vendored
Normal file
100
external/freetype-gl.cmake
vendored
Normal file
|
|
@ -0,0 +1,100 @@
|
||||||
|
cmake_minimum_required(VERSION 3.11)
|
||||||
|
set(PROJECT_NAME scwx-freetype-gl)
|
||||||
|
|
||||||
|
find_package(OpenGL REQUIRED)
|
||||||
|
find_package(Freetype REQUIRED)
|
||||||
|
find_package(GLEW REQUIRED)
|
||||||
|
|
||||||
|
set(freetype-gl_WITH_GLEW ON)
|
||||||
|
set(freetype-gl_WITH_GLAD OFF)
|
||||||
|
set(freetype-gl_USE_VAO ON)
|
||||||
|
set(freetype-gl_BUILD_DEMOS OFF)
|
||||||
|
set(freetype-gl_BUILD_APIDOC ON)
|
||||||
|
set(freetype-gl_BUILD_HARFBUZZ OFF)
|
||||||
|
set(freetype-gl_BUILD_MAKEFONT ON)
|
||||||
|
set(freetype-gl_BUILD_TESTS OFF)
|
||||||
|
set(freetype-gl_BUILD_SHARED OFF)
|
||||||
|
|
||||||
|
set(FREETYPE_GL_HDR freetype-gl/distance-field.h
|
||||||
|
freetype-gl/edtaa3func.h
|
||||||
|
freetype-gl/font-manager.h
|
||||||
|
freetype-gl/freetype-gl.h
|
||||||
|
freetype-gl/markup.h
|
||||||
|
freetype-gl/opengl.h
|
||||||
|
freetype-gl/platform.h
|
||||||
|
freetype-gl/text-buffer.h
|
||||||
|
freetype-gl/texture-atlas.h
|
||||||
|
freetype-gl/texture-font.h
|
||||||
|
freetype-gl/utf8-utils.h
|
||||||
|
freetype-gl/ftgl-utils.h
|
||||||
|
freetype-gl/vec234.h
|
||||||
|
freetype-gl/vector.h
|
||||||
|
freetype-gl/vertex-attribute.h
|
||||||
|
freetype-gl/vertex-buffer.h
|
||||||
|
freetype-gl/freetype-gl-errdef.h)
|
||||||
|
set(FREETYPE_GL_SRC freetype-gl/distance-field.c
|
||||||
|
freetype-gl/edtaa3func.c
|
||||||
|
freetype-gl/font-manager.c
|
||||||
|
freetype-gl/platform.c
|
||||||
|
freetype-gl/text-buffer.c
|
||||||
|
freetype-gl/texture-atlas.c
|
||||||
|
freetype-gl/texture-font.c
|
||||||
|
freetype-gl/utf8-utils.c
|
||||||
|
freetype-gl/ftgl-utils.c
|
||||||
|
freetype-gl/vector.c
|
||||||
|
freetype-gl/vertex-attribute.c
|
||||||
|
freetype-gl/vertex-buffer.c)
|
||||||
|
|
||||||
|
include(CheckLibraryExists)
|
||||||
|
check_library_exists(m cos "" HAVE_MATH_LIBRARY)
|
||||||
|
|
||||||
|
if(HAVE_MATH_LIBRARY)
|
||||||
|
list(APPEND CMAKE_REQUIRED_LIBRARIES m)
|
||||||
|
set(MATH_LIBRARY m)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(freetype-gl_BUILD_APIDOC)
|
||||||
|
add_subdirectory(freetype-gl/doc)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(freetype-gl_BUILD_SHARED)
|
||||||
|
add_library(freetype-gl SHARED ${FREETYPE_GL_SRC}
|
||||||
|
${FREETYPE_GL_HDR})
|
||||||
|
set_target_properties(freetype-gl PROPERTIES VERSION 0.3.2 SOVERSION 0)
|
||||||
|
target_link_libraries(freetype-gl PRIVATE opengl::opengl
|
||||||
|
Freetype::Freetype
|
||||||
|
${MATH_LIBRARY}
|
||||||
|
GLEW::GLEW)
|
||||||
|
else()
|
||||||
|
add_library(freetype-gl STATIC ${FREETYPE_GL_SRC}
|
||||||
|
${FREETYPE_GL_HDR})
|
||||||
|
target_link_libraries(freetype-gl PUBLIC opengl::opengl
|
||||||
|
Freetype::Freetype
|
||||||
|
${MATH_LIBRARY}
|
||||||
|
GLEW::GLEW)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(freetype-gl_BUILD_MAKEFONT)
|
||||||
|
add_executable(makefont freetype-gl/makefont.c)
|
||||||
|
target_link_libraries(makefont freetype-gl
|
||||||
|
GLEW::GLEW)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(freetype-gl_USE_VAO)
|
||||||
|
target_compile_definitions(freetype-gl PRIVATE FREETYPE_GL_USE_VAO)
|
||||||
|
target_compile_definitions(makefont PRIVATE FREETYPE_GL_USE_VAO)
|
||||||
|
endif(freetype-gl_USE_VAO)
|
||||||
|
|
||||||
|
if(MSVC)
|
||||||
|
target_compile_definitions(freetype-gl PRIVATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_DEPRECATE)
|
||||||
|
target_compile_definitions(makefont PRIVATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_DEPRECATE)
|
||||||
|
endif(MSVC)
|
||||||
|
|
||||||
|
set(FTGL_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE)
|
||||||
|
|
||||||
|
set_target_properties(doc PROPERTIES EXCLUDE_FROM_ALL True)
|
||||||
|
set_target_properties(makefont PROPERTIES EXCLUDE_FROM_ALL True)
|
||||||
|
|
||||||
|
set_target_properties(freetype-gl PROPERTIES FOLDER ftgl)
|
||||||
|
set_target_properties(makefont PROPERTIES FOLDER ftgl)
|
||||||
|
set_target_properties(doc PROPERTIES FOLDER ftgl)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue