diff --git a/CMakeLists.txt b/CMakeLists.txt index 4e441f6..66ef0f6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,10 +7,17 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(BUILD_SHARED_LIBS OFF) if(NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten") - set(CMAKE_C_FLAGS_DEBUG "-O0 -g" CACHE STRING "" FORCE) - set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wpedantic -O0 -g" CACHE STRING "" FORCE) - set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE) - set(CMAKE_CXX_FLAGS_RELEASE "-Wall -Wpedantic -O3 -DNDEBUG" CACHE STRING "" FORCE) + if(MSVC) + set(CMAKE_C_FLAGS_DEBUG "/Od /Zi" CACHE STRING "" FORCE) + set(CMAKE_CXX_FLAGS_DEBUG "/W4 /permissive- /Od /Zi" CACHE STRING "" FORCE) + set(CMAKE_C_FLAGS_RELEASE "/O2 /DNDEBUG" CACHE STRING "" FORCE) + set(CMAKE_CXX_FLAGS_RELEASE "/W4 /permissive- /O2 /DNDEBUG" CACHE STRING "" FORCE) + else() + set(CMAKE_C_FLAGS_DEBUG "-O0 -g" CACHE STRING "" FORCE) + set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wpedantic -O0 -g" CACHE STRING "" FORCE) + set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE) + set(CMAKE_CXX_FLAGS_RELEASE "-Wall -Wpedantic -O3 -DNDEBUG" CACHE STRING "" FORCE) + endif() endif() set(SDL_STATIC ON CACHE BOOL "" FORCE) @@ -122,6 +129,9 @@ target_include_directories(${PROJECT_NAME} PRIVATE ) target_link_libraries(${PROJECT_NAME} PRIVATE SDL3::SDL3-static SDL3_mixer::SDL3_mixer-static physfs-static) +if (WIN32 AND TARGET SDL3::SDL3main) + target_link_libraries(${PROJECT_NAME} PRIVATE SDL3::SDL3main) +endif() set(PROJECT_RESOURCES_DIR "${CMAKE_CURRENT_SOURCE_DIR}/resources") set(PROJECT_RESOURCES_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/resources")