include_directories( BEFORE ${CPPUNIT_INCLUDE_DIR} ${UTILITIES_COMMON_INCLUDE_DIR} ${UNMANAGED_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ) if (MSVC) add_definitions( -D_CRT_SECURE_NO_DEPRECATE ) msvc_use_mbcs() else (MSVC) add_definitions( -D__STDC_LIMIT_MACROS ) endif (MSVC) set( GDALUnitTest_SRCS XmlFormatter.cpp UnitTestUtil.cpp RfpNoConfigTest.cpp RfpNoConfigTest2.cpp RfpOverridesSerializeTest.cpp RfpRasterConversion.cpp RfpTestExample1.cpp RfpTestGeotiff.cpp RfpTestGetRaster.cpp RfpTestMosaic.cpp RfpTestResample.cpp RfpTestSpatialContext.cpp RfpTestThorough.cpp RfpUnitTest.cpp UnitTest.cpp UnitTestLinux.cpp RfpTestMrSID.cpp RfpTestBand.cpp RfpTestJp2.cpp RfpTestEcw.cpp RfpTestDem.cpp RfpTestBandConfig.cpp RfpTestPng.cpp RfpTestJpg.cpp RfpTestAAIGrid.cpp RfpTestSpatialQuery.cpp ) if (MSVC) msvc_add_precompiled_header("UnitTest.h" "stdafx.cpp" GDALUnitTest_SRCS) endif (MSVC) # NOTE: Not using add_unit_test_entry_point as the entry point for this test suite # is too custom for us to bake the standard entry point source file add_executable( GDALUnitTest ${GDALUnitTest_SRCS} ) add_sanitizers( GDALUnitTest ) set(GDAL_TEST_BIN_DIR "${CMAKE_CURRENT_BINARY_DIR}/../../Bin") set_target_properties( GDALUnitTest PROPERTIES OUTPUT_NAME "UnitTest" RUNTIME_OUTPUT_DIRECTORY "${GDAL_TEST_BIN_DIR}") add_dependencies( GDALUnitTest GRFPProvider${FDO_VERSION_SUFFIX} ) if (WIN32) target_link_libraries( GDALUnitTest GRFPOverrides ProvidersCommon ${CPPUNIT_LIBRARIES} FDO ) FdoCopyBinaries(GDALUnitTest) else (WIN32) target_link_libraries( GDALUnitTest GRFPOverrides${FDO_VERSION_SUFFIX} ProvidersCommon ${CPPUNIT_LIBRARIES} FDO${FDO_VERSION_SUFFIX} ) endif (WIN32) # Ensure test data is copied to where the unit test binary is generated file(GLOB UnitTestGDAL_TESTDATA "1.xml" "4_4.xml" "example1.xml" "ManySpatialContextTest.xml" "RfpOverridesConfig.xml" "RfpOverridesSerializeTest_testSerialize1.xml" "thoroughTest.xml" ) # In a multi-generator context (VS), we can't rely on CMAKE_BUILD_TYPE being present, so just # copy the test data to all expected places file(COPY ${UnitTestGDAL_TESTDATA} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) FdoTestProviderSetupWithMessageAndOverride(GRFPProvider${FDO_VERSION_SUFFIX} "${CMAKE_CURRENT_BINARY_DIR}/../Message/GRFPMessage.dll" GRFPOverrides${FDO_VERSION_SUFFIX} GDALUnitTest "OSGeo.Gdal")