From 46023f77f5f0ecf0ec53db76be5f09c48aa24a09 Mon Sep 17 00:00:00 2001 From: Sfan5 Date: Sun, 9 Mar 2014 12:32:13 +0100 Subject: [PATCH] Make it (almost) compile for windows --- CMakeLists.txt | 24 +++++++++--------------- TileGenerator.cpp | 1 + db-sqlite3.cpp | 2 +- db.h | 6 ++++-- mapper.cpp | 1 + 5 files changed, 16 insertions(+), 18 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f6c69f4..566860b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,19 +28,13 @@ find_package(PkgConfig) include(FindPackageHandleStandardArgs) # Find libsqlite3 -pkg_check_modules(PC_LIBSQLITE QUIET sqlite3) -set(LIBSQLITE3_DEFINITIONS ${PC_LIBSQLITE_CFLAGS_OTHER}) -find_path(LIBSQLITE3_INCLUDE_DIR sqlite3.h HINTS ${PC_LIBSQLITE_INCLUDEDIR} ${PC_LIBSQLITE_INCLUDE_DIRS} PATH_SUFFIXES libsqlite3) -find_library(LIBSQLITE3_LIBRARY NAMES sqlite3 libsqlite3 HINTS ${PC_LIBSQLITE_LIBDIR} ${PC_LIBSQLITE_LIBRARY_DIRS}) - -set(LIBSQLITE3_LIBRARIES ${LIBSQLITE3_LIBRARY}) -set(LIBSQLITE3_INCLUDE_DIRS ${LIBSQLITE3_INCLUDE_DIR}) -find_package_handle_standard_args(LibSqlite3 DEFAULT_MSG LIBSQLITE3_LIBRARY LIBSQLITE3_INCLUDE_DIR) -mark_as_advanced(LIBSQLITE3_INCLUDE_DIR LIBSQLITE3_LIBRARY) - -if(NOT LIBSQLITE3_INCLUDE_DIR) - message(FATAL_ERROR "Could not find sqlite3") -endif(NOT LIBSQLITE3_INCLUDE_DIR) +find_library(SQLITE3_LIBRARY sqlite3) +find_path(SQLITE3_INCLUDE_DIR zlib.h) +message (STATUS "sqlite3 library: ${SQLITE3_LIBRARY}") +message (STATUS "sqlite3 headers: ${SQLITE3_INCLUDE_DIR}") +if(NOT SQLITE3_LIBRARY OR NOT SQLITE3_INCLUDE_DIR) + message(FATAL_ERROR "sqlite3 not found!") +endif(NOT SQLITE3_LIBRARY OR NOT SQLITE3_INCLUDE_DIR) # Find leveldb set(USE_LEVELDB 0) @@ -84,7 +78,7 @@ include_directories( "${PROJECT_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}" - ${LIBSQLITE3_INCLUDE_DIRS} + ${SQLITE3_INCLUDE_DIR} ${LIBGD_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} ) @@ -114,7 +108,7 @@ add_executable(minetestmapper target_link_libraries( minetestmapper - ${LIBSQLITE3_LIBRARIES} + ${SQLITE3_LIBRARY} ${LEVELDB_LIBRARY} ${LIBGD_LIBRARY} ${ZLIB_LIBRARY} diff --git a/TileGenerator.cpp b/TileGenerator.cpp index 327926f..71468a4 100644 --- a/TileGenerator.cpp +++ b/TileGenerator.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include "config.h" #include "PlayerAttributes.h" #include "TileGenerator.h" diff --git a/db-sqlite3.cpp b/db-sqlite3.cpp index 2c1f82d..b9e217a 100644 --- a/db-sqlite3.cpp +++ b/db-sqlite3.cpp @@ -11,7 +11,7 @@ DBSQLite3::DBSQLite3(const std::string &mapdir) { } DBSQLite3::~DBSQLite3() { - sqlite3_close_v2(m_db); + sqlite3_close(m_db); } std::vector DBSQLite3::getBlockPos() { diff --git a/db.h b/db.h index 159c22a..505c743 100644 --- a/db.h +++ b/db.h @@ -1,12 +1,14 @@ #ifndef _DB_H #define _DB_H -#include +#include #include #include #include +#include -typedef std::pair> DBBlock; +// we cannot use ... char>> here because mingw-gcc is f**king retarded (caring about whitespace and shit) +typedef std::pair > DBBlock; typedef std::list DBBlockList; class DB { diff --git a/mapper.cpp b/mapper.cpp index 91d81ce..57da7b5 100644 --- a/mapper.cpp +++ b/mapper.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include "TileGenerator.h" using namespace std;