From 03889564a50452fa2e0b0a60973b5057001b391b Mon Sep 17 00:00:00 2001 From: Chlumsky Date: Sun, 9 Mar 2025 11:31:02 +0100 Subject: [PATCH] Minor installation adjustments #216 --- CMakeLists.txt | 13 +++++++++++++ cmake/msdfgenConfig.cmake.in | 10 ++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 44e8fe0..29d1537 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,6 +8,8 @@ option(MSDFGEN_USE_VCPKG "Use vcpkg package manager to link project dependencies 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_SKIA "Build with the Skia library" ON) +option(MSDFGEN_DISABLE_SVG "Disable SVG support" OFF) +option(MSDFGEN_DISABLE_PNG "Disable PNG support" OFF) option(MSDFGEN_INSTALL "Generate installation target" OFF) option(MSDFGEN_DYNAMIC_RUNTIME "Link dynamic runtime library instead of static" OFF) option(BUILD_SHARED_LIBS "Generate dynamic library files instead of static" OFF) @@ -259,6 +261,11 @@ if(MSDFGEN_INSTALL) endif() configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/msdfgen-config.h.in" msdfgen-config.h) + if (NOT MSDFGEN_INSTALL_NO_GLOBAL_INCLUDE) + write_file("${CMAKE_CURRENT_BINARY_DIR}/msdfgen.h" "\n#pragma once\n\n#include \"msdfgen/msdfgen.h\"") + write_file("${CMAKE_CURRENT_BINARY_DIR}/msdfgen-ext.h" "\n#pragma once\n\n#include \"msdfgen/msdfgen-ext.h\"") + endif() + write_basic_package_version_file( "${CMAKE_CURRENT_BINARY_DIR}/msdfgenConfigVersion.cmake" VERSION ${PROJECT_VERSION} @@ -288,6 +295,9 @@ if(MSDFGEN_INSTALL) PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/msdfgen/core ) install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/msdfgen.h" DESTINATION include/msdfgen) + if (NOT MSDFGEN_INSTALL_NO_GLOBAL_INCLUDE) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/msdfgen.h" DESTINATION include) + endif() if(MSVC AND BUILD_SHARED_LIBS) install(FILES $ DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL) endif() @@ -301,6 +311,9 @@ if(MSDFGEN_INSTALL) PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/msdfgen/ext ) install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/msdfgen-ext.h" DESTINATION include/msdfgen) + if (NOT MSDFGEN_INSTALL_NO_GLOBAL_INCLUDE) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/msdfgen-ext.h" DESTINATION include) + endif() if(MSVC AND BUILD_SHARED_LIBS) install(FILES $ DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL) endif() diff --git a/cmake/msdfgenConfig.cmake.in b/cmake/msdfgenConfig.cmake.in index df11057..b00c609 100644 --- a/cmake/msdfgenConfig.cmake.in +++ b/cmake/msdfgenConfig.cmake.in @@ -6,11 +6,17 @@ set(MSDFGEN_USE_VCPKG @MSDFGEN_USE_VCPKG@) set(MSDFGEN_USE_OPENMP @MSDFGEN_USE_OPENMP@) set(MSDFGEN_USE_SKIA @MSDFGEN_USE_SKIA@) set(MSDFGEN_STANDALONE_AVAILABLE @MSDFGEN_BUILD_STANDALONE@) +set(MSDFGEN_DISABLE_SVG @MSDFGEN_DISABLE_SVG@) +set(MSDFGEN_DISABLE_PNG @MSDFGEN_DISABLE_PNG@) if(NOT MSDFGEN_CORE_ONLY) find_dependency(Freetype REQUIRED) - find_dependency(tinyxml2 REQUIRED) - find_dependency(PNG REQUIRED) + if(NOT MSDFGEN_DISABLE_SVG) + find_dependency(tinyxml2 REQUIRED) + endif() + if(NOT MSDFGEN_DISABLE_PNG) + find_dependency(PNG REQUIRED) + endif() endif() if(MSDFGEN_USE_SKIA) find_dependency(Threads REQUIRED)