mirror of https://github.com/Chlumsky/msdfgen.git
parent
d07fa1d2c8
commit
22b3055247
168
CMakeLists.txt
168
CMakeLists.txt
|
|
@ -1,7 +1,7 @@
|
||||||
cmake_minimum_required(VERSION 3.10)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
|
|
||||||
project(msdfgen VERSION 1.8 LANGUAGES CXX)
|
project(msdfgen VERSION 1.9 LANGUAGES CXX)
|
||||||
option(MSDFGEN_BUILD_MSDFGEN_STANDALONE "Build the msdfgen standalone executable" ON)
|
option(MSDFGEN_BUILD_STANDALONE "Build the msdfgen standalone executable" ON)
|
||||||
option(MSDFGEN_USE_OPENMP "Build with OpenMP support for multithreaded code" OFF)
|
option(MSDFGEN_USE_OPENMP "Build with OpenMP support for multithreaded code" OFF)
|
||||||
option(MSDFGEN_USE_CPP11 "Build with C++11 enabled" ON)
|
option(MSDFGEN_USE_CPP11 "Build with C++11 enabled" ON)
|
||||||
option(MSDFGEN_USE_SKIA "Build with the Skia library" OFF)
|
option(MSDFGEN_USE_SKIA "Build with the Skia library" OFF)
|
||||||
|
|
@ -15,117 +15,97 @@ if(NOT TARGET Freetype::Freetype)
|
||||||
find_package(Freetype REQUIRED)
|
find_package(Freetype REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#----------------------------------------------------------------
|
file(GLOB_RECURSE msdfgen-core_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
# Gathering File
|
"core/*.h"
|
||||||
#----------------------------------------------------------------
|
"core/*.hpp"
|
||||||
|
|
||||||
file(GLOB_RECURSE msdfgen_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
"core/*.h"
|
|
||||||
"core/*.hpp"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
file(GLOB_RECURSE msdfgen_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
file(GLOB_RECURSE msdfgen-core_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
"core/*.cpp"
|
"core/*.cpp"
|
||||||
)
|
)
|
||||||
|
|
||||||
file(GLOB_RECURSE msdfgen-ext_PUBLIC_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
file(GLOB_RECURSE msdfgen-ext_PUBLIC_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
"ext/*.h"
|
"ext/*.h"
|
||||||
"ext/*.hpp"
|
"ext/*.hpp"
|
||||||
)
|
)
|
||||||
|
|
||||||
file(GLOB_RECURSE msdfgen-ext_PRIVATE_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
file(GLOB_RECURSE msdfgen-ext_PRIVATE_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
"include/*.h"
|
"include/*.h"
|
||||||
)
|
)
|
||||||
|
|
||||||
file(GLOB_RECURSE msdfgen-ext_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
file(GLOB_RECURSE msdfgen-ext_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
"ext/*.cpp"
|
"ext/*.cpp"
|
||||||
"lib/*.cpp"
|
"lib/*.cpp"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Build the library (aliased name because it's the same target name the exe)
|
|
||||||
include(folderize)
|
include(folderize)
|
||||||
folderize_sources(msdfgen_HEADERS ${CMAKE_SOURCE_DIR})
|
folderize_sources(msdfgen-core_HEADERS ${CMAKE_SOURCE_DIR})
|
||||||
folderize_sources(msdfgen_SOURCES ${CMAKE_SOURCE_DIR})
|
folderize_sources(msdfgen-core_SOURCES ${CMAKE_SOURCE_DIR})
|
||||||
folderize_sources(msdfgen-ext_PUBLIC_HEADERS ${CMAKE_SOURCE_DIR})
|
folderize_sources(msdfgen-ext_PUBLIC_HEADERS ${CMAKE_SOURCE_DIR})
|
||||||
folderize_sources(msdfgen-ext_PRIVATE_HEADERS ${CMAKE_SOURCE_DIR})
|
folderize_sources(msdfgen-ext_PRIVATE_HEADERS ${CMAKE_SOURCE_DIR})
|
||||||
folderize_sources(msdfgen-ext_SOURCES ${CMAKE_SOURCE_DIR})
|
folderize_sources(msdfgen-ext_SOURCES ${CMAKE_SOURCE_DIR})
|
||||||
|
|
||||||
#----------------------------------------------------------------
|
# Core library
|
||||||
# Target configuration
|
add_library(msdfgen-core ${msdfgen-core_SOURCES} ${msdfgen-core_HEADERS} "./msdfgen.h")
|
||||||
#----------------------------------------------------------------
|
add_library(msdfgen::msdfgen-core ALIAS msdfgen-core)
|
||||||
|
set_target_properties(msdfgen-core PROPERTIES PUBLIC_HEADER "${msdfgen-core_HEADERS}")
|
||||||
add_library(msdfgen ${msdfgen_SOURCES} ${msdfgen_HEADERS} "./msdfgen.h")
|
target_include_directories(msdfgen-core INTERFACE
|
||||||
add_library(msdfgen::msdfgen ALIAS msdfgen)
|
$<INSTALL_INTERFACE:include/msdfgen>
|
||||||
set_target_properties(msdfgen PROPERTIES PUBLIC_HEADER "${msdfgen_HEADERS}")
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/>
|
||||||
target_include_directories(msdfgen INTERFACE
|
|
||||||
$<INSTALL_INTERFACE:include>
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/>
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if(MSDFGEN_USE_CPP11)
|
if(MSDFGEN_USE_CPP11)
|
||||||
target_compile_features(msdfgen PUBLIC cxx_std_11)
|
target_compile_features(msdfgen-core PUBLIC cxx_std_11)
|
||||||
target_compile_definitions(msdfgen PUBLIC MSDFGEN_USE_CPP11)
|
target_compile_definitions(msdfgen-core PUBLIC MSDFGEN_USE_CPP11)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MSDFGEN_USE_OPENMP)
|
if(MSDFGEN_USE_OPENMP)
|
||||||
# Note: Clang doesn't support OpenMP by default...
|
# Note: Clang doesn't support OpenMP by default...
|
||||||
find_package(OpenMP REQUIRED COMPONENTS CXX)
|
find_package(OpenMP REQUIRED COMPONENTS CXX)
|
||||||
target_link_libraries(msdfgen PRIVATE OpenMP::OpenMP_CXX)
|
target_link_libraries(msdfgen-core PUBLIC OpenMP::OpenMP_CXX)
|
||||||
target_compile_definitions(msdfgen PRIVATE MSDFGEN_USE_OPENMP)
|
target_compile_definitions(msdfgen-core PUBLIC MSDFGEN_USE_OPENMP)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Extensions library
|
||||||
|
add_library(msdfgen-ext ${msdfgen-ext_SOURCES} ${msdfgen-ext_PUBLIC_HEADERS} ${msdfgen-ext_PRIVATE_HEADERS} "./msdfgen-ext.h")
|
||||||
|
add_library(msdfgen::msdfgen-ext ALIAS msdfgen-ext)
|
||||||
|
set_target_properties(msdfgen-ext PROPERTIES PUBLIC_HEADER "${msdfgen-ext_PUBLIC_HEADERS}")
|
||||||
|
target_link_libraries(msdfgen-ext PUBLIC msdfgen::msdfgen-core Freetype::Freetype)
|
||||||
|
target_include_directories(msdfgen-ext
|
||||||
|
PUBLIC
|
||||||
|
$<INSTALL_INTERFACE:include/msdfgen>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/>
|
||||||
|
PRIVATE
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
||||||
|
)
|
||||||
|
|
||||||
|
if(FREETYPE_WITH_PNG)
|
||||||
|
find_package(ZLIB REQUIRED)
|
||||||
|
find_package(PNG REQUIRED)
|
||||||
|
target_link_libraries(msdfgen-ext PUBLIC ZLIB::ZLIB PNG::PNG)
|
||||||
|
endif()
|
||||||
|
if(FREETYPE_WITH_HARFBUZZ)
|
||||||
|
# No FindHarfBuzz.cmake available so falling back to CMAKE_LIBRARY_PATH
|
||||||
|
find_library(FREETYPE_HARFBUZZ_LIB "harfbuzz")
|
||||||
|
target_link_libraries(msdfgen-ext PUBLIC "${FREETYPE_HARFBUZZ_LIB}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MSDFGEN_USE_SKIA)
|
if(MSDFGEN_USE_SKIA)
|
||||||
find_package(Skia REQUIRED)
|
find_package(Skia REQUIRED)
|
||||||
target_link_libraries(msdfgen-ext PRIVATE Skia::Skia)
|
target_link_libraries(msdfgen-ext PUBLIC Skia::Skia)
|
||||||
target_compile_definitions(msdfgen-ext PUBLIC MSDFGEN_USE_SKIA)
|
target_compile_definitions(msdfgen-ext PUBLIC MSDFGEN_USE_SKIA)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_library(msdfgen-ext ${msdfgen-ext_SOURCES} ${msdfgen-ext_PUBLIC_HEADERS} ${msdfgen-ext_PRIVATE_HEADERS} "./msdfgen-ext.h")
|
# Standalone executable
|
||||||
add_library(msdfgen::msdfgen-ext ALIAS msdfgen-ext)
|
if(MSDFGEN_BUILD_STANDALONE)
|
||||||
set_target_properties(msdfgen-ext PROPERTIES
|
add_executable(msdfgen main.cpp)
|
||||||
PUBLIC_HEADER "${msdfgen-ext_PUBLIC_HEADERS}"
|
target_compile_definitions(msdfgen PUBLIC MSDFGEN_STANDALONE)
|
||||||
)
|
target_link_libraries(msdfgen PUBLIC msdfgen::msdfgen-core msdfgen::msdfgen-ext)
|
||||||
target_link_libraries(msdfgen-ext PUBLIC msdfgen::msdfgen Freetype::Freetype)
|
|
||||||
target_include_directories(msdfgen-ext
|
|
||||||
PUBLIC
|
|
||||||
$<INSTALL_INTERFACE:include>
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/>
|
|
||||||
|
|
||||||
PRIVATE
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
||||||
)
|
|
||||||
|
|
||||||
target_compile_definitions(msdfgen-ext PUBLIC MSDFGEN_CMAKE_BUILD)
|
|
||||||
|
|
||||||
if(MSDFGEN_USE_CPP11)
|
|
||||||
target_compile_features(msdfgen-ext PUBLIC cxx_std_11)
|
|
||||||
target_compile_definitions(msdfgen-ext PUBLIC MSDFGEN_USE_CPP11)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Build the executable if requested
|
# Installation
|
||||||
if(MSDFGEN_BUILD_MSDFGEN_STANDALONE)
|
|
||||||
add_executable(msdfgen-standalone main.cpp)
|
|
||||||
set_target_properties(msdfgen-standalone PROPERTIES ARCHIVE_OUTPUT_DIRECTORY archive OUTPUT_NAME msdfgen)
|
|
||||||
target_compile_definitions(msdfgen-standalone PRIVATE MSDFGEN_STANDALONE)
|
|
||||||
target_link_libraries(msdfgen-standalone PRIVATE msdfgen::msdfgen msdfgen::msdfgen-ext)
|
|
||||||
|
|
||||||
if(FREETYPE_WITH_PNG)
|
|
||||||
find_package(ZLIB REQUIRED)
|
|
||||||
find_package(PNG REQUIRED)
|
|
||||||
target_link_libraries(msdfgen-standalone PRIVATE ZLIB::ZLIB PNG::PNG)
|
|
||||||
endif()
|
|
||||||
if(FREETYPE_WITH_HARFBUZZ)
|
|
||||||
# No FindHarfBuzz.cmake available so falling back to CMAKE_LIBRARY_PATH
|
|
||||||
find_library(FREETYPE_HARFBUZZ_LIB "harfbuzz")
|
|
||||||
target_link_libraries(msdfgen-standalone PRIVATE "${FREETYPE_HARFBUZZ_LIB}")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
# Installation and exportation of the libraries
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
|
|
||||||
if(MSDFGEN_INSTALL)
|
if(MSDFGEN_INSTALL)
|
||||||
|
include(GNUInstallDirs)
|
||||||
include(CMakePackageConfigHelpers)
|
include(CMakePackageConfigHelpers)
|
||||||
set(MSDFGEN_CONFIG_PATH "lib/cmake/msdfgen")
|
set(MSDFGEN_CONFIG_PATH "lib/cmake/msdfgen")
|
||||||
|
|
||||||
|
|
@ -150,26 +130,26 @@ if(MSDFGEN_INSTALL)
|
||||||
@ONLY
|
@ONLY
|
||||||
)
|
)
|
||||||
|
|
||||||
install(TARGETS msdfgen EXPORT msdfgenTargets
|
install(TARGETS msdfgen-core EXPORT msdfgenTargets
|
||||||
RUNTIME DESTINATION bin
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
LIBRARY DESTINATION lib
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
ARCHIVE DESTINATION lib
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
FRAMEWORK DESTINATION lib
|
FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
PUBLIC_HEADER DESTINATION include/msdfgen/core
|
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/msdfgen/core
|
||||||
)
|
)
|
||||||
|
|
||||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/msdfgen.h" "${CMAKE_CURRENT_SOURCE_DIR}/msdfgen-ext.h" DESTINATION include/msdfgen)
|
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/msdfgen.h" "${CMAKE_CURRENT_SOURCE_DIR}/msdfgen-ext.h" DESTINATION include/msdfgen)
|
||||||
|
|
||||||
install(TARGETS msdfgen-ext EXPORT msdfgenTargets
|
install(TARGETS msdfgen-ext EXPORT msdfgenTargets
|
||||||
RUNTIME DESTINATION bin
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
LIBRARY DESTINATION lib
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
ARCHIVE DESTINATION lib
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
FRAMEWORK DESTINATION lib
|
FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
PUBLIC_HEADER DESTINATION include/msdfgen/ext
|
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/msdfgen/ext
|
||||||
)
|
)
|
||||||
|
|
||||||
if(MSDFGEN_BUILD_MSDFGEN_STANDALONE)
|
if(MSDFGEN_BUILD_STANDALONE)
|
||||||
install(TARGETS msdfgen-standalone EXPORT msdfgenTargets DESTINATION bin)
|
install(TARGETS msdfgen EXPORT msdfgenTargets DESTINATION bin)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
install(
|
install(
|
||||||
|
|
|
||||||
|
|
@ -238,6 +238,7 @@
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<AdditionalLibraryDirectories>freetype/win$(PlatformArchitecture);skia/win$(PlatformArchitecture)/debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>freetype/win$(PlatformArchitecture);skia/win$(PlatformArchitecture)/debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<AdditionalDependencies>freetype.lib;skia.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Library|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Library|Win32'">
|
||||||
|
|
@ -271,6 +272,7 @@
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<AdditionalLibraryDirectories>freetype/win$(PlatformArchitecture);skia/win$(PlatformArchitecture)/debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>freetype/win$(PlatformArchitecture);skia/win$(PlatformArchitecture)/debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<AdditionalDependencies>freetype.lib;skia.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Library|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Library|x64'">
|
||||||
|
|
@ -303,6 +305,7 @@
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<AdditionalLibraryDirectories>freetype/win$(PlatformArchitecture);skia/win$(PlatformArchitecture)/release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>freetype/win$(PlatformArchitecture);skia/win$(PlatformArchitecture)/release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
<GenerateDebugInformation>No</GenerateDebugInformation>
|
<GenerateDebugInformation>No</GenerateDebugInformation>
|
||||||
|
<AdditionalDependencies>freetype.lib;skia.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release OpenMP|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release OpenMP|Win32'">
|
||||||
|
|
@ -323,6 +326,7 @@
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<AdditionalLibraryDirectories>freetype/win$(PlatformArchitecture);skia/win$(PlatformArchitecture)/release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>freetype/win$(PlatformArchitecture);skia/win$(PlatformArchitecture)/release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
<GenerateDebugInformation>No</GenerateDebugInformation>
|
<GenerateDebugInformation>No</GenerateDebugInformation>
|
||||||
|
<AdditionalDependencies>freetype.lib;skia.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Library|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Library|Win32'">
|
||||||
|
|
@ -389,6 +393,7 @@
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<AdditionalLibraryDirectories>freetype/win$(PlatformArchitecture);skia/win$(PlatformArchitecture)/release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>freetype/win$(PlatformArchitecture);skia/win$(PlatformArchitecture)/release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||||
|
<AdditionalDependencies>freetype.lib;skia.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release OpenMP|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release OpenMP|x64'">
|
||||||
|
|
@ -409,6 +414,7 @@
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<AdditionalLibraryDirectories>freetype/win$(PlatformArchitecture);skia/win$(PlatformArchitecture)/release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>freetype/win$(PlatformArchitecture);skia/win$(PlatformArchitecture)/release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||||
|
<AdditionalDependencies>freetype.lib;skia.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Library|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Library|x64'">
|
||||||
|
|
|
||||||
|
|
@ -473,7 +473,7 @@ void edgeColoringByDistance(Shape &shape, double angleThreshold, unsigned long l
|
||||||
edgeMatrix[i] = &edgeMatrixStorage[i*splineCount];
|
edgeMatrix[i] = &edgeMatrixStorage[i*splineCount];
|
||||||
int nextEdge = 0;
|
int nextEdge = 0;
|
||||||
for (; nextEdge < graphEdgeCount && !*graphEdgeDistances[nextEdge]; ++nextEdge) {
|
for (; nextEdge < graphEdgeCount && !*graphEdgeDistances[nextEdge]; ++nextEdge) {
|
||||||
int elem = graphEdgeDistances[nextEdge]-distanceMatrixBase;
|
int elem = (int) (graphEdgeDistances[nextEdge]-distanceMatrixBase);
|
||||||
int row = elem/splineCount;
|
int row = elem/splineCount;
|
||||||
int col = elem%splineCount;
|
int col = elem%splineCount;
|
||||||
edgeMatrix[row][col] = 1;
|
edgeMatrix[row][col] = 1;
|
||||||
|
|
@ -483,7 +483,7 @@ void edgeColoringByDistance(Shape &shape, double angleThreshold, unsigned long l
|
||||||
std::vector<int> coloring(2*splineCount);
|
std::vector<int> coloring(2*splineCount);
|
||||||
colorSecondDegreeGraph(&coloring[0], &edgeMatrix[0], splineCount, seed);
|
colorSecondDegreeGraph(&coloring[0], &edgeMatrix[0], splineCount, seed);
|
||||||
for (; nextEdge < graphEdgeCount; ++nextEdge) {
|
for (; nextEdge < graphEdgeCount; ++nextEdge) {
|
||||||
int elem = graphEdgeDistances[nextEdge]-distanceMatrixBase;
|
int elem = (int) (graphEdgeDistances[nextEdge]-distanceMatrixBase);
|
||||||
tryAddEdge(&coloring[0], &edgeMatrix[0], splineCount, elem/splineCount, elem%splineCount, &coloring[splineCount]);
|
tryAddEdge(&coloring[0], &edgeMatrix[0], splineCount, elem/splineCount, elem%splineCount, &coloring[splineCount]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,6 @@
|
||||||
#include FT_FREETYPE_H
|
#include FT_FREETYPE_H
|
||||||
#include FT_OUTLINE_H
|
#include FT_OUTLINE_H
|
||||||
|
|
||||||
#if defined(_WIN32) && !defined(MSDFGEN_CMAKE_BUILD)
|
|
||||||
#pragma comment(lib, "freetype.lib")
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace msdfgen {
|
namespace msdfgen {
|
||||||
|
|
||||||
#define REQUIRE(cond) { if (!(cond)) return false; }
|
#define REQUIRE(cond) { if (!(cond)) return false; }
|
||||||
|
|
|
||||||
|
|
@ -9,10 +9,6 @@
|
||||||
#include "../core/edge-segments.h"
|
#include "../core/edge-segments.h"
|
||||||
#include "../core/Contour.h"
|
#include "../core/Contour.h"
|
||||||
|
|
||||||
#if defined(_WIN32) && !defined(MSDFGEN_CMAKE_BUILD)
|
|
||||||
#pragma comment(lib, "skia.lib")
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace msdfgen {
|
namespace msdfgen {
|
||||||
|
|
||||||
SkPoint pointToSkiaPoint(Point2 p) {
|
SkPoint pointToSkiaPoint(Point2 p) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue