From f7c4bcea5280d2c0d2b212cfa2f35b3b665f11c0 Mon Sep 17 00:00:00 2001 From: Shweet Date: Fri, 12 Sep 2025 16:47:16 -0700 Subject: [PATCH] update windos build --- .gitignore | 5 +++++ CMakeLists.txt | 51 ++++++++++++++++++++++++++++++---------------- CMakeSettings.json | 11 ++++++++++ 3 files changed, 49 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index 12a4609..9ccad95 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,8 @@ build/ concept/ packed/ vcpkg_installed/ +out/ +include/imgui/ +include/glm/ +include/tinyxml2 +.vs/ \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 5f91bea..09e09cd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,26 +10,34 @@ project(anm2ed CXX) find_package(SDL3 REQUIRED) find_package(OpenGL REQUIRED) -set(GLAD_SRC ${CMAKE_CURRENT_SOURCE_DIR}/include/glad/glad.cpp) - -file(GLOB SOURCES - ${GLAD_SRC} - include/imgui/imgui.cpp - include/imgui/imgui_draw.cpp - include/imgui/imgui_widgets.cpp - include/imgui/imgui_tables.cpp - include/imgui/backends/imgui_impl_sdl3.cpp - include/imgui/backends/imgui_impl_opengl3.cpp - include/tinyxml2/tinyxml2.cpp - src/*.cpp - src/*.h +set(GLAD_SRC + ${CMAKE_CURRENT_SOURCE_DIR}/include/glad/glad.cpp ) -if(NOT MSVC) - set_source_files_properties(${GLAD_SRC} PROPERTIES COMPILE_FLAGS "-Wno-cast-function-type") -endif() +set(IMGUI_SRC + ${CMAKE_CURRENT_SOURCE_DIR}/include/imgui/imgui.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/include/imgui/imgui_draw.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/include/imgui/imgui_widgets.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/include/imgui/imgui_tables.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/include/imgui/backends/imgui_impl_sdl3.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/include/imgui/backends/imgui_impl_opengl3.cpp +) -add_executable(${PROJECT_NAME} ${SOURCES}) +set(TINYXML2_SRC + ${CMAKE_CURRENT_SOURCE_DIR}/include/tinyxml2/tinyxml2.cpp +) + +file(GLOB PROJECT_SRC + ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/*.h +) + +add_executable(${PROJECT_NAME} + ${GLAD_SRC} + ${IMGUI_SRC} + ${TINYXML2_SRC} + ${PROJECT_SRC} +) if(WIN32) enable_language(RC) @@ -38,7 +46,14 @@ if(WIN32) endif() target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_23) -target_include_directories(${PROJECT_NAME} PRIVATE include include/glad include/imgui include/tinyxml2 src) + +target_include_directories(${PROJECT_NAME} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/include + ${CMAKE_CURRENT_SOURCE_DIR}/include/glad + ${CMAKE_CURRENT_SOURCE_DIR}/include/imgui + ${CMAKE_CURRENT_SOURCE_DIR}/include/tinyxml2 + ${CMAKE_CURRENT_SOURCE_DIR}/src +) if(MSVC) target_compile_options(${PROJECT_NAME} PRIVATE /std:c++latest /EHsc) diff --git a/CMakeSettings.json b/CMakeSettings.json index c580f0e..137e083 100644 --- a/CMakeSettings.json +++ b/CMakeSettings.json @@ -10,6 +10,17 @@ "cmakeCommandArgs": "", "buildCommandArgs": "", "ctestCommandArgs": "" + }, + { + "name": "x64-Release", + "generator": "Ninja", + "configurationType": "Release", + "inheritEnvironments": [ "msvc_x64_x64" ], + "buildRoot": "${projectDir}\\build\\${name}", + "installRoot": "${projectDir}\\install\\${name}", + "cmakeCommandArgs": "", + "buildCommandArgs": "", + "ctestCommandArgs": "" } ] } \ No newline at end of file