summaryrefslogtreecommitdiffhomepage
path: root/external/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'external/CMakeLists.txt')
-rw-r--r--external/CMakeLists.txt141
1 files changed, 141 insertions, 0 deletions
diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
new file mode 100644
index 00000000..d70503a0
--- /dev/null
+++ b/external/CMakeLists.txt
@@ -0,0 +1,141 @@
+project(floormat-external)
+
+foreach(_module corrade magnum magnum-integration magnum-plugins)
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/${_module}/modules")
+endforeach()
+
+if(MSVC)
+ add_link_options(-WX:NO)
+else()
+ add_compile_options(-Wno-error)
+endif()
+
+if(FLOORMAT_SUBMODULE_DEPENDENCIES)
+ sets(BOOL
+ CORRADE_BUILD_STATIC OFF
+ CORRADE_BUILD_TESTS OFF
+ CORRADE_BUILD_DEPRECATED OFF
+
+ CORRADE_MSVC_COMPATIBILITY OFF
+
+ CORRADE_UTILITY_USE_ANSI_COLORS ON
+ CORRADE_WITH_TESTSUITE ON
+
+ MAGNUM_BUILD_STATIC OFF
+ MAGNUM_BUILD_TESTS OFF
+
+ MAGNUM_WITH_ANYIMAGECONVERTER ON
+ MAGNUM_WITH_ANYIMAGEIMPORTER ON
+ MAGNUM_WITH_DISTANCEFIELDCONVERTER ON
+ MAGNUM_WITH_FONTCONVERTER ON
+ MAGNUM_WITH_GL_INFO ON
+ MAGNUM_WITH_IMAGECONVERTER ON
+ MAGNUM_WITH_MAGNUMFONT ON
+ MAGNUM_WITH_MAGNUMFONTCONVERTER ON
+ MAGNUM_WITH_OBJIMPORTER ON
+ MAGNUM_WITH_OPENGLTESTER ON
+ MAGNUM_WITH_SDL2APPLICATION ON
+ MAGNUM_WITH_SHADERCONVERTER ON
+ MAGNUM_WITH_SHADERS ON
+ MAGNUM_WITH_SHADERTOOLS ON
+ MAGNUM_WITH_TGAIMAGECONVERTER ON
+ MAGNUM_WITH_TGAIMPORTER ON
+ MAGNUM_WITH_WINDOWLESSWGLAPPLICATION ON
+
+ MAGNUM_WITH_DDSIMPORTER ON
+ MAGNUM_WITH_GLTFIMPORTER ON
+ MAGNUM_WITH_ICOIMPORTER ON
+ MAGNUM_WITH_PRIMITIVEIMPORTER ON
+ MAGNUM_WITH_STBIMAGECONVERTER ON
+ MAGNUM_WITH_STBIMAGEIMPORTER ON
+ MAGNUM_WITH_STBTRUETYPEFONT ON
+ MAGNUM_WITH_TINYGLTFIMPORTER OFF
+
+ MAGNUM_WITH_BULLET OFF
+ MAGNUM_WITH_DART OFF
+ MAGNUM_WITH_EIGEN OFF
+ MAGNUM_WITH_GLM OFF
+ MAGNUM_WITH_IMGUI ON
+ )
+
+ sets(BOOL
+ SDL_ASSERTIONS release
+
+ SDL_3DNOW OFF
+ SDL_ALTIVEC OFF
+ #SDL_ASSEMBLY OFF
+ SDL_ATOMIC OFF
+ SDL_AUDIO OFF
+ SDL_CPUINFO OFF
+ SDL_DIRECTX OFF
+ SDL_DISKAUDIO OFF
+ SDL_DUMMYAUDIO OFF
+ SDL_DUMMYVIDEO OFF
+ SDL_FILE OFF
+ SDL_FILESYSTEM OFF
+ SDL_HAPTIC OFF
+ SDL_HIDAPI OFF
+ SDL_HIDAPI_JOYSTICK OFF
+ SDL_JOYSTICK OFF
+ SDL_LIBC ON
+ SDL_LOADSO ON
+ SDL_LOCALE OFF
+ SDL_MISC OFF
+ #SDL_MMX OFF
+ SDL_OPENGL ON
+ SDL_OPENGLES OFF
+ SDL_POWER OFF
+ SDL_RENDER OFF
+ SDL_RENDER_D3D OFF
+ SDL_SENSOR OFF
+ #SDL_SSE OFF
+ #SDL_SSE2 OFF
+ #SDL_SSE3 OFF
+ #SDL_SSEMATH OFF
+ SDL_SYSTEM_ICONV OFF
+ SDL_TEST OFF
+ SDL_THREADS ON
+ SDL_TIMERS OFF
+ SDL_VIDEO ON
+ SDL_VIRTUAL_JOYSTICK OFF
+ SDL_VULKAN OFF
+ SDL_WASAPI OFF
+ SDL_XINPUT OFF
+
+ SDL2_DISABLE_INSTALL OFF
+ SDL2_DISABLE_SDL2MAIN ON
+ )
+
+ sets(BOOL
+ JSON_Diagnostics ON
+ JSON_Install ON
+ JSON_MultipleHeaders ON
+ JSON_SystemInclude ON
+ )
+endif()
+
+if(FLOORMAT_SUBMODULE_DEPENDENCIES)
+ sets(PATH IMGUI_DIR "${CMAKE_CURRENT_SOURCE_DIR}/imgui")
+ add_subdirectory(json)
+ add_subdirectory(sdl2)
+ add_subdirectory(corrade)
+ add_subdirectory(magnum)
+ add_subdirectory(magnum-plugins)
+ add_subdirectory(magnum-integration)
+endif()
+
+if(FLOORMAT_SUBMODULE_DEPENDENCIES)
+ if(MSVC)
+ target_compile_options(CorradeTestSuite PRIVATE -EHsc)
+ set_property(DIRECTORY APPEND PROPERTY STATIC_LIBRARY_OPTIONS
+ -IGNORE:4006 #warning LNK4006: main already defined in x.cpp.obj; second definition ignored
+ )
+ endif()
+endif()
+
+find_package(SDL2 QUIET REQUIRED)
+find_package(Corrade QUIET REQUIRED)
+find_package(ImGui QUIET REQUIRED)
+find_package(Magnum QUIET REQUIRED)
+find_package(MagnumPlugins QUIET REQUIRED)
+find_package(MagnumIntegration QUIET REQUIRED ImGui)