mirror of
				https://github.com/KartKrewDev/RingRacers.git
				synced 2025-10-30 08:01:28 +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…
	
	Add table
		
		Reference in a new issue
	
	 Ronald Kinard
						Ronald Kinard