Added CMakeLists & addressed warning

This commit is contained in:
- 2023-03-25 10:44:43 -07:00
parent e91b74655e
commit e018389452
3 changed files with 30 additions and 7 deletions

21
CMakeLists.txt Normal file
View File

@ -0,0 +1,21 @@
cmake_minimum_required(VERSION 3.10)
project(reflex2q3 CXX)
set(OBJ_SRC "src/planes.cpp" "src/brushdef.cpp" "src/oopless-parser.cpp" "src/EntityConverter.cpp")
add_executable(reflex2q3 src/main.cpp ${OBJ_SRC})
add_executable(runtests test/catch.cpp ${OBJ_SRC})
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
find_package(PkgConfig)
pkg_check_modules(EIGEN REQUIRED eigen3)
include_directories(
${EIGEN_INCLUDE_DIRS}
"lib/Catch/single_include/catch2"
"lib/cxxopts/include"
"include"
"test"
)

View File

@ -1,26 +1,27 @@
# reflex2q3 # reflex2q3
Converts Reflex maps (Version 8 and below) into id Tech map files. A pre-compiled [Windows executable](https://u.teknik.io/eOmo5.zip) is available. Converts Reflex maps (Version 8 and below) into id Tech map files.
#### Build Requirements #### Build Requirements
* cmake
* [Eigen 3, C++ template library](http://eigen.tuxfamily.org/index.php?title=Main_Page) * [Eigen 3, C++ template library](http://eigen.tuxfamily.org/index.php?title=Main_Page)
#### Building: #### Building:
```bash ```bash
git submodule update --init --recursive git submodule update --init --recursive
make cmake .; make;
``` ```
#### Convert map geometry: #### Convert map geometry:
```bash ```bash
./reflex2q3 [input].map [output].map ./reflex2q3 input.map output.map
``` ```
#### Convert map geometry and entities: #### Convert map geometry and entities:
```bash ```bash
./reflex2q3 [input].map [output].map -e [entity file].rem ./reflex2q3 input.map output.map -e entity-file.rem
``` ```
We've provided Quake 3 and Xonotic entity conversion files (r2q3.rem and r2xonotic.rem). To create entity files for other games built on the [id Tech 3](https://en.wikipedia.org/wiki/Id_Tech_3) engine or previous [id Tech](https://en.wikipedia.org/wiki/Id_Tech) engines, refer to our [Reflex entity documentation](https://git.teknik.io/scuti/reflex2q3/src/f2b0341da38b82ad4f0a0cf258b0f6e6d8335fda/docs/doc-entities.txt), our sample .rem files, and relevant documentation for your game. We've provided Quake 3 and Xonotic entity conversion files (r2q3.rem and r2xonotic.rem). To create entity files for other games built on the [id Tech 3](https://en.wikipedia.org/wiki/Id_Tech_3) engine or previous [id Tech](https://en.wikipedia.org/wiki/Id_Tech) engines, refer to our [Reflex entity documentation](https://notabug.org/scuti/reflex2q3/src/master/docs/doc-entities.txt), our sample .rem files, and relevant documentation for your game.
#### List all command line arguments: #### List all command line arguments:
```bash ```bash
@ -28,8 +29,8 @@ We've provided Quake 3 and Xonotic entity conversion files (r2q3.rem and r2xonot
``` ```
#### Compiler(s) #### Compiler(s)
* mingw-w64, GCC 5.3.0
* gcc (Debian 10.2.1-6) 10.2.1 20210110 * gcc (Debian 10.2.1-6) 10.2.1 20210110
* gcc version 12.2.0 (GCC)
#### Tested With #### Tested With
* netradiant-1.5.0-20120301 * netradiant-1.5.0-20120301

View File

@ -52,12 +52,13 @@ using namespace std;
line.find(KEYWORD_PREFAB) != string::npos) || ( line.find(KEYWORD_PREFAB) != string::npos) || (
line.find(KEYWORD_BRUSH) != string::npos && !is_ebrush(output))) { line.find(KEYWORD_BRUSH) != string::npos && !is_ebrush(output))) {
f.seekg(pos); f.seekg(pos);
return output; break;
} else { } else {
output.push_back(line); output.push_back(line);
} }
pos = f.tellg(); pos = f.tellg();
} }
return output;
} }
template <class STREAMOBJ> template <class STREAMOBJ>