From 45b75ee37bc31ffde4b3347b222e97424b8a53f4 Mon Sep 17 00:00:00 2001 From: Piotr Dziwinski Date: Sun, 15 Apr 2012 01:02:51 +0200 Subject: [PATCH] Adding new MinGW branch --- CMakeLists.txt | 14 ++++ README.txt | 22 +++++++ bin/README.txt | 1 + src/CBot/CMakeLists.txt | 15 +++++ src/CMakeLists.txt | 142 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 194 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 README.txt create mode 100644 bin/README.txt create mode 100644 src/CBot/CMakeLists.txt create mode 100644 src/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..02016af6 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,14 @@ +# CMake project file for compiling with MinGW + +cmake_minimum_required(VERSION 2.8) + +project(colobot CXX) + +set(CMAKE_BUILD_TYPE debug) + +# Currently compiles only with -fpermissive + +set(CMAKE_CXX_FLAGS_RELEASE "-fpermissive -O2") +set(CMAKE_CXX_FLAGS_DEBUG "-fpermissive -w -g -O0") + +add_subdirectory(src bin) diff --git a/README.txt b/README.txt new file mode 100644 index 00000000..a5ef9f8c --- /dev/null +++ b/README.txt @@ -0,0 +1,22 @@ +Gałąź testowa MinGW + +Status + +Tutaj będą kontynuowane prace nad uruchomieniem projektu pod MinGW. +Gałąź będzie ścisle związana z główną, ale mimo wszystko osobna, żeby niczego nie zepsuć :) + +Instrukcja jak skompilować i uruchomić pod MinGW + +1. Ściągamy i instalujemy MinGW i MSYS: + http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/mingw-get-inst-20111118/ +2. Przy instalacji zaznaczamy wszystkie komponenty do instalacji +3. W pliku src/CMakeLists.txt zmieniamy set(DXSDK_DIR "c:/dxsdk") na katalog, gdzie jest zainstalowany DirectX SDK + (slashe mają być właśnie w takiej postaci: / a nie \) +4. Uruchamiamy MinGW console ze skrótu w menu start +5. Przechodzimy do katalogu, gdzie są źródła: "cd /c/tam/gdzie/sa/zrodla" +6. "cmake -G 'MSYS Makefiles' ." +7. "make" +8. Wszystko powinno się skomplikować bez błędów +9. Kopiujemy bin/colobot.exe, bin/CBot/libCBot.dll i z katalogu, gdzie jest zainstalowany MinGW + bin/libgcc_s_dw2-1.dll i bin/libstdc++-6.dll do miejsca, gdzie mamy oryginalne źródła z danymi +10. Odpalamy z -nocd albo jak kto woli diff --git a/bin/README.txt b/bin/README.txt new file mode 100644 index 00000000..c63a6ee8 --- /dev/null +++ b/bin/README.txt @@ -0,0 +1 @@ +Target directory for binary objects: colobot.exe and CBot/libCBot.dll diff --git a/src/CBot/CMakeLists.txt b/src/CBot/CMakeLists.txt new file mode 100644 index 00000000..409ef3bb --- /dev/null +++ b/src/CBot/CMakeLists.txt @@ -0,0 +1,15 @@ +set(SOURCES +CBot.cpp +CBotClass.cpp +CBotFunction.cpp +CBotIf.cpp +CBotProgram.cpp +CBotStack.cpp +CBotString.cpp +CBotToken.cpp +CBotTwoOpExpr.cpp +CBotVar.cpp +CBotWhile.cpp +) + +add_library(CBot SHARED ${SOURCES}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 00000000..b3d78ace --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,142 @@ +# CBot shared library +add_subdirectory(CBot) + +set(SOURCES +autobase.cpp +autoconvert.cpp +auto.cpp +autoderrick.cpp +autodestroyer.cpp +autoegg.cpp +autoenergy.cpp +autofactory.cpp +autoflag.cpp +autohuston.cpp +autoinfo.cpp +autojostle.cpp +autokid.cpp +autolabo.cpp +automush.cpp +autonest.cpp +autonuclear.cpp +autopara.cpp +autoportico.cpp +autoradar.cpp +autorepair.cpp +autoresearch.cpp +autoroot.cpp +autosafe.cpp +autostation.cpp +autotower.cpp +blitz.cpp +brain.cpp +button.cpp +camera.cpp +cbottoken.cpp +check.cpp +cloud.cpp +cmdtoken.cpp +color.cpp +compass.cpp +control.cpp +d3dapp.cpp +d3dengine.cpp +d3denum.cpp +d3dframe.cpp +d3dmath.cpp +d3dtextr.cpp +d3dutil.cpp +displayinfo.cpp +displaytext.cpp +edit.cpp +editvalue.cpp +event.cpp +gauge.cpp +group.cpp +image.cpp +iman.cpp +interface.cpp +joystick.cpp +key.cpp +label.cpp +light.cpp +list.cpp +maindialog.cpp +mainmap.cpp +mainmovie.cpp +mainshort.cpp +map.cpp +math3d.cpp +metafile.cpp +misc.cpp +model.cpp +modfile.cpp +motionant.cpp +motionbee.cpp +motion.cpp +motionhuman.cpp +motionmother.cpp +motionspider.cpp +motiontoto.cpp +motionvehicle.cpp +motionworm.cpp +object.cpp +particule.cpp +physics.cpp +planet.cpp +profile.cpp +pyro.cpp +restext.cpp +robotmain.cpp +script.cpp +scroll.cpp +shortcut.cpp +slider.cpp +sound.cpp +studio.cpp +target.cpp +taskadvance.cpp +taskbuild.cpp +task.cpp +taskfireant.cpp +taskfire.cpp +taskflag.cpp +taskgoto.cpp +taskgungoal.cpp +taskinfo.cpp +taskmanager.cpp +taskmanip.cpp +taskpen.cpp +taskrecover.cpp +taskreset.cpp +tasksearch.cpp +taskshield.cpp +taskspiderexplo.cpp +tasktake.cpp +taskterraform.cpp +taskturn.cpp +taskwait.cpp +terrain.cpp +text.cpp +water.cpp +window.cpp +) + +# Change to DirectX SDK directory +set(DXSDK_DIR "c:/dxsdk") + +include_directories(${DXSDK_DIR}/include) +link_directories(${CMAKE_CURRENT_SOURCE_DIR}/CBot ${DXSDK_DIR}/lib) +set( LIBS -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 + -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 + -lodbccp32 -lwinmm + ${DXSDK_DIR}/lib/ddraw.lib ${DXSDK_DIR}/lib/dinput.lib ${DXSDK_DIR}/lib/dxguid.lib ${DXSDK_DIR}/lib/d3d8.lib ${DXSDK_DIR}/lib/dsound.lib ) + +# To build with libwine: +# include_directories(/usr/include/wine/windows /usr/include/wine/msvcrt) +# set(LIBS -lwine) + +add_executable(colobot ${SOURCES}) + +target_link_libraries(colobot CBot ${LIBS}) +