Build `ExternalProject_Add` always in `Release` mode

Hi,

I use superbuild to build my app.
One of superbuild dependencies is GDAL. I wan’t it to be build always Release no matter what configuration my app is built (because it seems that GDAL doesn’t generates python bindings during Debug build, at least on Windows 11).

Here is the script that I use:

  ExternalProject_Add(${proj}
    ${${proj}_EP_ARGS}
    GIT_REPOSITORY "${Slicer_${proj}_GIT_REPOSITORY}"
    GIT_TAG "${Slicer_${proj}_GIT_TAG}"
    SOURCE_DIR ${EP_SOURCE_DIR}
    BINARY_DIR ${EP_BINARY_DIR}
    INSTALL_DIR ${EP_INSTALL_DIR}
    CMAKE_CACHE_ARGS
      # CMake settings
      -DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
      -DCMAKE_CXX_FLAGS:STRING=${ep_common_cxx_flags}
      -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
      -DCMAKE_C_FLAGS:STRING=${ep_common_c_flags}
      -DCMAKE_CXX_STANDARD:STRING=${CMAKE_CXX_STANDARD}
      -DCMAKE_CXX_STANDARD_REQUIRED:BOOL=${CMAKE_CXX_STANDARD_REQUIRED}
      -DCMAKE_CXX_EXTENSIONS:BOOL=${CMAKE_CXX_EXTENSIONS}
      -DADDITIONAL_C_FLAGS:STRING=${ADDITIONAL_C_FLAGS}
      -DADDITIONAL_CXX_FLAGS:STRING=${ADDITIONAL_CXX_FLAGS}
      -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
      # GDAL generates python bindings only in Release mode
      -DCMAKE_BUILD_TYPE:STRING=Release
      # GNUInstallDirs expands CMAKE_INSTALL_LIBDIR to 'lib' or to'lib64' depending on the OS
      -DCMAKE_INSTALL_LIBDIR:PATH=lib
      # Lib settings
      -DBUILD_TESTING:BOOL=OFF 
      -DZLIB_ROOT:PATH=${ZLIB_ROOT}
      -DPROJ_DIR:PATH=${PROJ_DIR}
      -DGEOS_DIR:PATH=${GEOS_DIR}
      -DHDF5_ROOT:PATH=${HDF5_ROOT}
      -DSQLite3_INCLUDE_DIR:PATH=${sqlite_INCLUDE_DIR}
      -DSQLite3_LIBRARY:FILEPATH=${sqlite_LIBRARY}
      -DSQLite3_HAS_RTREE:BOOL=ON 
      -DSQLite3_HAS_COLUMN_METADATA:BOOL=ON 
      # GDAL uses CMAKE's findPython (Python_EXECUTABLE) while h5gt and h5geo use pybind11 (PYTHON_EXECUTABLE)
      -DPython_EXECUTABLE:PATH=${PYTHON_EXECUTABLE}
      # GDAL sets props to OpenSSL::Crypto with incorrect INCLUDE_DIRS
      -DGDAL_USE_OPENSSL:BOOL=OFF
    DEPENDS
      ${${proj}_DEPENDENCIES}
    # GDAL compiles python bindings only in Release mode (at least on Windows) (THIS APPROACH DOESN'T WOTK)
    BUILD_COMMAND 
      ${CMAKE_COMMAND} --build ${EP_BINARY_DIR} --config Release
    )

As you can see I pass -DCMAKE_BUILD_TYPE:STRING=Release and the build command ${CMAKE_COMMAND} --build ${EP_BINARY_DIR} --config Release but nevertheless it is built in Debug config.

To configure and build my app I use the commands:

cmake .. -G "Visual Studio 17 2022" -A x64 -DQt5_DIR:PATH=C:\Qt\5.15.2\msvc2019_64\lib\cmake\Qt5
cmake --build . --config Debug -j8

Is there any preferred ways to solve my issue?

Windows 11

Oh, it seems I had to add INSTALL_COMMAND to ExternalProject_Add as well:

    INSTALL_COMMAND
      ${CMAKE_COMMAND} --install ${EP_BINARY_DIR} --config Release