129 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
#-----------------------------------------------------------------------------
 | 
						|
#
 | 
						|
#  CMake Config
 | 
						|
#
 | 
						|
#  Libosmium data tests
 | 
						|
#
 | 
						|
#-----------------------------------------------------------------------------
 | 
						|
 | 
						|
message(STATUS "Configuring data tests")
 | 
						|
 | 
						|
if(NOT GDAL_FOUND OR NOT EXPAT_FOUND)
 | 
						|
    message(STATUS "Sorry, building data tests needs GDAL and Expat")
 | 
						|
    message(STATUS "Configuring data tests - failed")
 | 
						|
    return()
 | 
						|
endif()
 | 
						|
 | 
						|
message(STATUS "Looking for osm-testdata")
 | 
						|
find_path(OSM_TESTDATA grid/data/all.osm HINT osm-testdata)
 | 
						|
if(OSM_TESTDATA STREQUAL "OSM_TESTDATA-NOTFOUND")
 | 
						|
    message(STATUS "Looking for osm-testdata - not found (data tests disabled)")
 | 
						|
    message(STATUS "Configuring data tests - failed")
 | 
						|
    return()
 | 
						|
endif()
 | 
						|
message(STATUS "Looking for osm-testdata - found")
 | 
						|
 | 
						|
 | 
						|
#-----------------------------------------------------------------------------
 | 
						|
 | 
						|
include_directories(SYSTEM ../catch)
 | 
						|
include_directories(include)
 | 
						|
include_directories(../include)
 | 
						|
 | 
						|
 | 
						|
#-----------------------------------------------------------------------------
 | 
						|
#
 | 
						|
#  testcases
 | 
						|
#
 | 
						|
#-----------------------------------------------------------------------------
 | 
						|
file(GLOB TESTCASE_CPPS testcases/*.cpp)
 | 
						|
add_executable(testdata-testcases testdata-testcases.cpp ${TESTCASE_CPPS})
 | 
						|
set_pthread_on_target(testdata-testcases)
 | 
						|
target_link_libraries(testdata-testcases
 | 
						|
                      ${OSMIUM_XML_LIBRARIES}
 | 
						|
)
 | 
						|
add_test(NAME testdata-testcases
 | 
						|
         COMMAND testdata-testcases
 | 
						|
)
 | 
						|
set_tests_properties(testdata-testcases PROPERTIES
 | 
						|
    ENVIRONMENT "TESTCASES_DIR=${OSM_TESTDATA}/grid/data"
 | 
						|
    LABELS "data;fast")
 | 
						|
 | 
						|
 | 
						|
#-----------------------------------------------------------------------------
 | 
						|
#
 | 
						|
#  xml
 | 
						|
#
 | 
						|
#-----------------------------------------------------------------------------
 | 
						|
add_executable(testdata-xml testdata-xml.cpp)
 | 
						|
set_pthread_on_target(testdata-xml)
 | 
						|
target_link_libraries(testdata-xml
 | 
						|
                      ${OSMIUM_XML_LIBRARIES}
 | 
						|
)
 | 
						|
add_test(NAME testdata-xml
 | 
						|
         COMMAND testdata-xml
 | 
						|
)
 | 
						|
set_tests_properties(testdata-xml PROPERTIES
 | 
						|
    ENVIRONMENT "TESTDIR=${OSM_TESTDATA}/xml/data"
 | 
						|
    LABELS "data;fast")
 | 
						|
 | 
						|
 | 
						|
#-----------------------------------------------------------------------------
 | 
						|
#
 | 
						|
#  overview
 | 
						|
#
 | 
						|
#-----------------------------------------------------------------------------
 | 
						|
add_executable(testdata-overview testdata-overview.cpp)
 | 
						|
set_pthread_on_target(testdata-overview)
 | 
						|
target_link_libraries(testdata-overview
 | 
						|
                      ${OSMIUM_XML_LIBRARIES}
 | 
						|
                      ${GDAL_LIBRARIES}
 | 
						|
)
 | 
						|
add_test(NAME testdata-overview
 | 
						|
         COMMAND testdata-overview ${OSM_TESTDATA}/grid/data/all.osm
 | 
						|
)
 | 
						|
set_tests_properties(testdata-overview PROPERTIES
 | 
						|
    LABELS "data;slow")
 | 
						|
 | 
						|
 | 
						|
#-----------------------------------------------------------------------------
 | 
						|
#
 | 
						|
#  multipolygon
 | 
						|
#
 | 
						|
#-----------------------------------------------------------------------------
 | 
						|
 | 
						|
find_program(RUBY ruby)
 | 
						|
if(RUBY)
 | 
						|
    find_package(Gem COMPONENTS json)
 | 
						|
endif()
 | 
						|
 | 
						|
find_program(SPATIALITE spatialite)
 | 
						|
 | 
						|
if(RUBY AND GEM_json_FOUND AND SPATIALITE)
 | 
						|
    add_executable(testdata-multipolygon testdata-multipolygon.cpp)
 | 
						|
    set_pthread_on_target(testdata-multipolygon)
 | 
						|
    target_link_libraries(testdata-multipolygon
 | 
						|
                          ${OSMIUM_XML_LIBRARIES}
 | 
						|
                          ${GDAL_LIBRARIES}
 | 
						|
    )
 | 
						|
 | 
						|
    add_test(NAME testdata-multipolygon
 | 
						|
             COMMAND ${CMAKE_COMMAND}
 | 
						|
                 -D OSM_TESTDATA=${OSM_TESTDATA}
 | 
						|
                 -D RUBY=${RUBY}
 | 
						|
                 -D EXECUTABLE=$<TARGET_FILE:testdata-multipolygon>
 | 
						|
                 -P ${CMAKE_CURRENT_SOURCE_DIR}/run-testdata-multipolygon.cmake)
 | 
						|
 | 
						|
    set_tests_properties(testdata-multipolygon PROPERTIES LABELS "data;slow")
 | 
						|
    configure_file(multipolygon.qgs ${CMAKE_CURRENT_BINARY_DIR}/multipolygon.qgs @ONLY)
 | 
						|
else()
 | 
						|
    message(WARNING "Disabled testdata-multipolygon test because 'ruby' and/or 'json' ruby gem and/or 'spatialite' was not found")
 | 
						|
endif()
 | 
						|
 | 
						|
 | 
						|
#-----------------------------------------------------------------------------
 | 
						|
message(STATUS "Configuring data tests - done")
 | 
						|
 | 
						|
 | 
						|
#-----------------------------------------------------------------------------
 |