Skip to content

Commit

Permalink
Derived driver: make it optional
Browse files Browse the repository at this point in the history
  • Loading branch information
rouault committed Sep 23, 2024
1 parent 3b15049 commit 3a5c02e
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 2 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/cmake_builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -541,7 +541,7 @@ jobs:
shell: bash -l {0}
run: |
rm -f build/CMakeCache.txt
cmake -A ${architecture} -G "${generator}" "-DCMAKE_PREFIX_PATH=${CONDA}/envs/gdalenv" -Werror=dev "-DCMAKE_CXX_COMPILER_LAUNCHER=clcache" -DCMAKE_UNITY_BUILD=${CMAKE_UNITY_BUILD} -S "$GITHUB_WORKSPACE" -B "$GITHUB_WORKSPACE/build" -DCMAKE_C_FLAGS=" /WX" -DCMAKE_CXX_FLAGS=" /WX" -DGDAL_USE_EXTERNAL_LIBS:BOOL=OFF -DGDAL_USE_PNG_INTERNAL=OFF -DGDAL_USE_JPEG_INTERNAL=OFF -DGDAL_USE_JPEG12_INTERNAL=OFF -DGDAL_USE_GIF_INTERNAL=OFF -DGDAL_USE_LERC_INTERNAL=OFF -DGDAL_USE_LERCV1_INTERNAL=OFF -DGDAL_USE_QHULL_INTERNAL=OFF -DGDAL_USE_OPENCAD_INTERNAL=OFF -DGDAL_BUILD_OPTIONAL_DRIVERS=OFF -DOGR_BUILD_OPTIONAL_DRIVERS=OFF -DWERROR_DEV_FLAG="-Werror=dev"
cmake -A ${architecture} -G "${generator}" "-DCMAKE_PREFIX_PATH=${CONDA}/envs/gdalenv" -Werror=dev "-DCMAKE_CXX_COMPILER_LAUNCHER=clcache" -DCMAKE_UNITY_BUILD=${CMAKE_UNITY_BUILD} -S "$GITHUB_WORKSPACE" -B "$GITHUB_WORKSPACE/build" -DCMAKE_C_FLAGS=" /WX" -DCMAKE_CXX_FLAGS=" /WX" -DGDAL_USE_EXTERNAL_LIBS:BOOL=OFF -DGDAL_USE_PNG_INTERNAL=OFF -DGDAL_USE_JPEG_INTERNAL=OFF -DGDAL_USE_JPEG12_INTERNAL=OFF -DGDAL_USE_GIF_INTERNAL=OFF -DGDAL_USE_LERC_INTERNAL=OFF -DGDAL_USE_LERCV1_INTERNAL=OFF -DGDAL_USE_QHULL_INTERNAL=OFF -DGDAL_USE_OPENCAD_INTERNAL=OFF -DGDAL_BUILD_OPTIONAL_DRIVERS=OFF -DOGR_BUILD_OPTIONAL_DRIVERS=OFF -DGDAL_ENABLE_DRIVER_DERIVED=ON -DWERROR_DEV_FLAG="-Werror=dev"
- name: Build
shell: bash -l {0}
run: cmake --build $GITHUB_WORKSPACE/build --config RelWithDebInfo -j 2
Expand Down
3 changes: 2 additions & 1 deletion frmts/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,9 @@ if (NOT GDAL_ENABLE_DRIVER_VRT)
# Most of it
add_subdirectory(vrt)
endif()

# Note: derived is derived of vrt
add_subdirectory(derived)
gdal_optional_format(derived "Derived datasets")

gdal_optional_format(gti "GDAL Tile Index")

Expand Down
3 changes: 3 additions & 0 deletions frmts/gdalallregister.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,9 @@ void CPL_STDCALL GDALAllRegister()

#ifdef FRMT_vrt
GDALRegister_VRT();
#endif

#ifdef FRMT_derived
GDALRegister_Derived();
#endif

Expand Down
4 changes: 4 additions & 0 deletions gcore/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,10 @@ if (ENABLE_PAM)
target_compile_definitions(gcore PRIVATE -DPAM_ENABLED)
endif ()

if (NOT GDAL_ENABLE_DRIVER_DERIVED)
target_compile_definitions(gcore PRIVATE -DWITHOUT_DERIVED)
endif ()

add_subdirectory(mdreader)

# External libs now
Expand Down
2 changes: 2 additions & 0 deletions gcore/gdaldataset.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4681,6 +4681,7 @@ void GDALDataset::ReportErrorV(const char *pszDSName, CPLErr eErrClass,
/************************************************************************/
char **GDALDataset::GetMetadata(const char *pszDomain)
{
#ifndef WITHOUT_DERIVED
if (pszDomain != nullptr && EQUAL(pszDomain, "DERIVED_SUBDATASETS"))
{
oDerivedMetadataList.Clear();
Expand Down Expand Up @@ -4733,6 +4734,7 @@ char **GDALDataset::GetMetadata(const char *pszDomain)
}
return oDerivedMetadataList.List();
}
#endif

return GDALMajorObject::GetMetadata(pszDomain);
}
Expand Down

0 comments on commit 3a5c02e

Please sign in to comment.