project(tests) set(LAUNCHER_TESTS "") function(launcher_add_test source name) ecm_add_test(${source} LINK_LIBRARIES Launcher_logic Qt${QT_VERSION_MAJOR}::Test TEST_NAME ${name}) if(TARGET projt_cef_runtime_deps) target_link_libraries(${name} projt_cef_runtime_deps) endif() list(APPEND LAUNCHER_TESTS ${name}) set_property(GLOBAL APPEND PROPERTY PROJT_LAUNCHER_TEST_TARGETS ${name}) set(LAUNCHER_TESTS "${LAUNCHER_TESTS}" PARENT_SCOPE) endfunction() launcher_add_test(FileSystem_test.cpp FileSystem) launcher_add_test(GZip_test.cpp GZip) launcher_add_test(GradleSpecifier_test.cpp GradleSpecifier) launcher_add_test(MojangVersionFormat_test.cpp MojangVersionFormat) launcher_add_test(Library_test.cpp Library) launcher_add_test(ResourceFolderModel_test.cpp ResourceFolderModel) launcher_add_test(ResourcePackParse_test.cpp ResourcePackParse) launcher_add_test(TexturePackParse_test.cpp TexturePackParse) launcher_add_test(DataPackParse_test.cpp DataPackParse) launcher_add_test(ShaderPackParse_test.cpp ShaderPackParse) launcher_add_test(WorldSaveParse_test.cpp WorldSaveParse) launcher_add_test(ParseUtils_test.cpp ParseUtils) launcher_add_test(Task_test.cpp Task) launcher_add_test(INIFile_test.cpp INIFile) launcher_add_test(ExponentialSeries_test.cpp ExponentialSeries) launcher_add_test(Filter_test.cpp Filter) launcher_add_test(JavaVersion_test.cpp JavaVersion) launcher_add_test(RuntimeVersion_test.cpp RuntimeVersion) launcher_add_test(Packwiz_test.cpp Packwiz) launcher_add_test(Index_test.cpp Index) launcher_add_test(Version_test.cpp Version) launcher_add_test(SeparatorPrefixTree_test.cpp SeparatorPrefixTree) launcher_add_test(StringUtils_test.cpp StringUtils) launcher_add_test(Json_test.cpp Json) launcher_add_test(NetUtils_test.cpp NetUtils) launcher_add_test(ModPlatform_test.cpp ModPlatform) launcher_add_test(LaunchVariableExpander_test.cpp LaunchVariableExpander) launcher_add_test(LaunchLogModel_test.cpp LaunchLogModel) launcher_add_test(LaunchLineRouter_test.cpp LaunchLineRouter) launcher_add_test(LaunchPipeline_test.cpp LaunchPipeline) launcher_add_test(InstanceCopyPrefs_test.cpp InstanceCopyPrefs) launcher_add_test(MessageLevel_test.cpp MessageLevel) launcher_add_test(BaseInstanceSettings_test.cpp BaseInstanceSettings) launcher_add_test(NetHeaderProxy_test.cpp NetHeaderProxy) launcher_add_test(NetSink_test.cpp NetSink) launcher_add_test(MetaComponentParse_test.cpp MetaComponentParse) launcher_add_test(CatPack_test.cpp CatPack) launcher_add_test(DefaultVariable_test.cpp DefaultVariable) launcher_add_test(Commandline_test.cpp Commandline) launcher_add_test(KonamiCode_test.cpp KonamiCode) launcher_add_test(ApplicationMessage_test.cpp ApplicationMessage) launcher_add_test(XmlLogs_test.cpp XmlLogs) launcher_add_test(LogEventParser_test.cpp LogEventParser) launcher_add_test(MMCTime_test.cpp MMCTime) launcher_add_test(VersionFilterData_test.cpp VersionFilterData) launcher_add_test(StringUtilsNaturalCompare_test.cpp StringUtilsNaturalCompare) launcher_add_test(StringUtilsSplitFirst_test.cpp StringUtilsSplitFirst) launcher_add_test(StringUtilsTruncateUrl_test.cpp StringUtilsTruncateUrl) launcher_add_test(StringUtilsHtmlPatch_test.cpp StringUtilsHtmlPatch) launcher_add_test(JsonTypes_test.cpp JsonTypes) launcher_add_test(JsonHelpers_test.cpp JsonHelpers) if(NOT APPLE) launcher_add_test(ProjTExternalUpdater_test.cpp ProjTExternalUpdater) endif() if(UNIX AND NOT APPLE) set(_launcher_test_paths "") if(TARGET MINIZIP::minizip) list(APPEND _launcher_test_paths "$") endif() if(TARGET PTlibzippy::PTlibzippy) list(APPEND _launcher_test_paths "$") endif() if(TARGET QuaZip) list(APPEND _launcher_test_paths "$") elseif(TARGET QuaZip::QuaZip) list(APPEND _launcher_test_paths "$") endif() if(TARGET cmark) list(APPEND _launcher_test_paths "$") elseif(TARGET cmark::cmark) list(APPEND _launcher_test_paths "$") endif() if(TARGET OpenSSL::Crypto) list(APPEND _launcher_test_paths "$") endif() if(TARGET OpenSSL::SSL) list(APPEND _launcher_test_paths "$") endif() list(JOIN _launcher_test_paths ":" _launcher_test_paths_joined) if(_launcher_test_paths_joined) set(_launcher_test_env_list "") list(APPEND _launcher_test_env_list "LD_LIBRARY_PATH=${_launcher_test_paths_joined}:$ENV{LD_LIBRARY_PATH}") set_property(TEST ${LAUNCHER_TESTS} PROPERTY ENVIRONMENT "${_launcher_test_env_list}") endif() endif() if(WIN32) set(_qt_cmake_dir "") if(DEFINED Qt6_DIR) set(_qt_cmake_dir "${Qt6_DIR}") elseif(DEFINED Qt5_DIR) set(_qt_cmake_dir "${Qt5_DIR}") endif() if(_qt_cmake_dir) get_filename_component(_qt_prefix "${_qt_cmake_dir}" DIRECTORY) get_filename_component(_qt_prefix "${_qt_prefix}" DIRECTORY) get_filename_component(_qt_prefix "${_qt_prefix}" DIRECTORY) set(_qt_bin_dir "${_qt_prefix}/bin") else() set(_qt_core_target "") if(TARGET Qt6::Core) set(_qt_core_target Qt6::Core) elseif(TARGET Qt5::Core) set(_qt_core_target Qt5::Core) endif() if(_qt_core_target) get_target_property(_qt_core_location ${_qt_core_target} IMPORTED_LOCATION_RELEASE) if(NOT _qt_core_location) get_target_property(_qt_core_location ${_qt_core_target} IMPORTED_LOCATION_DEBUG) endif() if(NOT _qt_core_location) get_target_property(_qt_core_location ${_qt_core_target} IMPORTED_LOCATION) endif() if(_qt_core_location) get_filename_component(_qt_lib_dir "${_qt_core_location}" DIRECTORY) get_filename_component(_qt_prefix "${_qt_lib_dir}" DIRECTORY) set(_qt_bin_dir "${_qt_prefix}/bin") endif() endif() endif() if(EXISTS "${_qt_bin_dir}") set(_launcher_test_env_list "") set(_launcher_test_paths "${_qt_bin_dir}" "${CMAKE_BINARY_DIR}" "${CMAKE_BINARY_DIR}/$") set(_qt_core_target "Qt${QT_VERSION_MAJOR}::Core") if(TARGET ${_qt_core_target}) list(APPEND _launcher_test_paths "$") endif() if(TARGET QuaZip) list(APPEND _launcher_test_paths "$") elseif(TARGET QuaZip::QuaZip) list(APPEND _launcher_test_paths "$") endif() if(TARGET cmark) list(APPEND _launcher_test_paths "$") elseif(TARGET cmark::cmark) list(APPEND _launcher_test_paths "$") endif() if(TARGET PTlibzippy::PTlibzippy) list(APPEND _launcher_test_paths "$") endif() if(TARGET OpenSSL::SSL) list(APPEND _launcher_test_paths "$") endif() if(TARGET OpenSSL::Crypto) list(APPEND _launcher_test_paths "$") endif() if(DEFINED OPENSSL_ROOT_DIR AND EXISTS "${OPENSSL_ROOT_DIR}/bin") list(APPEND _launcher_test_paths "${OPENSSL_ROOT_DIR}/bin") endif() if(DEFINED OPENSSL_ROOT_DIR AND EXISTS "${OPENSSL_ROOT_DIR}") list(APPEND _launcher_test_paths "${OPENSSL_ROOT_DIR}") endif() if(DEFINED OPENSSL_CRYPTO_LIBRARY AND EXISTS "${OPENSSL_CRYPTO_LIBRARY}") get_filename_component(_launcher_openssl_lib_dir "${OPENSSL_CRYPTO_LIBRARY}" DIRECTORY) list(APPEND _launcher_test_paths "${_launcher_openssl_lib_dir}") endif() if(DEFINED OPENSSL_SSL_LIBRARY AND EXISTS "${OPENSSL_SSL_LIBRARY}") get_filename_component(_launcher_openssl_ssl_dir "${OPENSSL_SSL_LIBRARY}" DIRECTORY) list(APPEND _launcher_test_paths "${_launcher_openssl_ssl_dir}") endif() set(_launcher_test_path "PATH=${_launcher_test_paths};$ENV{PATH}") string(REPLACE ";" "\\;" _launcher_test_path "${_launcher_test_path}") list(APPEND _launcher_test_env_list "${_launcher_test_path}") if(EXISTS "${_qt_prefix}/plugins") list(APPEND _launcher_test_env_list "QT_PLUGIN_PATH=${_qt_prefix}/plugins") if(EXISTS "${_qt_prefix}/plugins/platforms") list(APPEND _launcher_test_env_list "QT_QPA_PLATFORM_PLUGIN_PATH=${_qt_prefix}/plugins/platforms") endif() endif() list(APPEND _launcher_test_env_list "QT_QPA_PLATFORM=windows") set_property(TEST ${LAUNCHER_TESTS} PROPERTY ENVIRONMENT "${_launcher_test_env_list}") endif() endif()