Browse Source

cmake: simplify logic for dgl libs setup

Signed-off-by: falkTX <falktx@falktx.com>
pull/479/merge
falkTX 3 days ago
parent
commit
d849424c9c
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
2 changed files with 69 additions and 69 deletions
  1. +2
    -2
      CMakeLists.txt
  2. +67
    -67
      cmake/DPF-plugin.cmake

+ 2
- 2
CMakeLists.txt View File

@@ -34,11 +34,11 @@ if(DPF_LIBRARIES)
if(PKG_CONFIG_FOUND) if(PKG_CONFIG_FOUND)
pkg_check_modules(CAIRO "cairo") pkg_check_modules(CAIRO "cairo")
if(CAIRO_FOUND AND (NOT HAIKU)) if(CAIRO_FOUND AND (NOT HAIKU))
dpf__add_dgl_cairo(TRUE, TRUE, TRUE)
dpf__add_dgl_cairo(FALSE, TRUE, TRUE)
endif() endif()
endif() endif()
dpf__add_dgl_external(TRUE, TRUE) dpf__add_dgl_external(TRUE, TRUE)
dpf__add_dgl_opengl(TRUE, TRUE, TRUE)
dpf__add_dgl_opengl(FALSE, TRUE, TRUE)
endif() endif()


if(DPF_EXAMPLES) if(DPF_EXAMPLES)


+ 67
- 67
cmake/DPF-plugin.cmake View File

@@ -129,43 +129,43 @@ function(dpf_add_plugin NAME)
set(_dgl_library) set(_dgl_library)
if(_dpf_plugin_FILES_UI) if(_dpf_plugin_FILES_UI)
if(_dpf_plugin_UI_TYPE STREQUAL "cairo") if(_dpf_plugin_UI_TYPE STREQUAL "cairo")
dpf__add_dgl_cairo($<NOT:$<BOOL:${_dpf_plugin_NO_SHARED_RESOURCES}>>
$<BOOL:${_dpf_plugin_USE_FILE_BROWSER}>
$<BOOL:${_dpf_plugin_USE_WEB_VIEW}>)
dpf__add_dgl_cairo(${_dpf_plugin_NO_SHARED_RESOURCES}
${_dpf_plugin_USE_FILE_BROWSER}
${_dpf_plugin_USE_WEB_VIEW})
set(_dgl_library dgl-cairo) set(_dgl_library dgl-cairo)
elseif(_dpf_plugin_UI_TYPE STREQUAL "external") elseif(_dpf_plugin_UI_TYPE STREQUAL "external")
dpf__add_dgl_external($<BOOL:${_dpf_plugin_USE_FILE_BROWSER}>
$<BOOL:${_dpf_plugin_USE_WEB_VIEW}>)
dpf__add_dgl_external(${_dpf_plugin_USE_FILE_BROWSER}
${_dpf_plugin_USE_WEB_VIEW})
set(_dgl_library dgl-external) set(_dgl_library dgl-external)
elseif(_dpf_plugin_UI_TYPE STREQUAL "gles2") elseif(_dpf_plugin_UI_TYPE STREQUAL "gles2")
dpf__add_dgl_gles2($<NOT:$<BOOL:${_dpf_plugin_NO_SHARED_RESOURCES}>>
$<BOOL:${_dpf_plugin_USE_FILE_BROWSER}>
$<BOOL:${_dpf_plugin_USE_WEB_VIEW}>)
dpf__add_dgl_gles2(${_dpf_plugin_NO_SHARED_RESOURCES}
${_dpf_plugin_USE_FILE_BROWSER}
${_dpf_plugin_USE_WEB_VIEW})
set(_dgl_library dgl-gles2) set(_dgl_library dgl-gles2)
elseif(_dpf_plugin_UI_TYPE STREQUAL "gles3") elseif(_dpf_plugin_UI_TYPE STREQUAL "gles3")
dpf__add_dgl_gles3($<NOT:$<BOOL:${_dpf_plugin_NO_SHARED_RESOURCES}>>
$<BOOL:${_dpf_plugin_USE_FILE_BROWSER}>
$<BOOL:${_dpf_plugin_USE_WEB_VIEW}>)
dpf__add_dgl_gles3(${_dpf_plugin_NO_SHARED_RESOURCES}
${_dpf_plugin_USE_FILE_BROWSER}
${_dpf_plugin_USE_WEB_VIEW})
set(_dgl_library dgl-gles3) set(_dgl_library dgl-gles3)
elseif(_dpf_plugin_UI_TYPE STREQUAL "opengl") elseif(_dpf_plugin_UI_TYPE STREQUAL "opengl")
dpf__add_dgl_opengl($<NOT:$<BOOL:${_dpf_plugin_NO_SHARED_RESOURCES}>>
$<BOOL:${_dpf_plugin_USE_FILE_BROWSER}>
$<BOOL:${_dpf_plugin_USE_WEB_VIEW}>)
dpf__add_dgl_opengl(${_dpf_plugin_NO_SHARED_RESOURCES}
${_dpf_plugin_USE_FILE_BROWSER}
${_dpf_plugin_USE_WEB_VIEW})
set(_dgl_library dgl-opengl) set(_dgl_library dgl-opengl)
elseif(_dpf_plugin_UI_TYPE STREQUAL "opengl3") elseif(_dpf_plugin_UI_TYPE STREQUAL "opengl3")
dpf__add_dgl_opengl3($<NOT:$<BOOL:${_dpf_plugin_NO_SHARED_RESOURCES}>>
$<BOOL:${_dpf_plugin_USE_FILE_BROWSER}>
$<BOOL:${_dpf_plugin_USE_WEB_VIEW}>)
dpf__add_dgl_opengl3(${_dpf_plugin_NO_SHARED_RESOURCES}
${_dpf_plugin_USE_FILE_BROWSER}
${_dpf_plugin_USE_WEB_VIEW})
set(_dgl_library dgl-opengl3) set(_dgl_library dgl-opengl3)
elseif(_dpf_plugin_UI_TYPE STREQUAL "vulkan") elseif(_dpf_plugin_UI_TYPE STREQUAL "vulkan")
dpf__add_dgl_vulkan($<NOT:$<BOOL:${_dpf_plugin_NO_SHARED_RESOURCES}>>
$<BOOL:${_dpf_plugin_USE_FILE_BROWSER}>
$<BOOL:${_dpf_plugin_USE_WEB_VIEW}>)
dpf__add_dgl_vulkan(${_dpf_plugin_NO_SHARED_RESOURCES}
${_dpf_plugin_USE_FILE_BROWSER}
${_dpf_plugin_USE_WEB_VIEW})
set(_dgl_library dgl-vulkan) set(_dgl_library dgl-vulkan)
elseif(_dpf_plugin_UI_TYPE STREQUAL "webview") elseif(_dpf_plugin_UI_TYPE STREQUAL "webview")
set(_dpf_plugin_USE_WEB_VIEW TRUE) set(_dpf_plugin_USE_WEB_VIEW TRUE)
dpf__add_dgl_external($<BOOL:${_dpf_plugin_USE_FILE_BROWSER}>
$<BOOL:${_dpf_plugin_USE_WEB_VIEW}>)
dpf__add_dgl_external(${_dpf_plugin_USE_FILE_BROWSER}
${_dpf_plugin_USE_WEB_VIEW})
set(_dgl_library dgl-external) set(_dgl_library dgl-external)
else() else()
message(FATAL_ERROR "Unrecognized UI type for plugin: ${_dpf_plugin_UI_TYPE}") message(FATAL_ERROR "Unrecognized UI type for plugin: ${_dpf_plugin_UI_TYPE}")
@@ -308,43 +308,43 @@ function(dpf_add_executable NAME)


set(_dgl_library) set(_dgl_library)
if(_dpf_plugin_UI_TYPE STREQUAL "cairo") if(_dpf_plugin_UI_TYPE STREQUAL "cairo")
dpf__add_dgl_cairo($<NOT:$<BOOL:${_dpf_plugin_NO_SHARED_RESOURCES}>>
$<BOOL:${_dpf_plugin_USE_FILE_BROWSER}>
$<BOOL:${_dpf_plugin_USE_WEB_VIEW}>)
dpf__add_dgl_cairo(${_dpf_plugin_NO_SHARED_RESOURCES}
${_dpf_plugin_USE_FILE_BROWSER}
${_dpf_plugin_USE_WEB_VIEW})
set(_dgl_library dgl-cairo) set(_dgl_library dgl-cairo)
elseif(_dpf_plugin_UI_TYPE STREQUAL "external") elseif(_dpf_plugin_UI_TYPE STREQUAL "external")
dpf__add_dgl_external($<BOOL:${_dpf_plugin_USE_FILE_BROWSER}>
$<BOOL:${_dpf_plugin_USE_WEB_VIEW}>)
dpf__add_dgl_external(${_dpf_plugin_USE_FILE_BROWSER}
${_dpf_plugin_USE_WEB_VIEW})
set(_dgl_library dgl-external) set(_dgl_library dgl-external)
elseif(_dpf_plugin_UI_TYPE STREQUAL "gles2") elseif(_dpf_plugin_UI_TYPE STREQUAL "gles2")
dpf__add_dgl_gles2($<NOT:$<BOOL:${_dpf_plugin_NO_SHARED_RESOURCES}>>
$<BOOL:${_dpf_plugin_USE_FILE_BROWSER}>
$<BOOL:${_dpf_plugin_USE_WEB_VIEW}>)
dpf__add_dgl_gles2(${_dpf_plugin_NO_SHARED_RESOURCES}
${_dpf_plugin_USE_FILE_BROWSER}
${_dpf_plugin_USE_WEB_VIEW})
set(_dgl_library dgl-gles2) set(_dgl_library dgl-gles2)
elseif(_dpf_plugin_UI_TYPE STREQUAL "gles3") elseif(_dpf_plugin_UI_TYPE STREQUAL "gles3")
dpf__add_dgl_gles3($<NOT:$<BOOL:${_dpf_plugin_NO_SHARED_RESOURCES}>>
$<BOOL:${_dpf_plugin_USE_FILE_BROWSER}>
$<BOOL:${_dpf_plugin_USE_WEB_VIEW}>)
dpf__add_dgl_gles3(${_dpf_plugin_NO_SHARED_RESOURCES}
${_dpf_plugin_USE_FILE_BROWSER}
${_dpf_plugin_USE_WEB_VIEW})
set(_dgl_library dgl-gles3) set(_dgl_library dgl-gles3)
elseif(_dpf_plugin_UI_TYPE STREQUAL "opengl") elseif(_dpf_plugin_UI_TYPE STREQUAL "opengl")
dpf__add_dgl_opengl($<NOT:$<BOOL:${_dpf_plugin_NO_SHARED_RESOURCES}>>
$<BOOL:${_dpf_plugin_USE_FILE_BROWSER}>
$<BOOL:${_dpf_plugin_USE_WEB_VIEW}>)
dpf__add_dgl_opengl(${_dpf_plugin_NO_SHARED_RESOURCES}
${_dpf_plugin_USE_FILE_BROWSER}
${_dpf_plugin_USE_WEB_VIEW})
set(_dgl_library dgl-opengl) set(_dgl_library dgl-opengl)
elseif(_dpf_plugin_UI_TYPE STREQUAL "opengl3") elseif(_dpf_plugin_UI_TYPE STREQUAL "opengl3")
dpf__add_dgl_opengl3($<NOT:$<BOOL:${_dpf_plugin_NO_SHARED_RESOURCES}>>
$<BOOL:${_dpf_plugin_USE_FILE_BROWSER}>
$<BOOL:${_dpf_plugin_USE_WEB_VIEW}>)
dpf__add_dgl_opengl3(${_dpf_plugin_NO_SHARED_RESOURCES}
${_dpf_plugin_USE_FILE_BROWSER}
${_dpf_plugin_USE_WEB_VIEW})
set(_dgl_library dgl-opengl3) set(_dgl_library dgl-opengl3)
elseif(_dpf_plugin_UI_TYPE STREQUAL "vulkan") elseif(_dpf_plugin_UI_TYPE STREQUAL "vulkan")
dpf__add_dgl_vulkan($<NOT:$<BOOL:${_dpf_plugin_NO_SHARED_RESOURCES}>>
$<BOOL:${_dpf_plugin_USE_FILE_BROWSER}>
$<BOOL:${_dpf_plugin_USE_WEB_VIEW}>)
dpf__add_dgl_vulkan(${_dpf_plugin_NO_SHARED_RESOURCES}
${_dpf_plugin_USE_FILE_BROWSER}
${_dpf_plugin_USE_WEB_VIEW})
set(_dgl_library dgl-vulkan) set(_dgl_library dgl-vulkan)
elseif(_dpf_plugin_UI_TYPE STREQUAL "webview") elseif(_dpf_plugin_UI_TYPE STREQUAL "webview")
set(_dpf_plugin_USE_WEB_VIEW TRUE) set(_dpf_plugin_USE_WEB_VIEW TRUE)
dpf__add_dgl_external($<BOOL:${_dpf_plugin_USE_FILE_BROWSER}>
$<BOOL:${_dpf_plugin_USE_WEB_VIEW}>)
dpf__add_dgl_external(${_dpf_plugin_USE_FILE_BROWSER}
${_dpf_plugin_USE_WEB_VIEW})
set(_dgl_library dgl-external) set(_dgl_library dgl-external)
else() else()
message(FATAL_ERROR "Unrecognized UI type for executable: ${_dpf_plugin_UI_TYPE}") message(FATAL_ERROR "Unrecognized UI type for executable: ${_dpf_plugin_UI_TYPE}")
@@ -860,7 +860,7 @@ endfunction()
# #
# Add the Cairo variant of DGL, if not already available. # Add the Cairo variant of DGL, if not already available.
# #
function(dpf__add_dgl_cairo SHARED_RESOURCES USE_FILE_BROWSER USE_WEB_VIEW)
function(dpf__add_dgl_cairo NO_SHARED_RESOURCES USE_FILE_BROWSER USE_WEB_VIEW)
if(TARGET dgl-cairo) if(TARGET dgl-cairo)
return() return()
endif() endif()
@@ -888,10 +888,10 @@ function(dpf__add_dgl_cairo SHARED_RESOURCES USE_FILE_BROWSER USE_WEB_VIEW)
"${DPF_ROOT_DIR}/dgl/src/Window.cpp" "${DPF_ROOT_DIR}/dgl/src/Window.cpp"
"${DPF_ROOT_DIR}/dgl/src/WindowPrivateData.cpp" "${DPF_ROOT_DIR}/dgl/src/WindowPrivateData.cpp"
"${DPF_ROOT_DIR}/dgl/src/Cairo.cpp") "${DPF_ROOT_DIR}/dgl/src/Cairo.cpp")
if(SHARED_RESOURCES)
target_sources(dgl-cairo PRIVATE "${DPF_ROOT_DIR}/dgl/src/Resources.cpp")
else()
if(NO_SHARED_RESOURCES)
target_compile_definitions(dgl-cairo PUBLIC "DGL_NO_SHARED_RESOURCES") target_compile_definitions(dgl-cairo PUBLIC "DGL_NO_SHARED_RESOURCES")
else()
target_sources(dgl-cairo PRIVATE "${DPF_ROOT_DIR}/dgl/src/Resources.cpp")
endif() endif()
if(APPLE) if(APPLE)
target_sources(dgl-cairo PRIVATE target_sources(dgl-cairo PRIVATE
@@ -1015,7 +1015,7 @@ endfunction()
# #
# Add the GLESv2 variant of DGL, if not already available. # Add the GLESv2 variant of DGL, if not already available.
# #
function(dpf__add_dgl_gles2 SHARED_RESOURCES USE_FILE_BROWSER USE_WEB_VIEW)
function(dpf__add_dgl_gles2 NO_SHARED_RESOURCES USE_FILE_BROWSER USE_WEB_VIEW)
if(TARGET dgl-gles2) if(TARGET dgl-gles2)
return() return()
endif() endif()
@@ -1046,10 +1046,10 @@ function(dpf__add_dgl_gles2 SHARED_RESOURCES USE_FILE_BROWSER USE_WEB_VIEW)
"${DPF_ROOT_DIR}/dgl/src/OpenGL.cpp" "${DPF_ROOT_DIR}/dgl/src/OpenGL.cpp"
"${DPF_ROOT_DIR}/dgl/src/OpenGL3.cpp" "${DPF_ROOT_DIR}/dgl/src/OpenGL3.cpp"
"${DPF_ROOT_DIR}/dgl/src/NanoVG.cpp") "${DPF_ROOT_DIR}/dgl/src/NanoVG.cpp")
if(SHARED_RESOURCES)
target_sources(dgl-gles2 PRIVATE "${DPF_ROOT_DIR}/dgl/src/Resources.cpp")
else()
if(NO_SHARED_RESOURCES)
target_compile_definitions(dgl-gles2 PUBLIC "DGL_NO_SHARED_RESOURCES") target_compile_definitions(dgl-gles2 PUBLIC "DGL_NO_SHARED_RESOURCES")
else()
target_sources(dgl-gles2 PRIVATE "${DPF_ROOT_DIR}/dgl/src/Resources.cpp")
endif() endif()
if(APPLE) if(APPLE)
target_sources(dgl-gles2 PRIVATE target_sources(dgl-gles2 PRIVATE
@@ -1114,7 +1114,7 @@ endfunction()
# #
# Add the GLESv3 variant of DGL, if not already available. # Add the GLESv3 variant of DGL, if not already available.
# #
function(dpf__add_dgl_gles3 SHARED_RESOURCES USE_FILE_BROWSER USE_WEB_VIEW)
function(dpf__add_dgl_gles3 NO_SHARED_RESOURCES USE_FILE_BROWSER USE_WEB_VIEW)
if(TARGET dgl-gles3) if(TARGET dgl-gles3)
return() return()
endif() endif()
@@ -1145,10 +1145,10 @@ function(dpf__add_dgl_gles3 SHARED_RESOURCES USE_FILE_BROWSER USE_WEB_VIEW)
"${DPF_ROOT_DIR}/dgl/src/OpenGL.cpp" "${DPF_ROOT_DIR}/dgl/src/OpenGL.cpp"
"${DPF_ROOT_DIR}/dgl/src/OpenGL3.cpp" "${DPF_ROOT_DIR}/dgl/src/OpenGL3.cpp"
"${DPF_ROOT_DIR}/dgl/src/NanoVG.cpp") "${DPF_ROOT_DIR}/dgl/src/NanoVG.cpp")
if(SHARED_RESOURCES)
target_sources(dgl-gles3 PRIVATE "${DPF_ROOT_DIR}/dgl/src/Resources.cpp")
else()
if(NO_SHARED_RESOURCES)
target_compile_definitions(dgl-gles3 PUBLIC "DGL_NO_SHARED_RESOURCES") target_compile_definitions(dgl-gles3 PUBLIC "DGL_NO_SHARED_RESOURCES")
else()
target_sources(dgl-gles3 PRIVATE "${DPF_ROOT_DIR}/dgl/src/Resources.cpp")
endif() endif()
if(APPLE) if(APPLE)
target_sources(dgl-gles3 PRIVATE target_sources(dgl-gles3 PRIVATE
@@ -1213,7 +1213,7 @@ endfunction()
# #
# Add the OpenGL variant of DGL, if not already available. # Add the OpenGL variant of DGL, if not already available.
# #
function(dpf__add_dgl_opengl SHARED_RESOURCES USE_FILE_BROWSER USE_WEB_VIEW)
function(dpf__add_dgl_opengl NO_SHARED_RESOURCES USE_FILE_BROWSER USE_WEB_VIEW)
if(TARGET dgl-opengl) if(TARGET dgl-opengl)
return() return()
endif() endif()
@@ -1244,10 +1244,10 @@ function(dpf__add_dgl_opengl SHARED_RESOURCES USE_FILE_BROWSER USE_WEB_VIEW)
"${DPF_ROOT_DIR}/dgl/src/OpenGL.cpp" "${DPF_ROOT_DIR}/dgl/src/OpenGL.cpp"
"${DPF_ROOT_DIR}/dgl/src/OpenGL2.cpp" "${DPF_ROOT_DIR}/dgl/src/OpenGL2.cpp"
"${DPF_ROOT_DIR}/dgl/src/NanoVG.cpp") "${DPF_ROOT_DIR}/dgl/src/NanoVG.cpp")
if(SHARED_RESOURCES)
target_sources(dgl-opengl PRIVATE "${DPF_ROOT_DIR}/dgl/src/Resources.cpp")
else()
if(NO_SHARED_RESOURCES)
target_compile_definitions(dgl-opengl PUBLIC "DGL_NO_SHARED_RESOURCES") target_compile_definitions(dgl-opengl PUBLIC "DGL_NO_SHARED_RESOURCES")
else()
target_sources(dgl-opengl PRIVATE "${DPF_ROOT_DIR}/dgl/src/Resources.cpp")
endif() endif()
if(APPLE) if(APPLE)
target_sources(dgl-opengl PRIVATE target_sources(dgl-opengl PRIVATE
@@ -1309,7 +1309,7 @@ endfunction()
# #
# Add the OpenGL3 variant of DGL, if not already available. # Add the OpenGL3 variant of DGL, if not already available.
# #
function(dpf__add_dgl_opengl3 SHARED_RESOURCES USE_FILE_BROWSER USE_WEB_VIEW)
function(dpf__add_dgl_opengl3 NO_SHARED_RESOURCES USE_FILE_BROWSER USE_WEB_VIEW)
if(TARGET dgl-opengl3) if(TARGET dgl-opengl3)
return() return()
endif() endif()
@@ -1340,10 +1340,10 @@ function(dpf__add_dgl_opengl3 SHARED_RESOURCES USE_FILE_BROWSER USE_WEB_VIEW)
"${DPF_ROOT_DIR}/dgl/src/OpenGL.cpp" "${DPF_ROOT_DIR}/dgl/src/OpenGL.cpp"
"${DPF_ROOT_DIR}/dgl/src/OpenGL3.cpp" "${DPF_ROOT_DIR}/dgl/src/OpenGL3.cpp"
"${DPF_ROOT_DIR}/dgl/src/NanoVG.cpp") "${DPF_ROOT_DIR}/dgl/src/NanoVG.cpp")
if(SHARED_RESOURCES)
target_sources(dgl-opengl3 PRIVATE "${DPF_ROOT_DIR}/dgl/src/Resources.cpp")
else()
if(NO_SHARED_RESOURCES)
target_compile_definitions(dgl-opengl3 PUBLIC "DGL_NO_SHARED_RESOURCES") target_compile_definitions(dgl-opengl3 PUBLIC "DGL_NO_SHARED_RESOURCES")
else()
target_sources(dgl-opengl3 PRIVATE "${DPF_ROOT_DIR}/dgl/src/Resources.cpp")
endif() endif()
if(APPLE) if(APPLE)
target_sources(dgl-opengl3 PRIVATE target_sources(dgl-opengl3 PRIVATE
@@ -1401,7 +1401,7 @@ endfunction()
# #
# Add the Vulkan variant of DGL, if not already available. # Add the Vulkan variant of DGL, if not already available.
# #
function(dpf__add_dgl_vulkan SHARED_RESOURCES USE_FILE_BROWSER USE_WEB_VIEW)
function(dpf__add_dgl_vulkan NO_SHARED_RESOURCES USE_FILE_BROWSER USE_WEB_VIEW)
if(TARGET dgl-vulkan) if(TARGET dgl-vulkan)
return() return()
endif() endif()
@@ -1427,9 +1427,9 @@ function(dpf__add_dgl_vulkan SHARED_RESOURCES USE_FILE_BROWSER USE_WEB_VIEW)
"${DPF_ROOT_DIR}/dgl/src/WindowPrivateData.cpp" "${DPF_ROOT_DIR}/dgl/src/WindowPrivateData.cpp"
"${DPF_ROOT_DIR}/dgl/src/Vulkan.cpp") "${DPF_ROOT_DIR}/dgl/src/Vulkan.cpp")
if(NO_SHARED_RESOURCES) if(NO_SHARED_RESOURCES)
target_sources(dgl-vulkan PRIVATE "${DPF_ROOT_DIR}/dgl/src/Resources.cpp")
else()
target_compile_definitions(dgl-vulkan PUBLIC "DGL_NO_SHARED_RESOURCES") target_compile_definitions(dgl-vulkan PUBLIC "DGL_NO_SHARED_RESOURCES")
else()
target_sources(dgl-vulkan PRIVATE "${DPF_ROOT_DIR}/dgl/src/Resources.cpp")
endif() endif()
if(APPLE) if(APPLE)
target_sources(dgl-vulkan PRIVATE target_sources(dgl-vulkan PRIVATE


Loading…
Cancel
Save