|
@@ -19,6 +19,12 @@ if(MSDFGEN_CORE_ONLY AND MSDFGEN_USE_VCPKG)
|
|
|
set(MSDFGEN_USE_VCPKG OFF)
|
|
|
endif()
|
|
|
|
|
|
+get_property(MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
|
|
+if(NOT MULTI_CONFIG AND NOT CMAKE_BUILD_TYPE)
|
|
|
+ message(STATUS "CMAKE_BUILD_TYPE not set, defaulting to Release")
|
|
|
+ set(CMAKE_BUILD_TYPE Release)
|
|
|
+endif()
|
|
|
+
|
|
|
if(MSDFGEN_USE_VCPKG)
|
|
|
# Make sure that vcpkg toolchain file is set
|
|
|
if(NOT CMAKE_TOOLCHAIN_FILE)
|
|
@@ -38,6 +44,22 @@ if(MSDFGEN_USE_VCPKG)
|
|
|
message(WARNING "Vcpkg triplet not explicitly specified and could not be deduced. Recommend using -DVCPKG_TARGET_TRIPLET=x86-windows-static or similar")
|
|
|
endif()
|
|
|
endif()
|
|
|
+ # Select project features
|
|
|
+ if(NOT MSDFGEN_VCPKG_FEATURES_SET)
|
|
|
+ set(VCPKG_MANIFEST_NO_DEFAULT_FEATURES ON)
|
|
|
+ if(NOT MSDFGEN_CORE_ONLY)
|
|
|
+ list(APPEND VCPKG_MANIFEST_FEATURES "extensions")
|
|
|
+ endif()
|
|
|
+ if(MSDFGEN_BUILD_STANDALONE)
|
|
|
+ list(APPEND VCPKG_MANIFEST_FEATURES "standalone")
|
|
|
+ endif()
|
|
|
+ if(MSDFGEN_USE_SKIA)
|
|
|
+ list(APPEND VCPKG_MANIFEST_FEATURES "geometry-preprocessing")
|
|
|
+ endif()
|
|
|
+ if(MSDFGEN_USE_OPENMP)
|
|
|
+ list(APPEND VCPKG_MANIFEST_FEATURES "openmp")
|
|
|
+ endif()
|
|
|
+ endif()
|
|
|
endif()
|
|
|
|
|
|
# Version is specified in vcpkg.json
|
|
@@ -106,11 +128,15 @@ if(NOT MSDFGEN_CORE_ONLY)
|
|
|
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT msdfgen-ext)
|
|
|
|
|
|
if(MSDFGEN_USE_SKIA)
|
|
|
+ set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
|
|
|
+ set(THREADS_PREFER_PTHREAD_FLAG TRUE)
|
|
|
+ find_package(Threads REQUIRED)
|
|
|
if(NOT TARGET skia)
|
|
|
find_package(skia REQUIRED)
|
|
|
endif()
|
|
|
+ target_compile_features(msdfgen-ext PUBLIC cxx_std_17)
|
|
|
target_compile_definitions(msdfgen-ext PUBLIC MSDFGEN_USE_SKIA)
|
|
|
- target_link_libraries(msdfgen-ext PRIVATE skia)
|
|
|
+ target_link_libraries(msdfgen-ext PRIVATE Threads::Threads skia)
|
|
|
endif()
|
|
|
|
|
|
add_library(msdfgen-full INTERFACE)
|