AusweisApp2/test/qt/CMakeLists.txt

68 lines
2.4 KiB
CMake
Raw Normal View History

2017-07-03 09:30:10 +02:00
FUNCTION(ADD_TEST_EXECUTABLE testname)
2019-01-03 15:06:22 +01:00
IF(ANDROID)
ADD_LIBRARY(${testname} SHARED ${ARGN})
ELSE()
ADD_EXECUTABLE(${testname} ${ARGN})
ENDIF()
2017-07-03 09:30:10 +02:00
2019-01-03 15:06:22 +01:00
TARGET_LINK_LIBRARIES(${testname} Qt5::Network Qt5::Test OpenSSL::Crypto)
2017-12-20 14:54:05 +01:00
TARGET_LINK_LIBRARIES(${testname} AusweisAppTestHelper AusweisAppCore AusweisAppCard AusweisAppGlobal AusweisAppCardDrivers AusweisAppServices AusweisAppSettings AusweisAppNetwork)
2019-01-03 15:06:22 +01:00
TARGET_LINK_LIBRARIES(${testname} AusweisAppActivationInternal AusweisAppUiJsonApi AusweisAppUiAidl AusweisAppUiQml)
TARGET_LINK_LIBRARIES(${testname} AusweisAppRemoteDevice AusweisAppExport)
2017-12-20 14:54:05 +01:00
TARGET_LINK_LIBRARIES(${testname} AusweisAppSecureStorage AusweisAppConfiguration AusweisAppFileProvider)
TARGET_LINK_LIBRARIES(${testname} QRC_FIXTURE_OBJ)
2017-07-03 09:30:10 +02:00
2017-07-03 09:33:28 +02:00
IF(DESKTOP)
2019-01-03 15:06:22 +01:00
TARGET_LINK_LIBRARIES(${testname} Qt5::Widgets AusweisAppUiWidget AusweisAppCardPcsc AusweisAppActivationWebservice)
2017-07-03 09:30:10 +02:00
ENDIF()
IF(LINUX OR ANDROID OR IOS)
TARGET_LINK_LIBRARIES(${testname} AusweisAppCardBluetooth)
ENDIF()
2019-01-03 15:06:22 +01:00
TARGET_LINK_LIBRARIES(${testname} AusweisAppWhitelistClient)
2017-07-03 09:30:10 +02:00
IF(WIN32)
TARGET_LINK_LIBRARIES(${testname} ${WIN_DEFAULT_LIBS})
ELSEIF(MAC)
TARGET_LINK_LIBRARIES(${testname} ${OSX_APPKIT})
ELSEIF(ANDROID)
TARGET_LINK_LIBRARIES(${testname} Qt5::AndroidExtras)
ENDIF()
ENDFUNCTION()
FUNCTION(ADD_TEST_EXECUTABLE_SUBDIR)
SUBDIRLIST(SUBDIRS ${CMAKE_CURRENT_SOURCE_DIR})
IF(IOS OR ANDROID)
2017-12-20 14:54:05 +01:00
LIST(REMOVE_ITEM SUBDIRS widget)
2017-07-03 09:33:28 +02:00
LIST(REMOVE_ITEM SUBDIRS cli)
2017-07-03 09:30:10 +02:00
LIST(REMOVE_ITEM SUBDIRS pcsc)
2017-07-03 09:33:28 +02:00
LIST(REMOVE_ITEM SUBDIRS drivers)
LIST(REMOVE_ITEM SUBDIRS activation_webservice)
2017-07-03 09:30:10 +02:00
ENDIF()
FOREACH(SUBDIR ${SUBDIRS})
FILE(GLOB_RECURSE TEST_SUBFILES "${SUBDIR}/*.cpp")
FOREACH(sourcefile ${TEST_SUBFILES})
2017-12-20 14:54:05 +01:00
STRING(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}" "" sourcefile_relative "${sourcefile}")
IF(NOT (((APPLE OR WIN32 OR BSD) AND "${sourcefile_relative}" MATCHES "card/bluetooth") OR
((IOS OR ANDROID) AND "${sourcefile_relative}" MATCHES "card/pcsc")))
EXTRACT_TESTNAME(TESTNAME ${sourcefile})
ADD_TEST_EXECUTABLE(${TESTNAME} ${sourcefile})
GET_TEST_CMDLINE(TEST_CMDLINE ${TESTNAME})
ADD_TEST(${TESTNAME} ${TESTNAME} ${TEST_CMDLINE})
SET_TESTS_PROPERTIES(${TESTNAME} PROPERTIES LABELS "ausweisapp")
ENDIF()
2017-07-03 09:30:10 +02:00
ENDFOREACH()
ENDFOREACH()
ENDFUNCTION()
CONFIGURE_DEFAULT_FILES(${CMAKE_CURRENT_BINARY_DIR})
# Build single test binaries for each cpp file
ADD_TEST_EXECUTABLE_SUBDIR()