fix magnum build

This commit is contained in:
Alexander Klingenbeck (SHS DI SY R&D DEV4) 2023-05-03 11:57:23 +02:00
parent 485cfd0a8d
commit c3c858b3d0
3 changed files with 26 additions and 23 deletions

View File

@ -11,7 +11,9 @@ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/corrade EXCLUDE_FROM_ALL
message("=== Configure Magnum ===") message("=== Configure Magnum ===")
# Add Magnum as a subproject, enable Sdl2Application # Add Magnum as a subproject, enable Sdl2Application
set(MAGNUM_BUILD_STATIC ON CACHE BOOL "" FORCE) set(MAGNUM_BUILD_STATIC ON CACHE BOOL "" FORCE)
set(MAGNUM_WITH_WGLCONTEXT ON CACHE BOOL "" FORCE) set(MAGNUM_WITH_SDL2APPLICATION ON CACHE BOOL "" FORCE)
# hack to force magnum to link against static sdl
add_library(SDL2::SDL2 ALIAS SDL2-static)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/magnum EXCLUDE_FROM_ALL) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/magnum EXCLUDE_FROM_ALL)
message("=== Configure QuickJS ===") message("=== Configure QuickJS ===")
@ -41,8 +43,8 @@ target_include_directories(quickjs
) )
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
file(GLOB files src/*.cpp) file(GLOB files src/main.cpp)
add_executable(${CMAKE_PROJECT_NAME} ${files}) add_executable(${CMAKE_PROJECT_NAME} ${files})
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE include) target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE include)
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE src) target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE src)
target_link_libraries(${CMAKE_PROJECT_NAME} SDL2::SDL2-static Magnum::Magnum Magnum::GL Magnum::WglContext quickjs) target_link_libraries(${CMAKE_PROJECT_NAME} Magnum::Magnum Magnum::GL Magnum::Sdl2Application quickjs)

Binary file not shown.

View File

@ -1,27 +1,28 @@
#include <Magnum/GL/DefaultFramebuffer.h> #include <Magnum/GL/DefaultFramebuffer.h>
#include <Magnum/GL/Context.h> #include <Magnum/Platform/Sdl2Application.h>
#include <Magnum/Platform/GLContext.h>
#include "common.h"
//#include "shaders.h"
using namespace Magnum; using namespace Magnum;
App_Config app_config = { 640, 480 }; class MyApplication: public Platform::Application {
App_State app_state = { NULL, 0 }; public:
explicit MyApplication(const Arguments& arguments);
int main(int argc, char *argv[]) { private:
void drawEvent() override;
app_init_quickjs(argc, argv); };
app_init_sdl();
Platform::GLContext context;
// Main loop MyApplication::MyApplication(const Arguments& arguments):
while (!app_state.quit) { Platform::Application{arguments}
app_update_sdl(); {
app_update_quickjs(); // TODO: Add your initialization code here
} }
app_dispose_sdl(); void MyApplication::drawEvent() {
app_dispose_quickjs(); GL::defaultFramebuffer.clear(GL::FramebufferClear::Color);
return 0;
} // TODO: Add your drawing code here
swapBuffers();
}
MAGNUM_APPLICATION_MAIN(MyApplication)