forked from mirrors/0ad
Support Visual Studio 2015 (MSVC 14.0), fixes #3439.
VS 2013 stays the default Windows compiler, but support for it will be dropped as soon as possible. Tested By: Stan This was SVN commit r20562.
This commit is contained in:
@@ -572,9 +572,18 @@ extern_lib_defs = {
|
|||||||
add_default_lib_paths("nspr")
|
add_default_lib_paths("nspr")
|
||||||
links { "nspr4", "plc4", "plds4" }
|
links { "nspr4", "plc4", "plds4" }
|
||||||
end
|
end
|
||||||
filter "Debug"
|
|
||||||
|
filter { "Debug", "action:vs2013" }
|
||||||
|
links { "mozjs38-ps-debug-vc120" }
|
||||||
|
filter { "Release", "action:vs2013" }
|
||||||
|
links { "mozjs38-ps-release-vc120" }
|
||||||
|
filter { "Debug", "action:vs2015" }
|
||||||
|
links { "mozjs38-ps-debug-vc140" }
|
||||||
|
filter { "Release", "action:vs2015" }
|
||||||
|
links { "mozjs38-ps-release-vc140" }
|
||||||
|
filter { "Debug", "action:not vs*" }
|
||||||
links { "mozjs38-ps-debug" }
|
links { "mozjs38-ps-debug" }
|
||||||
filter "Release"
|
filter { "Release", "action:not vs*" }
|
||||||
links { "mozjs38-ps-release" }
|
links { "mozjs38-ps-release" }
|
||||||
filter { }
|
filter { }
|
||||||
add_source_lib_paths("spidermonkey")
|
add_source_lib_paths("spidermonkey")
|
||||||
|
|||||||
@@ -391,6 +391,8 @@ function project_create(project_name, target_type)
|
|||||||
|
|
||||||
filter "action:vs2013"
|
filter "action:vs2013"
|
||||||
toolset "v120_xp"
|
toolset "v120_xp"
|
||||||
|
filter "action:vs2015"
|
||||||
|
toolset "v140_xp"
|
||||||
filter {}
|
filter {}
|
||||||
|
|
||||||
project_set_target(project_name)
|
project_set_target(project_name)
|
||||||
@@ -595,7 +597,7 @@ function setup_all_libs ()
|
|||||||
setup_third_party_static_lib_project("tinygettext", source_dirs, extern_libs, { } )
|
setup_third_party_static_lib_project("tinygettext", source_dirs, extern_libs, { } )
|
||||||
|
|
||||||
-- it's an external library and we don't want to modify its source to fix warnings, so we just disable them to avoid noise in the compile output
|
-- it's an external library and we don't want to modify its source to fix warnings, so we just disable them to avoid noise in the compile output
|
||||||
if _ACTION == "vs2013" then
|
filter "action:vs*"
|
||||||
buildoptions {
|
buildoptions {
|
||||||
"/wd4127",
|
"/wd4127",
|
||||||
"/wd4309",
|
"/wd4309",
|
||||||
@@ -605,7 +607,7 @@ function setup_all_libs ()
|
|||||||
"/wd4099",
|
"/wd4099",
|
||||||
"/wd4503"
|
"/wd4503"
|
||||||
}
|
}
|
||||||
end
|
filter {}
|
||||||
|
|
||||||
|
|
||||||
if not _OPTIONS["without-lobby"] then
|
if not _OPTIONS["without-lobby"] then
|
||||||
@@ -850,11 +852,11 @@ function setup_all_libs ()
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- runtime-library-specific
|
-- runtime-library-specific
|
||||||
if _ACTION == "vs2013" then
|
filter "action:vs*"
|
||||||
table.insert(source_dirs, "lib/sysdep/rtl/msc");
|
table.insert(source_dirs, "lib/sysdep/rtl/msc");
|
||||||
else
|
filter "action:not vs*"
|
||||||
table.insert(source_dirs, "lib/sysdep/rtl/gcc");
|
table.insert(source_dirs, "lib/sysdep/rtl/gcc");
|
||||||
end
|
filter {}
|
||||||
|
|
||||||
setup_static_lib_project("lowlevel", source_dirs, extern_libs, extra_params)
|
setup_static_lib_project("lowlevel", source_dirs, extern_libs, extra_params)
|
||||||
|
|
||||||
|
|||||||
@@ -3,4 +3,5 @@ rem ** Create Visual Studio Workspaces on Windows **
|
|||||||
|
|
||||||
cd ..\premake
|
cd ..\premake
|
||||||
if not exist ..\workspaces\vc2013\SKIP_PREMAKE_HERE premake5\bin\release\premake5 --outpath="../workspaces/vc2013" --use-shared-glooxwrapper %* vs2013
|
if not exist ..\workspaces\vc2013\SKIP_PREMAKE_HERE premake5\bin\release\premake5 --outpath="../workspaces/vc2013" --use-shared-glooxwrapper %* vs2013
|
||||||
|
if not exist ..\workspaces\vc2015\SKIP_PREMAKE_HERE premake5\bin\release\premake5 --outpath="../workspaces/vc2015" --use-shared-glooxwrapper %* vs2015
|
||||||
cd ..\workspaces
|
cd ..\workspaces
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 2010 Wildfire Games.
|
/* Copyright (C) 2017 Wildfire Games.
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining
|
* Permission is hereby granted, free of charge, to any person obtaining
|
||||||
* a copy of this software and associated documentation files (the
|
* a copy of this software and associated documentation files (the
|
||||||
@@ -59,11 +59,13 @@ typedef enum
|
|||||||
clockid_t;
|
clockid_t;
|
||||||
|
|
||||||
// POSIX realtime clock_*
|
// POSIX realtime clock_*
|
||||||
|
#if _MSC_VER < 1900
|
||||||
struct timespec
|
struct timespec
|
||||||
{
|
{
|
||||||
time_t tv_sec;
|
time_t tv_sec;
|
||||||
long tv_nsec;
|
long tv_nsec;
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
extern int nanosleep(const struct timespec* rqtp, struct timespec* rmtp);
|
extern int nanosleep(const struct timespec* rqtp, struct timespec* rmtp);
|
||||||
extern int clock_gettime(clockid_t clock, struct timespec* ts);
|
extern int clock_gettime(clockid_t clock, struct timespec* ts);
|
||||||
|
|||||||
+2
@@ -178,10 +178,12 @@ typedef struct {HANDLE signal, broadcast;} pthread_cond_t;
|
|||||||
typedef DWORD pthread_t;
|
typedef DWORD pthread_t;
|
||||||
#define pid_t HANDLE // MINGW typedefs pid_t to int. Using #define here.
|
#define pid_t HANDLE // MINGW typedefs pid_t to int. Using #define here.
|
||||||
|
|
||||||
|
#if _MSC_VER < 1900
|
||||||
struct timespec {
|
struct timespec {
|
||||||
long tv_nsec;
|
long tv_nsec;
|
||||||
long tv_sec;
|
long tv_sec;
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
static int pthread_mutex_lock(pthread_mutex_t *);
|
static int pthread_mutex_lock(pthread_mutex_t *);
|
||||||
static int pthread_mutex_unlock(pthread_mutex_t *);
|
static int pthread_mutex_unlock(pthread_mutex_t *);
|
||||||
|
|||||||
Reference in New Issue
Block a user