diff --git a/CMake/Platforms.cmake b/CMake/Platforms.cmake index 850605031..ea02624f0 100644 --- a/CMake/Platforms.cmake +++ b/CMake/Platforms.cmake @@ -1,7 +1,3 @@ -if(WIN32) - include(platforms/windows) -endif() - if(HAIKU) include(platforms/haiku) endif() @@ -18,7 +14,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|OpenBSD|DragonFly|NetBSD") endif() set(TARGET_PLATFORM host CACHE STRING "Target platform") -set_property(CACHE TARGET_PLATFORM PROPERTY STRINGS host retrofw rg99 rg350 gkd350h cpigamesh miyoo_mini) +set_property(CACHE TARGET_PLATFORM PROPERTY STRINGS host retrofw rg99 rg350 gkd350h cpigamesh miyoo_mini windowsXP) if(TARGET_PLATFORM STREQUAL "retrofw") include(platforms/retrofw) elseif(TARGET_PLATFORM STREQUAL "rg99") @@ -33,6 +29,10 @@ elseif(TARGET_PLATFORM STREQUAL "lepus") include(platforms/lepus) elseif(TARGET_PLATFORM STREQUAL "miyoo_mini") include(platforms/miyoo_mini) +elseif(TARGET_PLATFORM STREQUAL "windowsXP") + include(platforms/windowsXP) +elseif(WIN32) + include(platforms/windows) endif() if(NINTENDO_SWITCH) diff --git a/CMake/platforms/windowsXP.cmake b/CMake/platforms/windowsXP.cmake new file mode 100644 index 000000000..67f421ecb --- /dev/null +++ b/CMake/platforms/windowsXP.cmake @@ -0,0 +1,29 @@ +set(ASAN OFF) +set(UBSAN OFF) +set(DIST ON) + +set(DISABLE_ZERO_TIER ON) +set(DISCORD_INTEGRATION OFF) +set(DEVILUTIONX_SYSTEM_BZIP2 OFF) +set(DEVILUTIONX_STATIC_LIBSODIUM ON) + +list(APPEND DEVILUTIONX_PLATFORM_LINK_LIBRARIES + find_steam_game + shlwapi + wsock32 + ws2_32 + wininet +) + +add_definitions(-DWINVER=0x0501 -D_WIN32_WINDOWS=0x0501 -D_WIN32_WINNT=0x0501) + +if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") + list(APPEND DEVILUTIONX_PLATFORM_COMPILE_OPTIONS "/W3" "/Zc:__cplusplus" "/utf-8") + list(APPEND DEVILUTIONX_PLATFORM_COMPILE_DEFINITIONS _CRT_SECURE_NO_WARNINGS) +else() + list(APPEND DEVILUTIONX_PLATFORM_COMPILE_OPTIONS $<$:-gstabs>) +endif() + +if(MINGW_CROSS) + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/mingw") +endif()