Skip to content

Commit d2fccc3

Browse files
author
Ryan P. C. McQuen
authoredSep 16, 2019
Make the VS2019 configs target all architectures. Resolve nmake issues in Makefile.
1 parent 47b9015 commit d2fccc3

5 files changed

+93
-91
lines changed
 

‎MyTemplate.vstemplate

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<ProjectItem ReplaceParameters="false" TargetFileName="$projectname$.vcxproj.filters">SDL2_template.vcxproj.filters</ProjectItem>
1919
<ProjectItem ReplaceParameters="false" TargetFileName="main.c">main.c</ProjectItem>
2020
<ProjectItem ReplaceParameters="false" TargetFileName="config.h">config.h</ProjectItem>
21-
<ProjectItem ReplaceParameters="false" TargetFileName="Makefile">Makefile</ProjectItem>
21+
<ProjectItem ReplaceParameters="false" TargetFileName="README.org">README.org</ProjectItem>
2222
</Project>
2323
</TemplateContent>
2424
</VSTemplate>

‎README.org

+37-43
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,37 @@
1-
This project compiles under Linux, Mac OS, and Windows simply by running:
2-
3-
**** Linux & Mac:
4-
5-
#+BEGIN_SRC
6-
make
7-
#+END_SRC
8-
9-
**** Windows:
10-
11-
#+BEGIN_SRC
12-
nmake
13-
#+END_SRC
14-
15-
Pre-setup:
16-
17-
*** Linux:
18-
19-
#+BEGIN_SRC
20-
sudo apt-get install libsdl2-dev
21-
#+END_SRC
22-
23-
Or whatever the equivalent package is for your distro.
24-
25-
*** Mac:
26-
27-
#+BEGIN_SRC
28-
brew install sdl2
29-
#+END_SRC
30-
31-
*** Windows:
32-
33-
Download the latest VC development files from: https://libsdl.org
34-
35-
Place the entire contents of ~include~ and ~lib~ under ~C:\SDL\SDL2~.
36-
37-
Copy the ~SDL2.dll~ under ~lib~ to ~C:\Windows\System32~ and ~C:\Windows\SysWOW64~.
38-
39-
Profit.
40-
41-
42-
Special thanks to this tutorial:
43-
https://headerphile.com/sdl2/sdl2-part-0-setting-up-visual-studio-for-sdl2/
1+
This project compiles under Linux, Mac OS, and Windows simply by running:
2+
3+
#+BEGIN_SRC
4+
make
5+
#+END_SRC
6+
7+
Pre-setup:
8+
9+
*** Linux:
10+
11+
#+BEGIN_SRC
12+
sudo apt-get install libsdl2-dev
13+
#+END_SRC
14+
15+
Or whatever the equivalent package is for your distro.
16+
17+
*** Mac:
18+
19+
#+BEGIN_SRC
20+
brew install sdl2
21+
#+END_SRC
22+
23+
*** Windows:
24+
25+
Download the latest VC development files from: https://libsdl.org
26+
27+
Place the entire contents of ~include~ and ~lib~ under ~C:\SDL\SDL2~.
28+
29+
Copy the ~SDL2.dll~ under ~lib~ to ~C:\Windows\System32~ and ~C:\Windows\SysWOW64~.
30+
31+
Profit.
32+
33+
34+
Special thanks to this tutorial:
35+
https://headerphile.com/sdl2/sdl2-part-0-setting-up-visual-studio-for-sdl2/
36+
37+
Bonus: This project is importable as a Visual Studio 2019 template.

‎SDL2_template.vcxproj

+26-20
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,15 @@
1818
<Platform>x64</Platform>
1919
</ProjectConfiguration>
2020
</ItemGroup>
21+
<ItemGroup>
22+
<ClCompile Include="main.c" />
23+
</ItemGroup>
24+
<ItemGroup>
25+
<ClInclude Include="config.h" />
26+
</ItemGroup>
27+
<ItemGroup>
28+
<None Include="README.org" />
29+
</ItemGroup>
2130
<PropertyGroup Label="Globals">
2231
<VCProjectVersion>16.0</VCProjectVersion>
2332
<ProjectGuid>{$guid1$}</ProjectGuid>
@@ -69,16 +78,19 @@
6978
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
7079
</ImportGroup>
7180
<PropertyGroup Label="UserMacros" />
72-
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
81+
<PropertyGroup />
7382
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
7483
<ClCompile>
7584
<WarningLevel>Level3</WarningLevel>
7685
<Optimization>Disabled</Optimization>
7786
<SDLCheck>true</SDLCheck>
7887
<ConformanceMode>true</ConformanceMode>
88+
<AdditionalIncludeDirectories>C:\SDL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
7989
</ClCompile>
8090
<Link>
81-
<SubSystem>Console</SubSystem>
91+
<SubSystem>Windows</SubSystem>
92+
<AdditionalLibraryDirectories>C:\SDL\SDL2;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
93+
<AdditionalDependencies>SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
8294
</Link>
8395
</ItemDefinitionGroup>
8496
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -87,12 +99,12 @@
8799
<Optimization>Disabled</Optimization>
88100
<SDLCheck>true</SDLCheck>
89101
<ConformanceMode>true</ConformanceMode>
90-
<AdditionalIncludeDirectories>C:\SDL</AdditionalIncludeDirectories>
102+
<AdditionalIncludeDirectories>C:\SDL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
91103
</ClCompile>
92104
<Link>
93-
<SubSystem>Console</SubSystem>
94-
<AdditionalDependencies>SDL2.lib;SDL2main.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
95-
<AdditionalLibraryDirectories>C:\SDL\SDL2</AdditionalLibraryDirectories>
105+
<SubSystem>Windows</SubSystem>
106+
<AdditionalLibraryDirectories>C:\SDL\SDL2;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
107+
<AdditionalDependencies>SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
96108
</Link>
97109
</ItemDefinitionGroup>
98110
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -103,11 +115,14 @@
103115
<IntrinsicFunctions>true</IntrinsicFunctions>
104116
<SDLCheck>true</SDLCheck>
105117
<ConformanceMode>true</ConformanceMode>
118+
<AdditionalIncludeDirectories>C:\SDL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
106119
</ClCompile>
107120
<Link>
108-
<SubSystem>Console</SubSystem>
121+
<SubSystem>Windows</SubSystem>
109122
<EnableCOMDATFolding>true</EnableCOMDATFolding>
110123
<OptimizeReferences>true</OptimizeReferences>
124+
<AdditionalLibraryDirectories>C:\SDL\SDL2;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
125+
<AdditionalDependencies>SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
111126
</Link>
112127
</ItemDefinitionGroup>
113128
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@@ -118,25 +133,16 @@
118133
<IntrinsicFunctions>true</IntrinsicFunctions>
119134
<SDLCheck>true</SDLCheck>
120135
<ConformanceMode>true</ConformanceMode>
121-
<AdditionalIncludeDirectories>C:\SDL</AdditionalIncludeDirectories>
136+
<AdditionalIncludeDirectories>C:\SDL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
122137
</ClCompile>
123138
<Link>
124-
<SubSystem>Console</SubSystem>
139+
<SubSystem>Windows</SubSystem>
125140
<EnableCOMDATFolding>true</EnableCOMDATFolding>
126141
<OptimizeReferences>true</OptimizeReferences>
127-
<AdditionalDependencies>SDL2.lib;SDL2main.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
128-
<AdditionalLibraryDirectories>C:\SDL\SDL2</AdditionalLibraryDirectories>
142+
<AdditionalLibraryDirectories>C:\SDL\SDL2;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
143+
<AdditionalDependencies>SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
129144
</Link>
130145
</ItemDefinitionGroup>
131-
<ItemGroup>
132-
<ClCompile Include="main.c" />
133-
</ItemGroup>
134-
<ItemGroup>
135-
<ClInclude Include="config.h" />
136-
</ItemGroup>
137-
<ItemGroup>
138-
<None Include="Makefile" />
139-
</ItemGroup>
140146
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
141147
<ImportGroup Label="ExtensionTargets">
142148
</ImportGroup>

‎SDL2_template.vcxproj.filters

+4-2
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,12 @@
2121
</ItemGroup>
2222
<ItemGroup>
2323
<ClInclude Include="config.h">
24-
<Filter>Header Files</Filter>
24+
<Filter>Source Files</Filter>
2525
</ClInclude>
2626
</ItemGroup>
2727
<ItemGroup>
28-
<None Include="Makefile" />
28+
<None Include="README.org">
29+
<Filter>Source Files</Filter>
30+
</None>
2931
</ItemGroup>
3032
</Project>

‎main.c

+25-25
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,34 @@
33

44
int main(int argc, char* argv[])
55
{
6-
if (SDL_Init(SDL_INIT_VIDEO) == 0) {
6+
if (SDL_Init(SDL_INIT_VIDEO) == 0) {
77

8-
SDL_Window* window = NULL;
9-
SDL_Renderer* renderer = NULL;
8+
SDL_Window* window = NULL;
9+
SDL_Renderer* renderer = NULL;
1010

11-
if (SDL_CreateWindowAndRenderer((int)SCREEN_WIDTH, (int)SCREEN_HEIGHT, 0, &window, &renderer) == 0) {
12-
SDL_bool done = SDL_FALSE;
13-
while (!done) {
14-
SDL_Event event;
11+
if (SDL_CreateWindowAndRenderer((int)SCREEN_WIDTH, (int)SCREEN_HEIGHT, 0, &window, &renderer) == 0) {
12+
SDL_bool done = SDL_FALSE;
13+
while (!done) {
14+
SDL_Event event;
1515

16-
while (SDL_PollEvent(&event)) {
17-
switch (event.type) {
18-
case SDL_QUIT:
19-
done = SDL_TRUE;
20-
break;
21-
}
22-
}
16+
while (SDL_PollEvent(&event)) {
17+
switch (event.type) {
18+
case SDL_QUIT:
19+
done = SDL_TRUE;
20+
break;
21+
}
22+
}
23+
}
2324

24-
if (renderer) {
25-
SDL_DestroyRenderer(renderer);
26-
}
27-
if (window) {
28-
SDL_DestroyWindow(window);
29-
}
30-
}
31-
SDL_Quit();
32-
}
33-
}
25+
if (renderer) {
26+
SDL_DestroyRenderer(renderer);
27+
}
28+
if (window) {
29+
SDL_DestroyWindow(window);
30+
}
31+
SDL_Quit();
32+
}
33+
}
3434

35-
return 0;
35+
return 0;
3636
}

0 commit comments

Comments
 (0)
Please sign in to comment.