initial build system
working to compile from cygwin in Windows with SFML-1.6
This commit is contained in:
parent
4c22f07923
commit
31d9ab8f10
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
bin
|
63
SConstruct
Normal file
63
SConstruct
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
# vim:filetype=python
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
client_name = 'treacherous-terrain'
|
||||||
|
server_name = client_name + '-server'
|
||||||
|
|
||||||
|
# determine our build platform
|
||||||
|
platform = 'windows' if os.path.exists('/bin/cygwin1.dll') else 'unix'
|
||||||
|
|
||||||
|
# common environment settings
|
||||||
|
#SFML_VERSION = '2.0-rc'
|
||||||
|
SFML_VERSION = '1.6'
|
||||||
|
BIN_DIR = 'bin'
|
||||||
|
CXX = 'g++'
|
||||||
|
CPPFLAGS = []
|
||||||
|
CXXFLAGS = ['-Wall', '-O2']
|
||||||
|
LINKFLAGS = []
|
||||||
|
LIBPATH = []
|
||||||
|
LIBS_client = ['sfml-network', 'sfml-system', 'sfml-window']
|
||||||
|
LIBS_server = ['sfml-network']
|
||||||
|
libs_to_copy = []
|
||||||
|
|
||||||
|
if platform == 'windows':
|
||||||
|
# Windows-specific environment settings
|
||||||
|
CXX = 'i686-pc-mingw32-g++'
|
||||||
|
MINGW_DIR = '/usr/i686-pc-mingw32/sys-root/mingw/bin'
|
||||||
|
SFML_PATH = '/c/apps/SFML-%s' % SFML_VERSION
|
||||||
|
if 'SFML_PATH' in os.environ:
|
||||||
|
SFML_PATH = os.environ['SFML_PATH']
|
||||||
|
CPPFLAGS.append('-I%s/include' % SFML_PATH)
|
||||||
|
LIBPATH.append('%s/lib' % SFML_PATH)
|
||||||
|
LINKFLAGS.append('-static-libstdc++')
|
||||||
|
LIBS_client.append('mingw32')
|
||||||
|
LIBS_server.append('mingw32')
|
||||||
|
libs_to_copy.append('%s/libgcc_s_dw2-1.dll' % MINGW_DIR)
|
||||||
|
|
||||||
|
# our sources
|
||||||
|
sources_client = [Glob('src/common/*.cc'), Glob('src/client/*.cc')]
|
||||||
|
sources_server = [Glob('src/common/*.cc'), Glob('src/server/*.cc')]
|
||||||
|
|
||||||
|
# create the scons environments
|
||||||
|
env_client = Environment(
|
||||||
|
CXX = CXX,
|
||||||
|
CPPFLAGS = CPPFLAGS,
|
||||||
|
CXXFLAGS = CXXFLAGS,
|
||||||
|
LINKFLAGS = LINKFLAGS,
|
||||||
|
LIBPATH = LIBPATH,
|
||||||
|
LIBS = LIBS_client)
|
||||||
|
env_server = Environment(
|
||||||
|
CXX = CXX,
|
||||||
|
CPPFLAGS = CPPFLAGS,
|
||||||
|
CXXFLAGS = CXXFLAGS,
|
||||||
|
LINKFLAGS = LINKFLAGS,
|
||||||
|
LIBPATH = LIBPATH,
|
||||||
|
LIBS = LIBS_server)
|
||||||
|
|
||||||
|
for lib_path in libs_to_copy:
|
||||||
|
installed_libs = env_client.Install(BIN_DIR, lib_path)
|
||||||
|
env_client.Depends('%s/%s' % (BIN_DIR, client_name), installed_libs)
|
||||||
|
env_client.Program('%s/%s' % (BIN_DIR, client_name), sources_client)
|
||||||
|
# turn this back on when we have any server sources present
|
||||||
|
#env_server.Program('%s/%s' % (BIN_DIR, server_name), sources_server)
|
45
src/client/Client.cc
Normal file
45
src/client/Client.cc
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
|
||||||
|
#include <getopt.h>
|
||||||
|
#include <SFML/Window.hpp>
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
bool fullscreen = false;
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
int c = getopt_long(argc, argv, "f", NULL, NULL);
|
||||||
|
if (c == -1)
|
||||||
|
break;
|
||||||
|
switch (c)
|
||||||
|
{
|
||||||
|
case 'f':
|
||||||
|
fullscreen = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sf::VideoMode mode = fullscreen
|
||||||
|
? sf::VideoMode::GetDesktopMode()
|
||||||
|
: sf::VideoMode(800, 600, 32);
|
||||||
|
long style = fullscreen
|
||||||
|
? sf::Style::Fullscreen
|
||||||
|
: sf::Style::Resize | sf::Style::Close;
|
||||||
|
sf::Window window(mode, "Treacherous Terrain", style);
|
||||||
|
|
||||||
|
while (window.IsOpened())
|
||||||
|
{
|
||||||
|
sf::Event event;
|
||||||
|
while (window.GetEvent(event))
|
||||||
|
{
|
||||||
|
if (event.Type == sf::Event::Closed)
|
||||||
|
window.Close();
|
||||||
|
|
||||||
|
if ( (event.Type == sf::Event::KeyPressed)
|
||||||
|
&& (event.Key.Code == sf::Key::Escape) )
|
||||||
|
window.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
window.Display();
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user