Add validate-backend-options.cmake script (#3828)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
This commit is contained in:
@@ -21,14 +21,7 @@ option(MLN_TEXT_SHAPING_HARFBUZZ "Use haffbuzz to shape complex text" ON)
|
|||||||
option(MLN_CORE_INCLUDE_DEPS "Include depdendencies in static build of core" OFF)
|
option(MLN_CORE_INCLUDE_DEPS "Include depdendencies in static build of core" OFF)
|
||||||
option(MLN_CREATE_AUTORELEASEPOOL "Create autoreleasepool in render loop" OFF)
|
option(MLN_CREATE_AUTORELEASEPOOL "Create autoreleasepool in render loop" OFF)
|
||||||
|
|
||||||
if (MLN_LEGACY_RENDERER)
|
include(cmake/validate-backend-options.cmake)
|
||||||
message(FATAL "The legacy renderer is no longer supported")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (MLN_DRAWABLE_RENDERER)
|
|
||||||
message(FATAL "Do not pass MLN_DRAWABLE_RENDERER, the drawable renderer is now the default")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
include(cmake/clang-tidy.cmake)
|
include(cmake/clang-tidy.cmake)
|
||||||
|
|
||||||
if (MLN_WITH_QT AND NOT CMAKE_OSX_DEPLOYMENT_TARGET)
|
if (MLN_WITH_QT AND NOT CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||||
|
|||||||
28
cmake/validate-backend-options.cmake
Normal file
28
cmake/validate-backend-options.cmake
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
if (MLN_LEGACY_RENDERER)
|
||||||
|
message(FATAL "The legacy renderer is no longer supported")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (MLN_DRAWABLE_RENDERER)
|
||||||
|
message(FATAL "Do not pass MLN_DRAWABLE_RENDERER, the drawable renderer is now the default")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(backend_count 0)
|
||||||
|
if (MLN_WITH_OPENGL)
|
||||||
|
math(EXPR backend_count "${backend_count} + 1")
|
||||||
|
endif()
|
||||||
|
if (MLN_WITH_METAL)
|
||||||
|
math(EXPR backend_count "${backend_count} + 1")
|
||||||
|
endif()
|
||||||
|
if (MLN_WITH_VULKAN)
|
||||||
|
math(EXPR backend_count "${backend_count} + 1")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (backend_count EQUAL 0)
|
||||||
|
message(FATAL_ERROR
|
||||||
|
"You need to set a rendering backend. "
|
||||||
|
"Set exactly one of: MLN_WITH_OPENGL, MLN_WITH_METAL, or MLN_WITH_VULKAN.")
|
||||||
|
elseif (backend_count GREATER 1)
|
||||||
|
message(FATAL_ERROR
|
||||||
|
"Multiple rendering backends selected. "
|
||||||
|
"Please enable only one of: MLN_WITH_OPENGL, MLN_WITH_METAL, or MLN_WITH_VULKAN.")
|
||||||
|
endif()
|
||||||
@@ -79,9 +79,19 @@ android {
|
|||||||
productFlavors {
|
productFlavors {
|
||||||
create("opengl") {
|
create("opengl") {
|
||||||
dimension = "renderer"
|
dimension = "renderer"
|
||||||
|
externalNativeBuild {
|
||||||
|
cmake {
|
||||||
|
arguments("-DMLN_WITH_OPENGL=ON", "-DMLN_WITH_VULKAN=OFF")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
create("vulkan") {
|
create("vulkan") {
|
||||||
dimension = "renderer"
|
dimension = "renderer"
|
||||||
|
externalNativeBuild {
|
||||||
|
cmake {
|
||||||
|
arguments("-DMLN_WITH_OPENGL=OFF", "-DMLN_WITH_VULKAN=ON")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user