From 1ec669100551583b6e3e02b42e47ad735794e9f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Fri, 17 Apr 2020 17:25:02 +0200 Subject: [PATCH] plugins: these checks are done in the top-level CMakeLists.txt already. Moreover, doing them here would mean the options might get ignored with no clear reason why. Aaand yes of course this caused MagnumFontConverter to be skipped for no clear reason on embedded platforms, and uncovered a setup bug in the test. --- src/MagnumPlugins/CMakeLists.txt | 8 ++++---- .../MagnumFontConverter/Test/CMakeLists.txt | 13 ++++++++++++- .../Test/MagnumFontConverterTest.cpp | 5 ++++- .../MagnumFontConverter/Test/configure.h.cmake | 4 ++-- 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/MagnumPlugins/CMakeLists.txt b/src/MagnumPlugins/CMakeLists.txt index eb114528e..55641e253 100644 --- a/src/MagnumPlugins/CMakeLists.txt +++ b/src/MagnumPlugins/CMakeLists.txt @@ -34,7 +34,7 @@ macro(add_plugin plugin_name debug_install_dirs release_install_dirs metadata_fi endif() endmacro() -if(WITH_AUDIO AND WITH_ANYAUDIOIMPORTER) +if(WITH_ANYAUDIOIMPORTER) add_subdirectory(AnyAudioImporter) endif() @@ -50,11 +50,11 @@ if(WITH_ANYSCENEIMPORTER) add_subdirectory(AnySceneImporter) endif() -if(WITH_TEXT AND WITH_MAGNUMFONT) +if(WITH_MAGNUMFONT) add_subdirectory(MagnumFont) endif() -if(WITH_TEXT AND WITH_MAGNUMFONTCONVERTER AND NOT MAGNUM_TARGET_GLES) +if(WITH_MAGNUMFONTCONVERTER) add_subdirectory(MagnumFontConverter) endif() @@ -70,6 +70,6 @@ if(WITH_TGAIMPORTER) add_subdirectory(TgaImporter) endif() -if(WITH_AUDIO AND WITH_WAVAUDIOIMPORTER) +if(WITH_WAVAUDIOIMPORTER) add_subdirectory(WavAudioImporter) endif() diff --git a/src/MagnumPlugins/MagnumFontConverter/Test/CMakeLists.txt b/src/MagnumPlugins/MagnumFontConverter/Test/CMakeLists.txt index d8c8a267b..05159a254 100644 --- a/src/MagnumPlugins/MagnumFontConverter/Test/CMakeLists.txt +++ b/src/MagnumPlugins/MagnumFontConverter/Test/CMakeLists.txt @@ -23,6 +23,14 @@ # DEALINGS IN THE SOFTWARE. # +if(CORRADE_TARGET_EMSCRIPTEN OR CORRADE_TARGET_ANDROID) + set(MAGNUMFONTCONVERTER_TEST_WRITE_DIR "write") + set(MAGNUMFONT_TEST_DIR ".") +else() + set(MAGNUMFONTCONVERTER_TEST_WRITE_DIR ${CMAKE_CURRENT_BINARY_DIR}) + set(MAGNUMFONT_TEST_DIR ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/MagnumFont/Test) +endif() + # CMake before 3.8 has broken $ expressions for iOS (see # https://gitlab.kitware.com/cmake/cmake/merge_requests/404) and since Corrade # doesn't support dynamic plugins on iOS, this sorta works around that. Should @@ -42,7 +50,10 @@ file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/$/configure.h INPUT ${CMAKE_CURRENT_BINARY_DIR}/configure.h.in) corrade_add_test(MagnumFontConverterTest MagnumFontConverterTest.cpp - LIBRARIES MagnumText MagnumTrade) + LIBRARIES MagnumText MagnumTrade + FILES + ../../MagnumFont/Test/font.conf + ../../MagnumFont/Test/font.tga) target_include_directories(MagnumFontConverterTest PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/$) if(BUILD_PLUGINS_STATIC) target_link_libraries(MagnumFontConverterTest PRIVATE diff --git a/src/MagnumPlugins/MagnumFontConverter/Test/MagnumFontConverterTest.cpp b/src/MagnumPlugins/MagnumFontConverter/Test/MagnumFontConverterTest.cpp index b98c592db..7dab66d07 100644 --- a/src/MagnumPlugins/MagnumFontConverter/Test/MagnumFontConverterTest.cpp +++ b/src/MagnumPlugins/MagnumFontConverter/Test/MagnumFontConverterTest.cpp @@ -69,6 +69,9 @@ MagnumFontConverterTest::MagnumFontConverterTest() { #ifdef TGAIMPORTER_PLUGIN_FILENAME CORRADE_INTERNAL_ASSERT(_importerManager.load(TGAIMPORTER_PLUGIN_FILENAME) & PluginManager::LoadState::Loaded); #endif + + /* Create the output directory if it doesn't exist yet */ + CORRADE_INTERNAL_ASSERT(Utility::Directory::mkpath(MAGNUMFONTCONVERTER_TEST_WRITE_DIR)); } void MagnumFontConverterTest::exportFont() { @@ -129,7 +132,7 @@ void MagnumFontConverterTest::exportFont() { /* Convert the file */ Containers::Pointer converter = _fontConverterManager.instantiate("MagnumFontConverter"); - converter->exportFontToFile(font, cache, Utility::Directory::join(MAGNUMFONTCONVERTER_TEST_WRITE_DIR, "font"), "Wave"); + CORRADE_VERIFY(converter->exportFontToFile(font, cache, Utility::Directory::join(MAGNUMFONTCONVERTER_TEST_WRITE_DIR, "font"), "Wave")); /* Verify font parameters */ CORRADE_COMPARE_AS(Utility::Directory::join(MAGNUMFONTCONVERTER_TEST_WRITE_DIR, "font.conf"), diff --git a/src/MagnumPlugins/MagnumFontConverter/Test/configure.h.cmake b/src/MagnumPlugins/MagnumFontConverter/Test/configure.h.cmake index 7ec975380..1c158206c 100644 --- a/src/MagnumPlugins/MagnumFontConverter/Test/configure.h.cmake +++ b/src/MagnumPlugins/MagnumFontConverter/Test/configure.h.cmake @@ -26,5 +26,5 @@ #cmakedefine MAGNUMFONTCONVERTER_PLUGIN_FILENAME "${MAGNUMFONTCONVERTER_PLUGIN_FILENAME}" #cmakedefine TGAIMAGECONVERTER_PLUGIN_FILENAME "${TGAIMAGECONVERTER_PLUGIN_FILENAME}" #cmakedefine TGAIMPORTER_PLUGIN_FILENAME "${TGAIMPORTER_PLUGIN_FILENAME}" -#define MAGNUMFONTCONVERTER_TEST_WRITE_DIR "${CMAKE_CURRENT_BINARY_DIR}" -#define MAGNUMFONT_TEST_DIR "${PROJECT_SOURCE_DIR}/src/MagnumPlugins/MagnumFont/Test" +#define MAGNUMFONTCONVERTER_TEST_WRITE_DIR "${MAGNUMFONTCONVERTER_TEST_WRITE_DIR}" +#define MAGNUMFONT_TEST_DIR "${MAGNUMFONT_TEST_DIR}"