Browse Source

Updated installation configuration

Chlumsky 2 years ago
parent
commit
a811ef8935
2 changed files with 24 additions and 2 deletions
  1. 9 0
      CMakeLists.txt
  2. 15 2
      cmake/msdfgenConfig.cmake.in

+ 9 - 0
CMakeLists.txt

@@ -222,6 +222,9 @@ if(MSDFGEN_INSTALL)
         PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/msdfgen/core
     )
     install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/msdfgen.h" DESTINATION include/msdfgen)
+    if(MSVC AND BUILD_SHARED_LIBS)
+        install(FILES $<TARGET_PDB_FILE:msdfgen-core> DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL)
+    endif()
 
     if(NOT MSDFGEN_CORE_ONLY)
         install(TARGETS msdfgen-ext EXPORT msdfgenTargets
@@ -232,6 +235,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(MSVC AND BUILD_SHARED_LIBS)
+            install(FILES $<TARGET_PDB_FILE:msdfgen-ext> DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL)
+        endif()
         install(TARGETS msdfgen-full EXPORT msdfgenTargets)
     endif()
 
@@ -240,6 +246,9 @@ if(MSDFGEN_INSTALL)
 
     if(MSDFGEN_BUILD_STANDALONE)
         install(TARGETS msdfgen EXPORT msdfgenBinaryTargets DESTINATION ${CMAKE_INSTALL_BINDIR})
+        if(MSVC)
+            install(FILES $<TARGET_PDB_FILE:msdfgen> DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL)
+        endif()
         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()

+ 15 - 2
cmake/msdfgenConfig.cmake.in

@@ -2,15 +2,23 @@
 include(CMakeFindDependencyMacro)
 
 set(MSDFGEN_CORE_ONLY @MSDFGEN_CORE_ONLY@)
+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@)
 
 if(NOT MSDFGEN_CORE_ONLY)
     find_dependency(Freetype REQUIRED)
+    find_dependency(tinyxml2 REQUIRED)
+    find_dependency(PNG REQUIRED)
 endif()
 if(MSDFGEN_USE_SKIA)
-    find_dependency(Skia REQUIRED)
+    find_dependency(Threads REQUIRED)
+    if(MSDFGEN_USE_VCPKG)
+        find_dependency(unofficial-skia REQUIRED)
+    else()
+        find_dependency(skia REQUIRED)
+    endif()
 endif()
 if(MSDFGEN_USE_OPENMP)
     find_dependency(OpenMP REQUIRED COMPONENTS CXX)
@@ -18,7 +26,12 @@ endif()
 
 include("${CMAKE_CURRENT_LIST_DIR}/msdfgenTargets.cmake")
 
-if(NOT MSDFGEN_CORE_ONLY)
+if(MSDFGEN_CORE_ONLY)
+    if(${CMAKE_VERSION} VERSION_LESS "3.18.0")
+        set_target_properties(msdfgen::msdfgen-core PROPERTIES IMPORTED_GLOBAL TRUE)
+    endif()
+    add_library(msdfgen::msdfgen ALIAS msdfgen::msdfgen-core)
+else()
     if(${CMAKE_VERSION} VERSION_LESS "3.18.0")
         set_target_properties(msdfgen::msdfgen-full PROPERTIES IMPORTED_GLOBAL TRUE)
     endif()