include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${UNMANAGED_INCLUDE_DIR} ${UTILITIES_TESTCOMMON_INCLUDE_DIR} ${UTILITIES_COMMON_INCLUDE_DIR} ${UTILITIES_EXPRESSION_INCLUDE_DIR} ${CPPUNIT_INCLUDE_DIR} ) add_definitions( -D__STDC_LIMIT_MACROS ) # See if GDAL/OGR is >= 2.4. If this is the case, flip HAVE_GDAL_IMPROVED_ENCODING_DETECTION # so certain test cases will compile without needing to explicitly pass encoding when connecting # to the test data source SET(CMAKE_REQUIRED_INCLUDES ${GDAL_INCLUDE_DIR}) check_cxx_source_compiles( "#include int main() { #if GDAL_VERSION_MAJOR < 2 || (GDAL_VERSION_MAJOR == 2 && GDAL_VERSION_MINOR < 4) #error GDAL is older than 2.4 #endif return 0; }" HAVE_GDAL_IMPROVED_ENCODING_DETECTION) if (HAVE_GDAL_IMPROVED_ENCODING_DETECTION) add_definitions(-DHAVE_GDAL_IMPROVED_ENCODING_DETECTION) message(STATUS "Compiling OGR test suite with HAVE_GDAL_IMPROVED_ENCODING_DETECTION") else (HAVE_GDAL_IMPROVED_ENCODING_DETECTION) message(STATUS "Compiling OGR test suite without HAVE_GDAL_IMPROVED_ENCODING_DETECTION") endif (HAVE_GDAL_IMPROVED_ENCODING_DETECTION) set( UnitTest_SRCS ConnectTests.cpp DeleteTests.cpp FdoExpressionFunctionTest.cpp glibpatch.cpp InsertTests.cpp SelectTests.cpp UnitTest.cpp UpdateTests.cpp VrtTests.cpp ) add_executable( OGRUnitTest ${UnitTest_SRCS} ) add_sanitizers( OGRUnitTest ) set_target_properties( OGRUnitTest PROPERTIES OUTPUT_NAME UnitTest ) target_link_libraries( OGRUnitTest OGRProvider${FDO_VERSION_SUFFIX} TestCommon ProvidersCommon ${CPPUNIT_LIBRARIES} FDO${FDO_VERSION_SUFFIX} ) # Remove providers.xml from output as that is windows-only file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/providers.xml") # Replace with our own configured version set(FDO_PROVIDER_NAME "OSGeo.OGR") set(FDO_PROVIDER_LIBRARY "../Provider/libOGRProvider${FDO_VERSION_SUFFIX}.so") configure_file(${CMAKE_MODULE_PATH}/../configs/providers.xml.in ${CMAKE_CURRENT_BINARY_DIR}/providers.xml)