mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-14 08:50:53 +00:00
cmake: Fixes to allow MSVC to compile
running is another story
This commit is contained in:
parent
495ea65cc5
commit
2f1367aab6
8 changed files with 40 additions and 8 deletions
|
@ -1,6 +1,7 @@
|
|||
cmake_minimum_required(VERSION 3.0)
|
||||
project(SRB2
|
||||
VERSION 2.1.14)
|
||||
VERSION 2.1.14
|
||||
LANGUAGES C)
|
||||
|
||||
# Set up CMAKE path
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
|
||||
|
@ -41,9 +42,8 @@ else()
|
|||
set(SRB2_SYSTEM_BITS 32)
|
||||
endif()
|
||||
|
||||
# DO NOT ALLOW MSVC!
|
||||
if(MSVC)
|
||||
message(FATAL_ERROR "MSVC is not supported!")
|
||||
message(WARNING "!! MSVC BUILDS OF SRB2 CANNOT PLAY MULTIPLAYER !! You're more than welcome to try and fix this!")
|
||||
endif()
|
||||
|
||||
# OS macros
|
||||
|
|
|
@ -27,8 +27,19 @@ find_library(SDL2_LIBRARY
|
|||
"/usr/local/lib"
|
||||
)
|
||||
|
||||
find_library(SDL2_MAIN_LIBRARY
|
||||
NAMES SDL2_main
|
||||
PATHS
|
||||
${SDL2_PKGCONF_LIBRARY_DIRS}
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
)
|
||||
|
||||
|
||||
# set include dir variables
|
||||
set(SDL2_PROCESS_INCLUDES SDL2_INCLUDE_DIR)
|
||||
set(SDL2_PROCESS_LIBS SDL2_LIBRARY)
|
||||
set(SDL2_MAIN_PROCESS_INCLUDES SDL2_INCLUDE_DIR)
|
||||
set(SDL2_MAIN_PROCESS_LIBS SDL2_MAIN_LIBRARY)
|
||||
libfind_process(SDL2)
|
||||
libfind_process(SDL2_MAIN)
|
||||
|
|
|
@ -354,7 +354,7 @@ endif()
|
|||
|
||||
# Compatibility flag with later versions of GCC
|
||||
# We should really fix our code to not need this
|
||||
if(NOT CLANG)
|
||||
if(NOT CLANG AND NOT MSVC)
|
||||
add_compile_options(-mno-ms-bitfields)
|
||||
endif()
|
||||
|
||||
|
|
|
@ -146,6 +146,7 @@ extern FILE *logstream;
|
|||
#define VERSION 201 // Game version
|
||||
#define SUBVERSION 14 // more precise version number
|
||||
#define VERSIONSTRING "v2.1.14"
|
||||
#define VERSIONSTRINGW L"v2.1.14"
|
||||
// Hey! If you change this, add 1 to the MODVERSION below!
|
||||
// Otherwise we can't force updates!
|
||||
#endif
|
||||
|
|
|
@ -210,8 +210,8 @@ static void F_DoWipe(fademask_t *fademask)
|
|||
UINT32 draw_linestogo, draw_rowstogo;
|
||||
|
||||
// rectangle coordinates, etc.
|
||||
UINT16 scrxpos[fademask->width + 1];
|
||||
UINT16 scrypos[fademask->height + 1];
|
||||
UINT16* scrxpos = (UINT16*)malloc(fademask->width + 1); //[fademask->width + 1];
|
||||
UINT16* scrypos = (UINT16*)malloc(fademask->height + 1);// [fademask->height + 1];
|
||||
UINT16 maskx, masky;
|
||||
UINT32 relativepos;
|
||||
|
||||
|
@ -263,6 +263,9 @@ static void F_DoWipe(fademask_t *fademask)
|
|||
if (++maskx >= fademask->width)
|
||||
++masky, maskx = 0;
|
||||
} while (++mask < maskend);
|
||||
|
||||
free(scrxpos);
|
||||
free(scrypos);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -129,6 +129,19 @@ if(${SDL2_FOUND})
|
|||
)
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
target_link_libraries(${SRB2_SDL2_EXE_NAME} PRIVATE
|
||||
${SDL2_MAIN_LIBRARIES}
|
||||
)
|
||||
target_compile_options(${SRB2_SDL2_EXE_NAME} PRIVATE
|
||||
/Umain
|
||||
/D_CRT_SECURE_NO_WARNINGS # something about string functions.
|
||||
/D_CRT_NONSTDC_NO_DEPRECATE
|
||||
/DSDLMAIN
|
||||
/D_WINSOCK_DEPRECATED_NO_WARNINGS # Don't care
|
||||
)
|
||||
endif()
|
||||
|
||||
target_include_directories(${SRB2_SDL2_EXE_NAME} PRIVATE
|
||||
${SDL2_INCLUDE_DIRS}
|
||||
${SDL2_MIXER_INCLUDE_DIRS}
|
||||
|
|
|
@ -1661,7 +1661,7 @@ void I_UpdateMumble(const mobj_t *mobj, const listener_t listener)
|
|||
return;
|
||||
|
||||
if(mumble->uiVersion != 2) {
|
||||
wcsncpy(mumble->name, L"SRB2 "VERSIONSTRING, 256);
|
||||
wcsncpy(mumble->name, L"SRB2 "VERSIONSTRINGW, 256);
|
||||
wcsncpy(mumble->description, L"Sonic Robo Blast 2 with integrated Mumble Link support.", 2048);
|
||||
mumble->uiVersion = 2;
|
||||
}
|
||||
|
|
|
@ -25,7 +25,11 @@ extern SDL_bool framebuffer;
|
|||
#include "../m_fixed.h"
|
||||
|
||||
// SDL2 stub macro
|
||||
#define SDL2STUB(name) CONS_Printf("SDL2: stubbed: %s:%d\n", __func__, __LINE__)
|
||||
#ifdef _MSC_VER
|
||||
#define SDL2STUB() CONS_Printf("SDL2: stubbed: %s:%d\n", __FUNCTION__, __LINE__)
|
||||
#else
|
||||
#define SDL2STUB() CONS_Printf("SDL2: stubbed: %s:%d\n", __func__, __LINE__)
|
||||
#endif
|
||||
|
||||
/** \brief The JoyInfo_s struct
|
||||
|
||||
|
|
Loading…
Reference in a new issue