From: Perttu Ahola Date: Mon, 2 Apr 2012 18:01:58 +0000 (+0300) Subject: Fix things for cross-compiling using mingw X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=2cd5addc0c6d5712d4c365101338bfc10ab71615;p=zefram%2Fminetest%2Fminetest_engine.git Fix things for cross-compiling using mingw --- diff --git a/CMakeLists.txt b/CMakeLists.txt index fdecf516..92ed7dbe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,10 +7,16 @@ endif(${CMAKE_VERSION} STREQUAL "2.8.2") # This can be read from ${PROJECT_NAME} after project() is called project(minetest) +set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string") + # Also remember to set PROTOCOL_VERSION in clientserver.h when releasing set(VERSION_MAJOR 0) set(VERSION_MINOR 4) -set(VERSION_PATCH dev-20120326) +if(VERSION_EXTRA) + set(VERSION_PATCH dev-20120326-${VERSION_EXTRA}) +else() + set(VERSION_PATCH dev-20120326) +endif() set(VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") MESSAGE(STATUS "*** Will build version ${VERSION_STRING} ***") diff --git a/misc/winresource.rc b/misc/winresource.rc new file mode 100644 index 00000000..8913ff57 --- /dev/null +++ b/misc/winresource.rc @@ -0,0 +1,5 @@ +#include +#include +#include +LANGUAGE 0, SUBLANG_NEUTRAL +130 ICON "minetest-icon.ico" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 56da7bd0..261c8eec 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -67,7 +67,7 @@ endif(ENABLE_SOUND AND BUILD_CLIENT) if(SOUND_PROBLEM) message(FATAL_ERROR "Sound enabled, but cannot be used.\n" - "To continue, either fill in the required paths or disable sound.") + "To continue, either fill in the required paths or disable sound. (-DENABLE_SOUND=0)") endif() if(USE_SOUND) set(sound_SRCS sound_openal.cpp) @@ -205,14 +205,19 @@ set(common_SRCS # This gives us the icon if(WIN32) + set(WINRESOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/../misc/winresource.rc) if(MINGW) + if(NOT CMAKE_RC_COMPILER) + set(CMAKE_RC_COMPILER "windres.exe") + endif() ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/winresource_rc.o - COMMAND windres.exe -I${CMAKE_CURRENT_SOURCE_DIR} - -i${CMAKE_CURRENT_SOURCE_DIR}/winresource.rc - -o ${CMAKE_CURRENT_BINARY_DIR}/winresource_rc.o) + COMMAND ${CMAKE_RC_COMPILER} -I${CMAKE_CURRENT_SOURCE_DIR} + -i${WINRESOURCE_FILE} + -o ${CMAKE_CURRENT_BINARY_DIR}/winresource_rc.o + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) SET(common_SRCS ${common_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/winresource_rc.o) else(MINGW) # Probably MSVC - set(common_SRCS ${common_SRCS} winresource.rc) + set(common_SRCS ${common_SRCS} ${WINRESOURCE_FILE}) endif(MINGW) endif() @@ -348,14 +353,18 @@ else() set(WARNING_FLAGS "${WARNING_FLAGS} -Wno-unused-but-set-variable") endif(HAS_UNUSED_BUT_SET_VARIABLE_WARNING) endif() - + + if(MINGW) + set(OTHER_FLAGS "-mthreads -fexceptions") + endif() + if(APPLE) set(CMAKE_OSX_ARCHITECTURES i386 CACHE STRING "do not build for 64-bit" FORCE) set(ARCH i386) endif() - set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG ${RELEASE_WARNING_FLAGS} ${WARNING_FLAGS} -O3 -ffast-math -Wall -fomit-frame-pointer -pipe -funroll-loops") - set(CMAKE_CXX_FLAGS_DEBUG "-g -O1 -Wall ${WARNING_FLAGS}") + set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG ${RELEASE_WARNING_FLAGS} ${WARNING_FLAGS} ${OTHER_FLAGS} -O3 -ffast-math -Wall -fomit-frame-pointer -pipe -funroll-loops") + set(CMAKE_CXX_FLAGS_DEBUG "-g -O1 -Wall ${WARNING_FLAGS} ${OTHER_FLAGS}") if(USE_GPROF) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -pg") diff --git a/src/winresource.rc b/src/winresource.rc deleted file mode 100644 index 4770c87b..00000000 --- a/src/winresource.rc +++ /dev/null @@ -1,6 +0,0 @@ -#include -#include -#include -LANGUAGE 0, SUBLANG_NEUTRAL -130 ICON "..\\misc\\minetest-icon.ico" -//131 BITMAP "..\\misc\\minetest-icon.bmp"