diff --git a/src/MagnumPlugins/AnyAudioImporter/Test/CMakeLists.txt b/src/MagnumPlugins/AnyAudioImporter/Test/CMakeLists.txt index 22f0de120..e9c2585f4 100644 --- a/src/MagnumPlugins/AnyAudioImporter/Test/CMakeLists.txt +++ b/src/MagnumPlugins/AnyAudioImporter/Test/CMakeLists.txt @@ -23,13 +23,22 @@ # DEALINGS IN THE SOFTWARE. # -set(WAV_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/DrWavAudioImporter/Test/stereo8.wav) -set(OGG_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/StbVorbisAudioImporter/Test/mono16.ogg) +if(CORRADE_TARGET_EMSCRIPTEN OR CORRADE_TARGET_ANDROID) + set(WAV_FILE stereo8.wav) + set(OGG_FILE mono16.ogg) +else() + set(WAV_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/DrWavAudioImporter/Test/stereo8.wav) + set(OGG_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/StbVorbisAudioImporter/Test/mono16.ogg) +endif() configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/configure.h) -corrade_add_test(AnyAudioImporterTest Test.cpp LIBRARIES MagnumAnyAudioImporterTestLib) +corrade_add_test(AnyAudioImporterTest Test.cpp + LIBRARIES MagnumAnyAudioImporterTestLib + FILES + ../../DrWavAudioImporter/Test/stereo8.wav + ../../StbVorbisAudioImporter/Test/mono16.ogg) target_include_directories(AnyAudioImporterTest PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) # On Win32 we need to avoid dllimporting AnyAudioImporter symbols, because it # would search for the symbols in some DLL even when they were linked diff --git a/src/MagnumPlugins/AnyImageConverter/Test/CMakeLists.txt b/src/MagnumPlugins/AnyImageConverter/Test/CMakeLists.txt index c2dc1105c..4612151d4 100644 --- a/src/MagnumPlugins/AnyImageConverter/Test/CMakeLists.txt +++ b/src/MagnumPlugins/AnyImageConverter/Test/CMakeLists.txt @@ -23,12 +23,17 @@ # DEALINGS IN THE SOFTWARE. # -set(PNG_OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/output.png) +if(CORRADE_TARGET_EMSCRIPTEN OR CORRADE_TARGET_ANDROID) + set(ANYIMAGECONVERTER_TEST_DIR "write") +else() + set(ANYIMAGECONVERTER_TEST_DIR ${CMAKE_CURRENT_BINARY_DIR}) +endif() configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/configure.h) -corrade_add_test(AnyImageConverterTest Test.cpp LIBRARIES MagnumAnyImageConverterTestLib) +corrade_add_test(AnyImageConverterTest Test.cpp + LIBRARIES MagnumAnyImageConverterTestLib) target_include_directories(AnyImageConverterTest PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) # On Win32 we need to avoid dllimporting AnyImageConverter symbols, because it # would search for the symbols in some DLL even when they were linked diff --git a/src/MagnumPlugins/AnyImageConverter/Test/Test.cpp b/src/MagnumPlugins/AnyImageConverter/Test/Test.cpp index d242972fb..9d617578f 100644 --- a/src/MagnumPlugins/AnyImageConverter/Test/Test.cpp +++ b/src/MagnumPlugins/AnyImageConverter/Test/Test.cpp @@ -67,13 +67,15 @@ void AnyImageConverterTest::png() { if(_manager.loadState("PngImageConverter") == PluginManager::LoadState::NotFound) CORRADE_SKIP("PngImageConverter plugin not found, cannot test"); - if(Utility::Directory::fileExists(PNG_OUTPUT_FILE)) - CORRADE_VERIFY(Utility::Directory::rm(PNG_OUTPUT_FILE)); + const std::string filename = Utility::Directory::join(ANYIMAGECONVERTER_TEST_DIR, "output.png"); + + if(Utility::Directory::fileExists(filename)) + CORRADE_VERIFY(Utility::Directory::rm(filename)); /* Just test that the exported file exists */ AnyImageConverter converter{_manager}; - CORRADE_VERIFY(converter.exportToFile(Image, PNG_OUTPUT_FILE)); - CORRADE_VERIFY(Utility::Directory::fileExists(PNG_OUTPUT_FILE)); + CORRADE_VERIFY(converter.exportToFile(Image, filename)); + CORRADE_VERIFY(Utility::Directory::fileExists(filename)); } void AnyImageConverterTest::unknown() { diff --git a/src/MagnumPlugins/AnyImageConverter/Test/configure.h.cmake b/src/MagnumPlugins/AnyImageConverter/Test/configure.h.cmake index 7c1c64324..932ed56c7 100644 --- a/src/MagnumPlugins/AnyImageConverter/Test/configure.h.cmake +++ b/src/MagnumPlugins/AnyImageConverter/Test/configure.h.cmake @@ -29,4 +29,4 @@ #define MAGNUM_PLUGINS_IMAGECONVERTER_DIR "${MAGNUM_PLUGINS_IMAGECONVERTER_DIR}" #endif -#define PNG_OUTPUT_FILE "${PNG_OUTPUT_FILE}" +#define ANYIMAGECONVERTER_TEST_DIR "${ANYIMAGECONVERTER_TEST_DIR}" diff --git a/src/MagnumPlugins/AnyImageImporter/Test/CMakeLists.txt b/src/MagnumPlugins/AnyImageImporter/Test/CMakeLists.txt index c17a984c8..b8608192d 100644 --- a/src/MagnumPlugins/AnyImageImporter/Test/CMakeLists.txt +++ b/src/MagnumPlugins/AnyImageImporter/Test/CMakeLists.txt @@ -23,14 +23,25 @@ # DEALINGS IN THE SOFTWARE. # -set(TGA_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/ColladaImporter/Test/ColladaImporterTestFiles/image.tga) -set(JPEG_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/JpegImporter/Test/rgb.jpg) -set(PNG_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/PngImporter/Test/rgb.png) +if(CORRADE_TARGET_EMSCRIPTEN OR CORRADE_TARGET_ANDROID) + set(TGA_FILE image.tga) + set(JPEG_FILE rgb.jpg) + set(PNG_FILE rgb.png) +else() + set(TGA_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/ColladaImporter/Test/ColladaImporterTestFiles/image.tga) + set(JPEG_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/JpegImporter/Test/rgb.jpg) + set(PNG_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/PngImporter/Test/rgb.png) +endif() configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/configure.h) -corrade_add_test(AnyImageImporterTest Test.cpp LIBRARIES MagnumAnyImageImporterTestLib) +corrade_add_test(AnyImageImporterTest Test.cpp + LIBRARIES MagnumAnyImageImporterTestLib + FILES + ../../ColladaImporter/Test/ColladaImporterTestFiles/image.tga + ../../JpegImporter/Test/rgb.jpg + ../../PngImporter/Test/rgb.png) target_include_directories(AnyImageImporterTest PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) # On Win32 we need to avoid dllimporting AnyImageImporter symbols, because it # would search for the symbols in some DLL even when they were linked diff --git a/src/MagnumPlugins/AnySceneImporter/Test/CMakeLists.txt b/src/MagnumPlugins/AnySceneImporter/Test/CMakeLists.txt index 92b9e270c..136e24837 100644 --- a/src/MagnumPlugins/AnySceneImporter/Test/CMakeLists.txt +++ b/src/MagnumPlugins/AnySceneImporter/Test/CMakeLists.txt @@ -23,13 +23,22 @@ # DEALINGS IN THE SOFTWARE. # -set(OBJ_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/AnySceneImporter/Test/mesh.obj) -set(PLY_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/StanfordImporter/Test/common.ply) +if(CORRADE_TARGET_EMSCRIPTEN OR CORRADE_TARGET_ANDROID) + set(OBJ_FILE mesh.obj) + set(PLY_FILE common.ply) +else() + set(OBJ_FILE ${CMAKE_CURRENT_SOURCE_DIR}/mesh.obj) + set(PLY_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/StanfordImporter/Test/common.ply) +endif() configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/configure.h) -corrade_add_test(AnySceneImporterTest Test.cpp LIBRARIES MagnumAnySceneImporterTestLib) +corrade_add_test(AnySceneImporterTest Test.cpp + LIBRARIES MagnumAnySceneImporterTestLib + FILES + mesh.obj + ../../StanfordImporter/Test/common.ply) target_include_directories(AnySceneImporterTest PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) # On Win32 we need to avoid dllimporting AnySceneImporter symbols, because it # would search for the symbols in some DLL even when they were linked