Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 58 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,32 @@
# Source temporaries
*.cpp~
*.hpp~
src/.*.cpp.swp*
src/.*.hpp.swp*
src/*.cpp~
src/*.hpp~
src/common/*.cpp.swp*
src/common/*.hpp.swp*
src/common/*.cpp~
src/common/*.hpp~
src/sound/*.cpp.swp*
src/sound/*.hpp.swp*
src/sound/*.cpp~
src/sound/*.hpp~
src/server/*.cpp.swp*
src/server/*.hpp.swp*
src/server/*.cpp~
src/server/*.hpp~
src/net/*.cpp.swp*
src/net/*.hpp.swp*
src/net/*.cpp~
src/net/*.hpp~

# Windows binaries
*.exe
*.dll

*a.out
*.so

# QtCreator project user settings
*.user
Expand All @@ -20,17 +45,44 @@ build-*
*.cfg

# Game data
csm.bin
CSM.BIN
CSM.bin
csm.BIN
*.bin
*.BIN
*.tar
*.TAR
CURSED/
CURSED/*
cursed/
cursed/*
MUSIC/
MUSIC/*
music/
music/*
ADDON1/
ADDON1/*
addon1/
addon1/*
borough/
borough/*
BOROUGH/
BOROUGH/*
USERMAP/
USERMAP/*
usermap/
usermap/*

# Game saves
saves/*
SAVES/*

# Screen shots
*.tga
*.TGA

# Build system
CMakeFiles/*
CMakeFiles
CMakeDoxyfile.in
CMakeDoxygenDefaults.cmake
cmake_install.cmake
install_manifest.txt
CMakeCache.txt
Expand All @@ -44,3 +96,4 @@ MapToTGAConverter
ObjToTGAConverter
PaletteExtractor
PanzerChasm
compile_commands.json
6 changes: 6 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,9 @@
[submodule "src/panzer_ogl_lib"]
path = src/panzer_ogl_lib
url = http://github.com/Panzerschrek/panzer_ogl_lib
[submodule "external/meshoptimizer"]
path = external/meshoptimizer
url = https://github.com/zeux/meshoptimizer
[submodule "external/physfs"]
path = external/physfs
url = https://github.com/jopadan/physfs/
29 changes: 22 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,30 +1,44 @@
cmake_minimum_required(VERSION 3.1)
cmake_minimum_required(VERSION 3.10)

project(Chasm-Reverse)

set(CMAKE_CXX_STANDARD 11)
include(CheckCXXSourceCompiles)
include(GNUInstallDirs)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED YES)

if(${CMAKE_CXX_COMPILER_FRONTEND_VARIANT} STREQUAL "GNU")
set(CMAKE_CXX_EXTENSIONS ON)
endif()

set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

if(MSVC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_SECURE_NO_WARNINGS /MP")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D _CRT_SECURE_NO_WARNINGS /MP")
endif()

option(BUILD_TOOLS "Enable compilation of tools" YES)
include(CheckCXXSourceCompiles)
include(GNUInstallDirs)

set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/external/physfs)

find_package(SDL2 REQUIRED)

include_directories(${SDL2_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/src/ ${CMAKE_CURRENT_SOURCE_DIR}/src/panzer_ogl_lib)
${CMAKE_CURRENT_SOURCE_DIR}/src/
${CMAKE_CURRENT_SOURCE_DIR}/src/panzer_ogl_lib
${CMAKE_CURRENT_SOURCE_DIR}/external/physfs/src
${CMAKE_CURRENT_SOURCE_DIR}/external/cgltf)

# Source and header files
file(GLOB_RECURSE CHASM_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp")
file(GLOB_RECURSE CHASM_HEADERS
"${CMAKE_CURRENT_SOURCE_DIR}/src/*.hpp"
"${CMAKE_CURRENT_SOURCE_DIR}/src/*.h"
"${CMAKE_CURRENT_SOURCE_DIR}/src/*.inl")
"${CMAKE_CURRENT_SOURCE_DIR}/src/*.inl"
"${CMAKE_CURRENT_SOURCE_DIR}/external/physfs/src/*.h"
"${CMAKE_CURRENT_SOURCE_DIR}/external/meshoptimzer/cgltf/extern/*.h")

# Detect MMX support

Expand All @@ -48,6 +62,7 @@ endif()

set(CHASM_LIBS
${SDL2_LIBRARY}
physfs
)

if(WIN32)
Expand Down
Loading