mirror of https://github.com/Chlumsky/msdfgen.git
Updated CMake and project files
This commit is contained in:
parent
1b2bee7d8e
commit
4e8ff2321e
|
|
@ -26,3 +26,5 @@ build/
|
||||||
build_xcode/
|
build_xcode/
|
||||||
skia/win32/
|
skia/win32/
|
||||||
skia/win64/
|
skia/win64/
|
||||||
|
/cmake-gen.bat
|
||||||
|
/line-ending-check.bat
|
||||||
|
|
|
||||||
156
CMakeLists.txt
156
CMakeLists.txt
|
|
@ -1,58 +1,47 @@
|
||||||
cmake_minimum_required(VERSION 3.10)
|
|
||||||
|
|
||||||
project(msdfgen VERSION 1.9 LANGUAGES CXX)
|
cmake_minimum_required(VERSION 3.15)
|
||||||
|
|
||||||
|
option(MSDFGEN_CORE_ONLY "Only build the core library with no dependencies" OFF)
|
||||||
option(MSDFGEN_BUILD_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)
|
||||||
option(MSDFGEN_INSTALL "Generate installation target" ON)
|
option(MSDFGEN_INSTALL "Generate installation target" ON)
|
||||||
option(FREETYPE_WITH_PNG "Link libpng and zlib because FreeType is configured to require it" OFF)
|
|
||||||
option(FREETYPE_WITH_HARFBUZZ "Link HarfBuzz because FreeType is configured to require it" OFF)
|
|
||||||
|
|
||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
if(MSDFGEN_CORE_ONLY AND MSDFGEN_BUILD_STANDALONE)
|
||||||
|
message(WARNING "Option MSDFGEN_CORE_ONLY ignored - extensions are required for standalone executable")
|
||||||
|
set(MSDFGEN_CORE_ONLY OFF)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
project(msdfgen VERSION 1.9 LANGUAGES CXX)
|
||||||
|
|
||||||
|
if(NOT CMAKE_MSVC_RUNTIME_LIBRARY)
|
||||||
|
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||||
|
get_directory_property(MSDFGEN_HAS_PARENT PARENT_DIRECTORY)
|
||||||
|
if(MSDFGEN_HAS_PARENT)
|
||||||
|
set(CMAKE_MSVC_RUNTIME_LIBRARY ${CMAKE_MSVC_RUNTIME_LIBRARY} PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT TARGET Freetype::Freetype)
|
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}
|
file(GLOB_RECURSE MSDFGEN_CORE_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "core/*.h" "core/*.hpp")
|
||||||
"core/*.h"
|
file(GLOB_RECURSE MSDFGEN_CORE_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "core/*.cpp")
|
||||||
"core/*.hpp"
|
file(GLOB_RECURSE MSDFGEN_EXT_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "ext/*.h" "ext/*.hpp")
|
||||||
)
|
file(GLOB_RECURSE MSDFGEN_EXT_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "ext/*.cpp" "lib/*.cpp")
|
||||||
|
|
||||||
file(GLOB_RECURSE msdfgen-core_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
"core/*.cpp"
|
|
||||||
)
|
|
||||||
|
|
||||||
file(GLOB_RECURSE msdfgen-ext_PUBLIC_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
"ext/*.h"
|
|
||||||
"ext/*.hpp"
|
|
||||||
)
|
|
||||||
|
|
||||||
file(GLOB_RECURSE msdfgen-ext_PRIVATE_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
"include/*.h"
|
|
||||||
)
|
|
||||||
|
|
||||||
file(GLOB_RECURSE msdfgen-ext_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
"ext/*.cpp"
|
|
||||||
"lib/*.cpp"
|
|
||||||
)
|
|
||||||
|
|
||||||
include(folderize)
|
|
||||||
folderize_sources(msdfgen-core_HEADERS ${CMAKE_SOURCE_DIR})
|
|
||||||
folderize_sources(msdfgen-core_SOURCES ${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_SOURCES ${CMAKE_SOURCE_DIR})
|
|
||||||
|
|
||||||
# Core library
|
# Core library
|
||||||
add_library(msdfgen-core ${msdfgen-core_SOURCES} ${msdfgen-core_HEADERS} "./msdfgen.h")
|
add_library(msdfgen-core "${CMAKE_CURRENT_SOURCE_DIR}/msdfgen.h" ${MSDFGEN_CORE_HEADERS} ${MSDFGEN_CORE_SOURCES})
|
||||||
add_library(msdfgen::msdfgen-core ALIAS msdfgen-core)
|
add_library(msdfgen::msdfgen-core ALIAS msdfgen-core)
|
||||||
set_target_properties(msdfgen-core PROPERTIES PUBLIC_HEADER "${msdfgen-core_HEADERS}")
|
set_target_properties(msdfgen-core PROPERTIES PUBLIC_HEADER "${MSDFGEN_CORE_HEADERS}")
|
||||||
|
#set_property(TARGET msdfgen-core PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||||
target_include_directories(msdfgen-core INTERFACE
|
target_include_directories(msdfgen-core INTERFACE
|
||||||
$<INSTALL_INTERFACE:include/msdfgen>
|
$<INSTALL_INTERFACE:include/msdfgen>
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/>
|
||||||
)
|
)
|
||||||
|
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT msdfgen-core)
|
||||||
|
|
||||||
if(MSDFGEN_USE_CPP11)
|
if(MSDFGEN_USE_CPP11)
|
||||||
target_compile_features(msdfgen-core PUBLIC cxx_std_11)
|
target_compile_features(msdfgen-core PUBLIC cxx_std_11)
|
||||||
|
|
@ -62,45 +51,46 @@ 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-core PUBLIC OpenMP::OpenMP_CXX)
|
|
||||||
target_compile_definitions(msdfgen-core PUBLIC MSDFGEN_USE_OPENMP)
|
target_compile_definitions(msdfgen-core PUBLIC MSDFGEN_USE_OPENMP)
|
||||||
|
target_link_libraries(msdfgen-core PUBLIC OpenMP::OpenMP_CXX)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Extensions library
|
# Extensions library
|
||||||
add_library(msdfgen-ext ${msdfgen-ext_SOURCES} ${msdfgen-ext_PUBLIC_HEADERS} ${msdfgen-ext_PRIVATE_HEADERS} "./msdfgen-ext.h")
|
if(NOT MSDFGEN_CORE_ONLY)
|
||||||
add_library(msdfgen::msdfgen-ext ALIAS msdfgen-ext)
|
add_library(msdfgen-ext "${CMAKE_CURRENT_SOURCE_DIR}/msdfgen-ext.h" ${MSDFGEN_EXT_HEADERS} ${MSDFGEN_EXT_SOURCES})
|
||||||
set_target_properties(msdfgen-ext PROPERTIES PUBLIC_HEADER "${msdfgen-ext_PUBLIC_HEADERS}")
|
add_library(msdfgen::msdfgen-ext ALIAS msdfgen-ext)
|
||||||
target_link_libraries(msdfgen-ext PUBLIC msdfgen::msdfgen-core Freetype::Freetype)
|
set_target_properties(msdfgen-ext PROPERTIES PUBLIC_HEADER "${MSDFGEN_EXT_HEADERS}")
|
||||||
target_include_directories(msdfgen-ext
|
target_link_libraries(msdfgen-ext PUBLIC msdfgen::msdfgen-core Freetype::Freetype)
|
||||||
PUBLIC
|
target_include_directories(msdfgen-ext
|
||||||
$<INSTALL_INTERFACE:include/msdfgen>
|
PUBLIC
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/>
|
$<INSTALL_INTERFACE:include/msdfgen>
|
||||||
PRIVATE
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/include
|
PRIVATE
|
||||||
)
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
||||||
|
)
|
||||||
|
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT msdfgen-ext)
|
||||||
|
|
||||||
if(FREETYPE_WITH_PNG)
|
if(MSDFGEN_USE_SKIA)
|
||||||
find_package(ZLIB REQUIRED)
|
find_package(Skia REQUIRED)
|
||||||
find_package(PNG REQUIRED)
|
target_compile_definitions(msdfgen-ext PUBLIC MSDFGEN_USE_SKIA)
|
||||||
target_link_libraries(msdfgen-ext PUBLIC ZLIB::ZLIB PNG::PNG)
|
target_link_libraries(msdfgen-ext PUBLIC Skia::Skia)
|
||||||
endif()
|
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()
|
|
||||||
|
|
||||||
if(MSDFGEN_USE_SKIA)
|
add_library(msdfgen-all INTERFACE)
|
||||||
find_package(Skia REQUIRED)
|
add_library(msdfgen::msdfgen ALIAS msdfgen-all)
|
||||||
target_link_libraries(msdfgen-ext PUBLIC Skia::Skia)
|
target_link_libraries(msdfgen-all INTERFACE msdfgen::msdfgen-core msdfgen::msdfgen-ext)
|
||||||
target_compile_definitions(msdfgen-ext PUBLIC MSDFGEN_USE_SKIA)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Standalone executable
|
# Standalone executable
|
||||||
if(MSDFGEN_BUILD_STANDALONE)
|
if(MSDFGEN_BUILD_STANDALONE)
|
||||||
add_executable(msdfgen main.cpp)
|
set(MSDFGEN_STANDALONE_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/main.cpp")
|
||||||
|
if(MSVC)
|
||||||
|
set(MSDFGEN_STANDALONE_SOURCES ${MSDFGEN_STANDALONE_SOURCES} "${CMAKE_CURRENT_SOURCE_DIR}/msdfgen.rc")
|
||||||
|
endif()
|
||||||
|
add_executable(msdfgen ${MSDFGEN_STANDALONE_SOURCES})
|
||||||
target_compile_definitions(msdfgen PUBLIC MSDFGEN_STANDALONE)
|
target_compile_definitions(msdfgen PUBLIC MSDFGEN_STANDALONE)
|
||||||
target_link_libraries(msdfgen PUBLIC msdfgen::msdfgen-core msdfgen::msdfgen-ext)
|
target_link_libraries(msdfgen PUBLIC msdfgen::msdfgen)
|
||||||
|
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT msdfgen)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Installation
|
# Installation
|
||||||
|
|
@ -137,19 +127,27 @@ if(MSDFGEN_INSTALL)
|
||||||
FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/msdfgen/core
|
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/msdfgen/core
|
||||||
)
|
)
|
||||||
|
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/msdfgen.h" DESTINATION include/msdfgen)
|
||||||
|
|
||||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/msdfgen.h" "${CMAKE_CURRENT_SOURCE_DIR}/msdfgen-ext.h" DESTINATION include/msdfgen)
|
if(NOT MSDFGEN_CORE_ONLY)
|
||||||
|
install(TARGETS msdfgen-ext EXPORT msdfgenTargets
|
||||||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/msdfgen/ext
|
||||||
|
)
|
||||||
|
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/msdfgen-ext.h" DESTINATION include/msdfgen)
|
||||||
|
install(TARGETS msdfgen-all EXPORT msdfgenTargets)
|
||||||
|
endif()
|
||||||
|
|
||||||
install(TARGETS msdfgen-ext EXPORT msdfgenTargets
|
export(EXPORT msdfgenTargets NAMESPACE msdfgen:: FILE "${CMAKE_CURRENT_BINARY_DIR}/msdfgenTargets.cmake")
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
install(EXPORT msdfgenTargets FILE msdfgenTargets.cmake NAMESPACE msdfgen:: DESTINATION ${MSDFGEN_CONFIG_PATH})
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
||||||
FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
||||||
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/msdfgen/ext
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSDFGEN_BUILD_STANDALONE)
|
if(MSDFGEN_BUILD_STANDALONE)
|
||||||
install(TARGETS msdfgen EXPORT msdfgenTargets DESTINATION bin)
|
install(TARGETS msdfgen EXPORT msdfgenBinaryTargets DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||||
|
export(EXPORT msdfgenBinaryTargets NAMESPACE msdfgen-standalone:: FILE "${CMAKE_CURRENT_BINARY_DIR}/msdfgenBinaryTargets.cmake")
|
||||||
|
install(EXPORT msdfgenBinaryTargets FILE msdfgenBinaryTargets.cmake NAMESPACE msdfgen-standalone:: DESTINATION ${MSDFGEN_CONFIG_PATH})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
install(
|
install(
|
||||||
|
|
@ -158,16 +156,4 @@ if(MSDFGEN_INSTALL)
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/msdfgenConfigVersion.cmake"
|
"${CMAKE_CURRENT_BINARY_DIR}/msdfgenConfigVersion.cmake"
|
||||||
DESTINATION ${MSDFGEN_CONFIG_PATH}
|
DESTINATION ${MSDFGEN_CONFIG_PATH}
|
||||||
)
|
)
|
||||||
|
|
||||||
export(
|
|
||||||
EXPORT msdfgenTargets
|
|
||||||
NAMESPACE msdfgen::
|
|
||||||
FILE "${CMAKE_CURRENT_BINARY_DIR}/msdfgenTargets.cmake"
|
|
||||||
)
|
|
||||||
|
|
||||||
install(
|
|
||||||
EXPORT msdfgenTargets FILE msdfgenTargets.cmake
|
|
||||||
NAMESPACE msdfgen::
|
|
||||||
DESTINATION ${MSDFGEN_CONFIG_PATH}
|
|
||||||
)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2016 Viktor Chlumsky
|
Copyright (c) 2016 - 2022 Viktor Chlumsky
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio 14
|
# Visual Studio 14
|
||||||
VisualStudioVersion = 14.0.25420.1
|
VisualStudioVersion = 14.0.25420.1
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Msdfgen", "Msdfgen.vcxproj", "{84BE2D91-F071-4151-BE12-61460464C494}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "msdfgen", "msdfgen.vcxproj", "{84BE2D91-F071-4151-BE12-61460464C494}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<ProjectGuid>{84BE2D91-F071-4151-BE12-61460464C494}</ProjectGuid>
|
<ProjectGuid>{84BE2D91-F071-4151-BE12-61460464C494}</ProjectGuid>
|
||||||
<RootNamespace>Msdfgen</RootNamespace>
|
<RootNamespace>msdfgen</RootNamespace>
|
||||||
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
|
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
|
@ -526,7 +526,7 @@
|
||||||
<ClCompile Include="core\msdfgen.cpp" />
|
<ClCompile Include="core\msdfgen.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="Msdfgen.rc" />
|
<ResourceCompile Include="msdfgen.rc" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Image Include="icon.ico" />
|
<Image Include="icon.ico" />
|
||||||
|
|
|
||||||
|
|
@ -217,7 +217,7 @@
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="Msdfgen.rc">
|
<ResourceCompile Include="msdfgen.rc">
|
||||||
<Filter>Resource Files</Filter>
|
<Filter>Resource Files</Filter>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
# Mirror the folder structure for sources inside the IDE...
|
|
||||||
function(folderize_sources sources prefix)
|
|
||||||
foreach(FILE ${${sources}})
|
|
||||||
get_filename_component(PARENT_DIR "${FILE}" PATH)
|
|
||||||
|
|
||||||
# skip src or include and changes /'s to \\'s
|
|
||||||
string(REPLACE "${prefix}" "" GROUP "${PARENT_DIR}")
|
|
||||||
string(REPLACE "/" "\\" GROUP "${GROUP}")
|
|
||||||
|
|
||||||
# If it's got a path, then append a "\\" separator (otherwise leave it blank)
|
|
||||||
if ("${GROUP}" MATCHES ".+")
|
|
||||||
set(GROUP "\\${GROUP}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
source_group("${GROUP}" FILES "${FILE}")
|
|
||||||
endforeach()
|
|
||||||
endfunction(folderize_sources)
|
|
||||||
|
|
@ -1,12 +1,35 @@
|
||||||
|
|
||||||
include(CMakeFindDependencyMacro)
|
include(CMakeFindDependencyMacro)
|
||||||
|
|
||||||
find_dependency(Freetype REQUIRED)
|
set(MSDFGEN_CORE_ONLY @MSDFGEN_CORE_ONLY@)
|
||||||
|
set(MSDFGEN_USE_OPENMP @MSDFGEN_USE_OPENMP@)
|
||||||
|
set(MSDFGEN_USE_SKIA @MSDFGEN_USE_SKIA@)
|
||||||
|
set(MSDFGEN_STANDALONE_AVAILABLE @MSDFGEN_BUILD_STANDALONE@)
|
||||||
|
|
||||||
set(MSDFGEN_USE_OPENMP "@MSDFGEN_USE_OPENMP@")
|
if(NOT MSDFGEN_CORE_ONLY)
|
||||||
|
find_dependency(Freetype REQUIRED)
|
||||||
|
endif()
|
||||||
|
if(MSDFGEN_USE_SKIA)
|
||||||
|
find_dependency(Skia REQUIRED)
|
||||||
|
endif()
|
||||||
if(MSDFGEN_USE_OPENMP)
|
if(MSDFGEN_USE_OPENMP)
|
||||||
find_dependency(OpenMP REQUIRED COMPONENTS CXX)
|
find_dependency(OpenMP REQUIRED COMPONENTS CXX)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include("${CMAKE_CURRENT_LIST_DIR}/msdfgenTargets.cmake")
|
include("${CMAKE_CURRENT_LIST_DIR}/msdfgenTargets.cmake")
|
||||||
|
|
||||||
unset(MSDFGEN_USE_OPENMP)
|
if(NOT MSDFGEN_CORE_ONLY)
|
||||||
|
if(${CMAKE_VERSION} VERSION_LESS "3.18.0")
|
||||||
|
set_target_properties(msdfgen::msdfgen-all PROPERTIES IMPORTED_GLOBAL TRUE)
|
||||||
|
endif()
|
||||||
|
add_library(msdfgen::msdfgen ALIAS msdfgen::msdfgen-all)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(MSDFGEN_STANDALONE_AVAILABLE)
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/msdfgenBinaryTargets.cmake")
|
||||||
|
if(${CMAKE_VERSION} VERSION_LESS "3.18.0")
|
||||||
|
set_target_properties(msdfgen-standalone::msdfgen PROPERTIES IMPORTED_GLOBAL TRUE)
|
||||||
|
endif()
|
||||||
|
add_executable(msdfgen::msdfgen-run ALIAS msdfgen-standalone::msdfgen)
|
||||||
|
set(MSDFGEN_EXECUTABLE "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@/msdfgen@CMAKE_EXECUTABLE_SUFFIX@")
|
||||||
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
|
set(SKIA_LIB_DIR "${CMAKE_CURRENT_LIST_DIR}/win64")
|
||||||
|
else()
|
||||||
|
set(SKIA_LIB_DIR "${CMAKE_CURRENT_LIST_DIR}/win32")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_library(Skia::Skia STATIC IMPORTED)
|
||||||
|
|
||||||
|
set_target_properties(Skia::Skia PROPERTIES
|
||||||
|
IMPORTED_LOCATION "${SKIA_LIB_DIR}/release/skia.lib"
|
||||||
|
IMPORTED_LOCATION_DEBUG "${SKIA_LIB_DIR}/debug/skia.lib"
|
||||||
|
IMPORTED_CONFIGURATIONS "RELEASE;DEBUG"
|
||||||
|
)
|
||||||
|
target_include_directories(Skia::Skia INTERFACE
|
||||||
|
"${CMAKE_CURRENT_LIST_DIR}/include"
|
||||||
|
"${CMAKE_CURRENT_LIST_DIR}/include/core"
|
||||||
|
"${CMAKE_CURRENT_LIST_DIR}/include/config"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
Loading…
Reference in New Issue