From c8ae9f7e572ab282a859a13aa12d838f89275dbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Mon, 12 Sep 2022 13:03:29 +0200 Subject: [PATCH] CMake: expose *_STATIC_PLUGINS options only if they make sense. I.e., if the build is static including plugins and the corresponding application is actually enabled. The options will work even if not (because it's easier that way), they will just not appear in the CMake option list. --- CMakeLists.txt | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f5433172b..e145300e8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -156,20 +156,31 @@ endif() # option everywhere for simplicity. if(CORRADE_TARGET_UNIX OR CORRADE_TARGET_WINDOWS) option(MAGNUM_WITH_FONTCONVERTER "Build magnum-fontconverter utility" OFF) - option(MAGNUM_WITH_DISTANCEFIELDCONVERTER "Build magnum-distancefieldconverter utility" OFF) + if(MAGNUM_WITH_FONTCONVERTER AND MAGNUM_BUILD_STATIC AND MAGNUM_BUILD_PLUGINS_STATIC) + set(MAGNUM_FONTCONVERTER_STATIC_PLUGINS "" CACHE STRING "Static plugins to link to the magnum-fontconverter utility") + endif() - set(MAGNUM_FONTCONVERTER_STATIC_PLUGINS "" CACHE STRING "Static plugins to link to the magnum-fontconverter utility") - set(MAGNUM_DISTANCEFIELDCONVERTER_STATIC_PLUGINS "" CACHE STRING "Static plugins to link to the magnum-distancefieldconverter utility") + option(MAGNUM_WITH_DISTANCEFIELDCONVERTER "Build magnum-distancefieldconverter utility" OFF) + if(MAGNUM_WITH_DISTANCEFIELDCONVERTER AND MAGNUM_BUILD_STATIC AND MAGNUM_BUILD_PLUGINS_STATIC) + set(MAGNUM_DISTANCEFIELDCONVERTER_STATIC_PLUGINS "" CACHE STRING "Static plugins to link to the magnum-distancefieldconverter utility") + endif() endif() # API-independent utilities option(MAGNUM_WITH_IMAGECONVERTER "Build magnum-imageconverter utility" OFF) +if(MAGNUM_WITH_IMAGECONVERTER AND MAGNUM_BUILD_STATIC AND MAGNUM_BUILD_PLUGINS_STATIC) + set(MAGNUM_IMAGECONVERTER_STATIC_PLUGINS "" CACHE STRING "Static plugins to link to the magnum-imageconverter utility") +endif() + option(MAGNUM_WITH_SCENECONVERTER "Build magnum-sceneconverter utility" OFF) -option(MAGNUM_WITH_SHADERCONVERTER "Build magnum-shaderconverter utility" OFF) +if(MAGNUM_WITH_SCENECONVERTER AND MAGNUM_BUILD_STATIC AND MAGNUM_BUILD_PLUGINS_STATIC) + set(MAGNUM_SCENECONVERTER_STATIC_PLUGINS "" CACHE STRING "Static plugins to link to the magnum-sceneconverter utility") +endif() -set(MAGNUM_IMAGECONVERTER_STATIC_PLUGINS "" CACHE STRING "Static plugins to link to the magnum-imageconverter utility") -set(MAGNUM_SCENECONVERTER_STATIC_PLUGINS "" CACHE STRING "Static plugins to link to the magnum-sceneconverter utility") -set(MAGNUM_SHADERCONVERTER_STATIC_PLUGINS "" CACHE STRING "Static plugins to link to the magnum-shaderconverter utility") +option(MAGNUM_WITH_SHADERCONVERTER "Build magnum-shaderconverter utility" OFF) +if(MAGNUM_WITH_SHADERCONVERTER AND MAGNUM_BUILD_STATIC AND MAGNUM_BUILD_PLUGINS_STATIC) + set(MAGNUM_SHADERCONVERTER_STATIC_PLUGINS "" CACHE STRING "Static plugins to link to the magnum-shaderconverter utility") +endif() # Magnum AL Info option(MAGNUM_WITH_AL_INFO "Build magnum-al-info utility" OFF)