view ui/tests/CMakeLists.txt @ 360:c0eac5c8c245

Keep working on nssstore_win and clarify its specification
author Andre Heinecke <andre.heinecke@intevation.de>
date Thu, 10 Apr 2014 20:20:02 +0200
parents 455d6d00e896
children 35d6b371ba63
line wrap: on
line source
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})

include_directories(${CMAKE_CURRENT_BINARY_DIR}
   ${CMAKE_SOURCE_DIR}/ui
   ${CMAKE_SOURCE_DIR}/common
   ${CMAKE_SOURCE_DIR}/cinst)

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};${CMAKE_CURRENT_SOURCE_DIR}/common.cpp")
  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_dependencies(cinstprocesstest cinst)
add_m13_test(commontest.cpp "")

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

if (NSS_FOUND)
   include_directories(${NSS_INCLUDE_DIRS})
   set(NSSTEST_SOURCES
      ${CERTIFICATELIST_SOURCES}
      ${CMAKE_SOURCE_DIR}/cinst/nssstore_linux.c
      ${CMAKE_SOURCE_DIR}/cinst/nssstore_win.c)
   add_m13_test(nsstest.cpp "${NSSTEST_SOURCES}")
   target_link_libraries(nsstest ${NSS_LIBRARIES})
   if (WIN32)
      target_link_libraries(nsstest -luserenv)
   endif()

   add_dependencies(nsstest mozilla)
endif()

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

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