Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Nearly working linux build
  • Loading branch information
CCSL-IFRN committed Dec 5, 2014
1 parent cf9620a commit e799faf
Show file tree
Hide file tree
Showing 8 changed files with 135 additions and 25 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Expand Up @@ -9,3 +9,6 @@ build/
# Executáveis da Lua
luac
lua
# Arquivos invisíveis
!.gitignore
.*
35 changes: 28 additions & 7 deletions CMakeLists.txt
@@ -1,49 +1,70 @@
# Compila a partir do CMake2.8
cmake_minimum_required(VERSION 2.8)

ADD_DEFINITIONS(
-std=c++11 # Or -std=c++0x
# Other flags
)

# Detecta a plataforma na qual vamos compilar
# TODO
IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
SET(OS "linux")
ELSE ()
SET(OS "windows")
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")

# Vamos compilar a Bazinga Engine
project (Bazinga)

# Adiciona bibliotecas Lua ao projeto
include_directories (lua/lua-5.2.2/src/)
include_directories (${CMAKE_SOURCE_DIR}/lua/lua-5.2.2/src/)

# Adiciona bibliotecas SDL ao projeto
include_directories (sdl/include/SDL/)
include_directories (${CMAKE_SOURCE_DIR}/sdl/include/SDL/)

# Adiciona bibliotecas DevIL ao projeto
include_directories (devil/include/IL/)
include_directories (${CMAKE_SOURCE_DIR}/devil/include/IL/)

# Adiciona lib lua
add_library(lualib STATIC IMPORTED)
set_target_properties(lualib PROPERTIES IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/lua/lua-5.2.2/src/liblua.a")

# Adiciona libs da SDL
# Adiciona libs da SDL (se estiver no windows)
IF (${OS} EQUAL "windows")
add_library(libSDL STATIC IMPORTED)
set_target_properties(libSDL PROPERTIES IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/sdl/windows/libSDL.dll.a")
add_library(libSDLmain STATIC IMPORTED)
set_target_properties(libSDLmain PROPERTIES IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/sdl/windows/libSDLmain.a")
# Adiciona libs da DevIL
add_library(devil STATIC IMPORTED)
set_target_properties(devil PROPERTIES IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/build/DevIL.lib")
ENDIF(${OS} EQUAL "windows")

# Compila Lua 5.2.2
ADD_CUSTOM_TARGET(
lua.o ALL
COMMAND ${CMAKE_MAKE_PROGRAM} ansi
COMMAND ${CMAKE_MAKE_PROGRAM} posix
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/lua/lua-5.2.2
COMMENT "Compilando Lua 5.2.2 (com o Makefile original)")

# Compila o executável principal
add_executable (bazinga bazinga.cpp json.cpp filesystem.cpp object.cpp map.cpp video.cpp cache.cpp)

# Linka com (opengl, lua, sdl, devil)
IF (${OS} EQUAL "windows")
target_link_libraries (bazinga glu32 opengl32)
target_link_libraries (bazinga mingw32)
target_link_libraries (bazinga libSDLmain)
target_link_libraries (bazinga libSDL)
ENDIF (${OS} EQUAL "windows")

target_link_libraries (bazinga lualib)
target_link_libraries (bazinga devil)

IF (${OS} EQUAL "windows")
target_link_libraries (bazinga devil)
ELSE ()
target_link_libraries (bazinga IL GL SDL)
ENDIF ()
# Dependencias
ADD_DEPENDENCIES (lualib lua.o)
ADD_DEPENDENCIES (bazinga libSDLmain)
4 changes: 4 additions & 0 deletions compile.sh
@@ -0,0 +1,4 @@
#/bin/bash

cmake -G "Unix Makefiles" -DCMAKE_CXX_COMPILER="g++" -DCMAKE_C_COMPILER="gcc" -DCMAKE_C_COMPILER_ENV_VAR="" -DCMAKE_CXX_COMPILER_ENV_VAR="" -DCMAKE_MAKE_PROGRAM="make" -DCMAKE_CXX_FLAGS="--std=c++0x" ..
make
1 change: 1 addition & 0 deletions filesystem.h
Expand Up @@ -23,6 +23,7 @@
#include <cstring> // Memcpy
#include <dirent.h> // Directory listing
#include <algorithm>
#include <vector>
using namespace std;

namespace bazinga {
Expand Down
30 changes: 15 additions & 15 deletions json.cpp
Expand Up @@ -10,21 +10,21 @@ BjValue::BjValue (const BjValue& _v) {
}

BjValue::BjValue () {
type = Type::jNull;
type = BjValue::jNull;
array = NULL;
object = NULL;
}

BjValue::BjValue (string& _str) : str() {
type = Type::jString;
type = BjValue::jString;
str = _str;

array = NULL;
object = NULL;
}

BjValue::BjValue (float _number) {
type = Type::jNumber;
type = BjValue::jNumber;
number = _number;

array = NULL;
Expand All @@ -33,16 +33,16 @@ BjValue::BjValue (float _number) {

BjValue::BjValue (bool _bool) {
if (_bool)
type = Type::jTrue;
type = BjValue::jTrue;
else
type = Type::jFalse;
type = BjValue::jFalse;

array = NULL;
object = NULL;
}

BjValue::BjValue (BjArray *_array) {
type = Type::jArray;
type = BjValue::jArray;
array = _array;

object = NULL;
Expand All @@ -56,9 +56,9 @@ BjValue::BjValue (BjObject *_object) {
}

BjValue::~BjValue () {
if (type == Type::jObject && object != NULL)
if (type == BjValue::jObject && object != NULL)
delete object;
else if (type == Type::jArray && array != NULL)
else if (type == BjValue::jArray && array != NULL)
delete array;
}

Expand Down Expand Up @@ -147,26 +147,26 @@ string json::dumpValue (BjValue* _val) {
stringstream ss;

switch (_val->type) {
case BjValue::Type::jString:
case BjValue::jString:
str += "\"" + _val->str + "\"";
break;
case BjValue::Type::jNumber:
case BjValue::jNumber:
ss << _val->number;
str += ss.str();
break;
case BjValue::Type::jObject:
case BjValue::jObject:
str += dumpObject(_val->object);
break;
case BjValue::Type::jArray:
case BjValue::jArray:
str += dumpArray(_val->array);
break;
case BjValue::Type::jTrue:
case BjValue::jTrue:
str += "true";
break;
case BjValue::Type::jFalse:
case BjValue::jFalse:
str += "false";
break;
case BjValue::Type::jNull:
case BjValue::jNull:
str += "null";
break;
}
Expand Down
2 changes: 1 addition & 1 deletion object.cpp
Expand Up @@ -2,7 +2,7 @@
#include "cache.h"
#include "filesystem.h"
#include <exception>
#include <SDL/SDL_opengl.h>
#include <SDL_opengl.h>
using namespace bazinga;

Object::Object (BjObject* jObject) {
Expand Down
81 changes: 81 additions & 0 deletions sdl/include/SDL/SDL_config_minimal.h
@@ -0,0 +1,81 @@
/*
Simple DirectMedia Layer
Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
*/

#ifndef _SDL_config_minimal_h
#define _SDL_config_minimal_h

#include "SDL_platform.h"

/**
* \file SDL_config_minimal.h
*
* This is the minimal configuration that can be used to build SDL.
*/

#define HAVE_STDARG_H 1
#define HAVE_STDDEF_H 1

/* Most everything except Visual Studio 2008 and earlier has stdint.h now */
#if defined(_MSC_VER) && (_MSC_VER < 1600)
/* Here are some reasonable defaults */
typedef unsigned int size_t;
typedef signed char int8_t;
typedef unsigned char uint8_t;
typedef signed short int16_t;
typedef unsigned short uint16_t;
typedef signed int int32_t;
typedef unsigned int uint32_t;
typedef signed long long int64_t;
typedef unsigned long long uint64_t;
typedef unsigned long uintptr_t;
#else
#define HAVE_STDINT_H 1
#endif /* Visual Studio 2008 */

#ifdef __GNUC__
#define HAVE_GCC_SYNC_LOCK_TEST_AND_SET 1
#endif

/* Enable the dummy audio driver (src/audio/dummy/\*.c) */
#define SDL_AUDIO_DRIVER_DUMMY 1

/* Enable the stub joystick driver (src/joystick/dummy/\*.c) */
#define SDL_JOYSTICK_DISABLED 1

/* Enable the stub haptic driver (src/haptic/dummy/\*.c) */
#define SDL_HAPTIC_DISABLED 1

/* Enable the stub shared object loader (src/loadso/dummy/\*.c) */
#define SDL_LOADSO_DISABLED 1

/* Enable the stub thread support (src/thread/generic/\*.c) */
#define SDL_THREADS_DISABLED 1

/* Enable the stub timer support (src/timer/dummy/\*.c) */
#define SDL_TIMERS_DISABLED 1

/* Enable the dummy video driver (src/video/dummy/\*.c) */
#define SDL_VIDEO_DRIVER_DUMMY 1

/* Enable the dummy filesystem driver (src/filesystem/dummy/\*.c) */
#define SDL_FILESYSTEM_DUMMY 1

#endif /* _SDL_config_minimal_h */
4 changes: 2 additions & 2 deletions video.h
Expand Up @@ -5,8 +5,8 @@
#include "filesystem.h"
#include "map.h"
#include <string>
#include <SDL/SDL.h>
#include <SDL/SDL_opengl.h>
#include <SDL.h>
#include <SDL_opengl.h>
#include <vector>
using namespace std;

Expand Down

0 comments on commit e799faf

Please sign in to comment.