view ui/tests/CMakeLists.txt @ 231:c342b93c5bd1

Refactoring.
author Sascha Wilde <wilde@intevation.de>
date Fri, 28 Mar 2014 10:45:55 +0100
parents e6c5c70a67b0
children c05e126b0b9e
line wrap: on
line source
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})

include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/../../common)

find_package(Qt5Test)
include_directories(${Qt5Test_INCLUDE_DIRS})
find_program(HIAWATHA_EXECUTABLE hiawatha)

if (NOT HIAWATHA_EXECUTABLE)
   message (STATUS "WARNING: hiawatha webserver not found. Downloader tests will fail.")
else()
  add_definitions(-DHIAWATHA_EXECUTABLE="${HIAWATHA_EXECUTABLE}")
endif()

macro(add_m13_test _source _additional_sources)
  set(_test ${_source})
  get_filename_component(_name ${_source} NAME_WE)
  set(_test_sources_with_resources ${_test} ${_additional_sources})
  qt5_add_resources(_test_sources_with_resources
     ${CMAKE_CURRENT_SOURCE_DIR}/data/testdata.qrc)
  add_executable(${_name} ${_test_sources_with_resources})
  add_test(m13-${_name} ${_name})
  target_link_libraries(${_name} Qt5::Test Qt5::Widgets
     m13_common
     ${POLARSSL_LIBRARIES}
     ${EXTRA_STATIC_LIBS})
endmacro()

# Add the current source dir to the definition
# so that it can be used in file names in the tests.
add_definitions(-DSOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}")
add_m13_test(certlistparsertest.cpp "${CERTIFICATELIST_SOURCES}")

# Downloader
if (HIAWATHA_EXECUTABLE)
  set(DOWNLOADER_SOURCES_WITH_RESOURCES ${DOWNLOADER_SOURCES})
  qt5_add_resources(DOWNLOADER_SOURCES_WITH_RESOURCES ${M13UI_RESOURCES})
  add_m13_test(downloadertest.cpp "${DOWNLOADER_SOURCES_WITH_RESOURCES}")
endif()

# Cinstprocess
add_m13_test(cinstprocesstest.cpp "${CERTIFICATELIST_SOURCES}")
add_m13_test(commontest.cpp "")

if (WIN32)
   add_m13_test(windowsstoretest.cpp "${CERTIFICATELIST_SOURCES};${CMAKE_SOURCE_DIR}/cinst/windowsstore.c")
endif (WIN32)

#add_m13_test(${CMAKE_SOURCE_DIR}/ui/main.cpp "${M13UI_SOURCES}")

http://wald.intevation.org/projects/trustbridge/