[colobot] 51/390: Better CMake organization and unit test cleanups

Didier Raboud odyx at moszumanska.debian.org
Fri Jun 12 14:21:27 UTC 2015


This is an automated email from the git hooks/post-receive script.

odyx pushed a commit to branch upstream/latest
in repository colobot.

commit 74312b0405d6fb5ed75c675ceed471e1e5086f00
Author: Piotr Dziwinski <piotrdz at gmail.com>
Date:   Tue Aug 12 20:03:56 2014 +0200

    Better CMake organization and unit test cleanups
    
    * created a static library containing most source modules
      to avoid compiling source modules twice in code and unit tests
    * moved profile_test to main unit tests executable
    * removed image_test and edit_test as not really useful
---
 CMakeLists.txt                        |  74 ++++----
 src/CMakeLists.txt                    | 339 ++++++++++++++++++----------------
 src/common/profile.cpp                |  26 +--
 src/common/profile.h                  |   7 +
 test/unit/CMakeLists.txt              | 258 ++++----------------------
 test/unit/common/CMakeLists.txt       |  21 ---
 test/unit/common/image_test.cpp       |  57 ------
 test/unit/common/profile_test.cpp     |   9 +-
 test/unit/ui/CMakeLists.txt           |  46 -----
 test/unit/ui/edit_test.cpp            |  90 ---------
 test/unit/ui/mocks/text_mock.h        |  35 ----
 test/unit/ui/stubs/app_stub.cpp       |  42 -----
 test/unit/ui/stubs/engine_stub.cpp    | 104 -----------
 test/unit/ui/stubs/particle_stub.cpp  | 205 --------------------
 test/unit/ui/stubs/restext_stub.cpp   |  12 --
 test/unit/ui/stubs/robotmain_stub.cpp |  25 ---
 16 files changed, 280 insertions(+), 1070 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index bf1e12e..6deed31 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -294,43 +294,6 @@ endif()
 # Targets
 ##
 
-if(TESTS)
-    # Google Test library
-    find_path(GTEST_SRC_DIR NAMES src/gtest.cc src/gtest-all.cc PATHS /usr/src PATH_SUFFIXES gtest)
-    find_path(GTEST_INCLUDE_DIR gtest/gtest.h PATHS /usr/include)
-    if(NOT(FORCE_BUNDLED_GTEST) AND GTEST_SRC_DIR AND GTEST_INCLUDE_DIR)
-        message(STATUS "Using system gtest library in ${GTEST_SRC_DIR}")
-    else()
-        message(STATUS "Using bundled gtest library")
-        set(GTEST_SRC_DIR ${colobot_SOURCE_DIR}/lib/gtest)
-        set(GTEST_INCLUDE_DIR ${colobot_SOURCE_DIR}/lib/gtest/include)
-    endif()
-
-    add_subdirectory(${GTEST_SRC_DIR} lib/gtest)
-
-    # Google Mock library
-    find_path(GMOCK_SRC_DIR NAMES src/gmock.cc src/gmock-all.cc PATHS /usr/src PATH_SUFFIXES gmock)
-    find_path(GMOCK_INCLUDE_DIR gmock/gmock.h PATHS /usr/include)
-    if(NOT(FORCE_BUNDLED_GMOCK) AND GMOCK_SRC_DIR AND GMOCK_INCLUDE_DIR)
-        message(STATUS "Using system gmock library in ${GMOCK_SRC_DIR}")
-
-        include_directories(${GMOCK_SRC_DIR})
-        # gmock-all.cc includes all other sources
-        add_library(gmock STATIC ${GMOCK_SRC_DIR}/src/gmock-all.cc)
-    else()
-        message(STATUS "Using bundled gmock library")
-        set(GMOCK_SRC_DIR ${colobot_SOURCE_DIR}/lib/gmock)
-        set(GMOCK_INCLUDE_DIR ${colobot_SOURCE_DIR}/lib/gmock/include)
-        add_subdirectory(${GMOCK_SRC_DIR} lib/gmock)
-    endif()
-
-
-    # Tests targets
-    enable_testing()
-    add_subdirectory(test)
-
-endif()
-
 # Installation paths defined before compiling sources
 if(PLATFORM_WINDOWS)
     if(MXE)
@@ -370,6 +333,43 @@ if(DESKTOP)
     add_subdirectory(desktop)
 endif()
 
+if(TESTS)
+    # Google Test library
+    find_path(GTEST_SRC_DIR NAMES src/gtest.cc src/gtest-all.cc PATHS /usr/src PATH_SUFFIXES gtest)
+    find_path(GTEST_INCLUDE_DIR gtest/gtest.h PATHS /usr/include)
+    if(NOT(FORCE_BUNDLED_GTEST) AND GTEST_SRC_DIR AND GTEST_INCLUDE_DIR)
+        message(STATUS "Using system gtest library in ${GTEST_SRC_DIR}")
+    else()
+        message(STATUS "Using bundled gtest library")
+        set(GTEST_SRC_DIR ${colobot_SOURCE_DIR}/lib/gtest)
+        set(GTEST_INCLUDE_DIR ${colobot_SOURCE_DIR}/lib/gtest/include)
+    endif()
+
+    add_subdirectory(${GTEST_SRC_DIR} lib/gtest)
+
+    # Google Mock library
+    find_path(GMOCK_SRC_DIR NAMES src/gmock.cc src/gmock-all.cc PATHS /usr/src PATH_SUFFIXES gmock)
+    find_path(GMOCK_INCLUDE_DIR gmock/gmock.h PATHS /usr/include)
+    if(NOT(FORCE_BUNDLED_GMOCK) AND GMOCK_SRC_DIR AND GMOCK_INCLUDE_DIR)
+        message(STATUS "Using system gmock library in ${GMOCK_SRC_DIR}")
+
+        include_directories(${GMOCK_SRC_DIR})
+        # gmock-all.cc includes all other sources
+        add_library(gmock STATIC ${GMOCK_SRC_DIR}/src/gmock-all.cc)
+    else()
+        message(STATUS "Using bundled gmock library")
+        set(GMOCK_SRC_DIR ${colobot_SOURCE_DIR}/lib/gmock)
+        set(GMOCK_INCLUDE_DIR ${colobot_SOURCE_DIR}/lib/gmock/include)
+        add_subdirectory(${GMOCK_SRC_DIR} lib/gmock)
+    endif()
+
+
+    # Tests targets
+    enable_testing()
+    add_subdirectory(test)
+
+endif()
+
 
 ##
 # Installation
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 12171f3..fbbaa37 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -59,178 +59,197 @@ if(PLATFORM_WINDOWS)
 endif()
 
 # Source files
-set(SOURCES
-app/app.cpp
-app/gamedata.cpp
-app/main.cpp
-app/pausemanager.cpp
-app/system.cpp
-app/${SYSTEM_CPP_MODULE}
-app/system_other.cpp
-common/event.cpp
-common/image.cpp
-common/iman.cpp
-common/logger.cpp
-common/misc.cpp
-common/profile.cpp
-common/restext.cpp
-common/stringutils.cpp
-graphics/core/color.cpp
-graphics/engine/camera.cpp
-graphics/engine/cloud.cpp
-graphics/engine/engine.cpp
-graphics/engine/lightman.cpp
-graphics/engine/lightning.cpp
-graphics/engine/modelfile.cpp
-graphics/engine/modelmanager.cpp
-graphics/engine/particle.cpp
-graphics/engine/planet.cpp
-graphics/engine/pyro.cpp
-graphics/engine/terrain.cpp
-graphics/engine/text.cpp
-graphics/engine/water.cpp
-graphics/opengl/gldevice.cpp
-object/auto/auto.cpp
-object/auto/autobase.cpp
-object/auto/autoconvert.cpp
-object/auto/autoderrick.cpp
-object/auto/autodestroyer.cpp
-object/auto/autoegg.cpp
-object/auto/autoenergy.cpp
-object/auto/autofactory.cpp
-object/auto/autoflag.cpp
-object/auto/autohuston.cpp
-object/auto/autoinfo.cpp
-object/auto/autojostle.cpp
-object/auto/autokid.cpp
-object/auto/autolabo.cpp
-object/auto/automush.cpp
-object/auto/autonest.cpp
-object/auto/autonuclear.cpp
-object/auto/autopara.cpp
-object/auto/autoportico.cpp
-object/auto/autoradar.cpp
-object/auto/autorepair.cpp
-object/auto/autoresearch.cpp
-object/auto/autoroot.cpp
-object/auto/autosafe.cpp
-object/auto/autostation.cpp
-object/auto/autotower.cpp
-object/brain.cpp
-object/mainmovie.cpp
-object/motion/motion.cpp
-object/motion/motionant.cpp
-object/motion/motionbee.cpp
-object/motion/motiondummy.cpp
-object/motion/motionhuman.cpp
-object/motion/motionmother.cpp
-object/motion/motionspider.cpp
-object/motion/motiontoto.cpp
-object/motion/motionvehicle.cpp
-object/motion/motionworm.cpp
-object/object.cpp
-object/robotmain.cpp
-object/objman.cpp
-object/task/task.cpp
-object/task/taskadvance.cpp
-object/task/taskbuild.cpp
-object/task/taskfire.cpp
-object/task/taskfireant.cpp
-object/task/taskflag.cpp
-object/task/taskgoto.cpp
-object/task/taskgungoal.cpp
-object/task/taskinfo.cpp
-object/task/taskmanager.cpp
-object/task/taskmanip.cpp
-object/task/taskpen.cpp
-object/task/taskrecover.cpp
-object/task/taskreset.cpp
-object/task/tasksearch.cpp
-object/task/taskshield.cpp
-object/task/taskspiderexplo.cpp
-object/task/tasktake.cpp
-object/task/taskterraform.cpp
-object/task/taskturn.cpp
-object/task/taskwait.cpp
-physics/physics.cpp
-script/cbottoken.cpp
-script/cmdtoken.cpp
-script/script.cpp
-sound/sound.cpp
-ui/button.cpp
-ui/check.cpp
-ui/color.cpp
-ui/compass.cpp
-ui/control.cpp
-ui/displayinfo.cpp
-ui/displaytext.cpp
-ui/edit.cpp
-ui/editvalue.cpp
-ui/gauge.cpp
-ui/group.cpp
-ui/image.cpp
-ui/interface.cpp
-ui/key.cpp
-ui/label.cpp
-ui/list.cpp
-ui/maindialog.cpp
-ui/mainmap.cpp
-ui/mainshort.cpp
-ui/map.cpp
-ui/scroll.cpp
-ui/shortcut.cpp
-ui/slider.cpp
-ui/studio.cpp
-ui/target.cpp
-ui/window.cpp
-${OPENAL_SRC}
-${RES_FILES}
+set(BASE_SOURCES
+    app/app.cpp
+    app/gamedata.cpp
+    app/pausemanager.cpp
+    app/system.cpp
+    app/${SYSTEM_CPP_MODULE}
+    app/system_other.cpp
+    common/event.cpp
+    common/image.cpp
+    common/iman.cpp
+    common/logger.cpp
+    common/misc.cpp
+    common/profile.cpp
+    common/restext.cpp
+    common/stringutils.cpp
+    graphics/core/color.cpp
+    graphics/engine/camera.cpp
+    graphics/engine/cloud.cpp
+    graphics/engine/engine.cpp
+    graphics/engine/lightman.cpp
+    graphics/engine/lightning.cpp
+    graphics/engine/modelfile.cpp
+    graphics/engine/modelmanager.cpp
+    graphics/engine/particle.cpp
+    graphics/engine/planet.cpp
+    graphics/engine/pyro.cpp
+    graphics/engine/terrain.cpp
+    graphics/engine/text.cpp
+    graphics/engine/water.cpp
+    graphics/opengl/gldevice.cpp
+    object/auto/auto.cpp
+    object/auto/autobase.cpp
+    object/auto/autoconvert.cpp
+    object/auto/autoderrick.cpp
+    object/auto/autodestroyer.cpp
+    object/auto/autoegg.cpp
+    object/auto/autoenergy.cpp
+    object/auto/autofactory.cpp
+    object/auto/autoflag.cpp
+    object/auto/autohuston.cpp
+    object/auto/autoinfo.cpp
+    object/auto/autojostle.cpp
+    object/auto/autokid.cpp
+    object/auto/autolabo.cpp
+    object/auto/automush.cpp
+    object/auto/autonest.cpp
+    object/auto/autonuclear.cpp
+    object/auto/autopara.cpp
+    object/auto/autoportico.cpp
+    object/auto/autoradar.cpp
+    object/auto/autorepair.cpp
+    object/auto/autoresearch.cpp
+    object/auto/autoroot.cpp
+    object/auto/autosafe.cpp
+    object/auto/autostation.cpp
+    object/auto/autotower.cpp
+    object/brain.cpp
+    object/mainmovie.cpp
+    object/motion/motion.cpp
+    object/motion/motionant.cpp
+    object/motion/motionbee.cpp
+    object/motion/motiondummy.cpp
+    object/motion/motionhuman.cpp
+    object/motion/motionmother.cpp
+    object/motion/motionspider.cpp
+    object/motion/motiontoto.cpp
+    object/motion/motionvehicle.cpp
+    object/motion/motionworm.cpp
+    object/object.cpp
+    object/robotmain.cpp
+    object/objman.cpp
+    object/task/task.cpp
+    object/task/taskadvance.cpp
+    object/task/taskbuild.cpp
+    object/task/taskfire.cpp
+    object/task/taskfireant.cpp
+    object/task/taskflag.cpp
+    object/task/taskgoto.cpp
+    object/task/taskgungoal.cpp
+    object/task/taskinfo.cpp
+    object/task/taskmanager.cpp
+    object/task/taskmanip.cpp
+    object/task/taskpen.cpp
+    object/task/taskrecover.cpp
+    object/task/taskreset.cpp
+    object/task/tasksearch.cpp
+    object/task/taskshield.cpp
+    object/task/taskspiderexplo.cpp
+    object/task/tasktake.cpp
+    object/task/taskterraform.cpp
+    object/task/taskturn.cpp
+    object/task/taskwait.cpp
+    physics/physics.cpp
+    script/cbottoken.cpp
+    script/cmdtoken.cpp
+    script/script.cpp
+    sound/sound.cpp
+    ui/button.cpp
+    ui/check.cpp
+    ui/color.cpp
+    ui/compass.cpp
+    ui/control.cpp
+    ui/displayinfo.cpp
+    ui/displaytext.cpp
+    ui/edit.cpp
+    ui/editvalue.cpp
+    ui/gauge.cpp
+    ui/group.cpp
+    ui/image.cpp
+    ui/interface.cpp
+    ui/key.cpp
+    ui/label.cpp
+    ui/list.cpp
+    ui/maindialog.cpp
+    ui/mainmap.cpp
+    ui/mainshort.cpp
+    ui/map.cpp
+    ui/scroll.cpp
+    ui/shortcut.cpp
+    ui/slider.cpp
+    ui/studio.cpp
+    ui/target.cpp
+    ui/window.cpp
+    ${OPENAL_SRC}
+    ${RES_FILES}
+)
+
+set(MAIN_SOURCES
+    app/main.cpp
 )
 
 
+# Libraries
 set(LIBS
-CBot
-clipboard
-localename
-${SDL_LIBRARY}
-${SDLIMAGE_LIBRARY}
-${SDLTTF_LIBRARY}
-${OPENGL_LIBRARY}
-${PNG_LIBRARIES}
-${GLEW_LIBRARY}
-${Boost_LIBRARIES}
-${LIBSNDFILE_LIBRARY}
-${OPTIONAL_LIBS}
-${PLATFORM_LIBS}
+    CBot
+    clipboard
+    localename
+    ${SDL_LIBRARY}
+    ${SDLIMAGE_LIBRARY}
+    ${SDLTTF_LIBRARY}
+    ${OPENGL_LIBRARY}
+    ${PNG_LIBRARIES}
+    ${GLEW_LIBRARY}
+    ${Boost_LIBRARIES}
+    ${LIBSNDFILE_LIBRARY}
+    ${OPTIONAL_LIBS}
+    ${PLATFORM_LIBS}
+)
+
+set(COLOBOT_LIBS ${LIBS} PARENT_SCOPE)
+
+
+# Includes
+set(LOCAL_INCLUDES
+    ${CMAKE_CURRENT_SOURCE_DIR}
+    ${CMAKE_CURRENT_SOURCE_DIR}/..
+    ${CMAKE_CURRENT_BINARY_DIR}
 )
 
-# Local
-include_directories(
-.
-..
-${CMAKE_CURRENT_BINARY_DIR}
+set(SYSTEM_INCLUDES
+    ${SDL_INCLUDE_DIR}
+    ${SDLIMAGE_INCLUDE_DIR}
+    ${SDLTTF_INCLUDE_DIR}
+    ${PNG_INCLUDE_DIRS}
+    ${GLEW_INCLUDE_PATH}
+    ${Boost_INCLUDE_DIRS}
+    ${LIBSNDFILE_INCLUDE_DIR}
+    ${LOCALENAME_INCLUDE_DIR}
+    ${OPTIONAL_INCLUDE_DIRS}
+    ${CLIPBOARD_INCLUDE_DIR}
 )
 
-# System
-include_directories(
-SYSTEM
-${SDL_INCLUDE_DIR}
-${SDLIMAGE_INCLUDE_DIR}
-${SDLTTF_INCLUDE_DIR}
-${PNG_INCLUDE_DIRS}
-${GLEW_INCLUDE_PATH}
-${Boost_INCLUDE_DIRS}
-${LIBSNDFILE_INCLUDE_DIR}
-${LOCALENAME_INCLUDE_DIR}
-${OPTIONAL_INCLUDE_DIRS}
-${CLIPBOARD_INCLUDE_DIR}
+set(COLOBOT_LOCAL_INCLUDES ${LOCAL_INCLUDES} PARENT_SCOPE)
+set(COLOBOT_SYSTEM_INCLUDES ${SYSTEM_INCLUDES} PARENT_SCOPE)
+
+include_directories(${LOCAL_INCLUDES})
+include_directories(SYSTEM ${SYSTEM_INCLUDES})
+
+
+# Link directories
+link_directories(
+    ${CMAKE_CURRENT_SOURCE_DIR}/CBot
 )
 
-link_directories(${CMAKE_CURRENT_SOURCE_DIR}/CBot)
 
-add_executable(colobot ${SOURCES})
+# Targets
+
+add_library(colobotbase STATIC ${BASE_SOURCES})
 
-target_link_libraries(colobot ${LIBS})
+add_executable(colobot ${MAIN_SOURCES})
+target_link_libraries(colobot colobotbase ${LIBS})
 
 install(TARGETS colobot RUNTIME DESTINATION ${COLOBOT_INSTALL_BIN_DIR})
 if(NOT CBOT_STATIC)
diff --git a/src/common/profile.cpp b/src/common/profile.cpp
index ee3e873..a63a772 100644
--- a/src/common/profile.cpp
+++ b/src/common/profile.cpp
@@ -31,8 +31,9 @@ template<> CProfile* CSingleton<CProfile>::m_instance = nullptr;
 
 namespace bp = boost::property_tree;
 
-CProfile::CProfile() :
-    m_profileNeedSave(false)
+CProfile::CProfile()
+   : m_profileNeedSave(false)
+   , m_useLocalDirectory(false)
 {
 }
 
@@ -42,16 +43,21 @@ CProfile::~CProfile()
     SaveCurrentDirectory();
 }
 
+void CProfile::SetUseLocalDirectory(bool useLocalDirectory)
+{
+    m_useLocalDirectory = useLocalDirectory;
+}
+
+std::string CProfile::GetIniFileLocation()
+{
+    return m_useLocalDirectory ? "colobot.ini" : GetSystemUtils()->GetProfileFileLocation();
+}
 
 bool CProfile::InitCurrentDirectory()
 {
     try
     {
-        #if DEV_BUILD
-        bp::ini_parser::read_ini("colobot.ini", m_propertyTree);
-        #else
-        bp::ini_parser::read_ini(GetSystemUtils()->GetProfileFileLocation(), m_propertyTree);
-        #endif
+        bp::ini_parser::read_ini(GetIniFileLocation(), m_propertyTree);
     }
     catch (std::exception & e)
     {
@@ -67,11 +73,7 @@ bool CProfile::SaveCurrentDirectory()
     {
         try
         {
-            #if DEV_BUILD
-            bp::ini_parser::write_ini("colobot.ini", m_propertyTree);
-            #else
-            bp::ini_parser::write_ini(GetSystemUtils()->GetProfileFileLocation(), m_propertyTree);
-            #endif
+            bp::ini_parser::write_ini(GetIniFileLocation(), m_propertyTree);
         }
         catch (std::exception & e)
         {
diff --git a/src/common/profile.h b/src/common/profile.h
index f084ece..52f9f15 100644
--- a/src/common/profile.h
+++ b/src/common/profile.h
@@ -45,6 +45,9 @@ public:
     CProfile();
     virtual ~CProfile();
 
+    /** Set flag to force using ini file from local directory */
+    void SetUseLocalDirectory(bool useLocalDirectory);
+
     /** Loads colobot.ini from current directory
         * \return return true on success
         */
@@ -130,9 +133,13 @@ public:
     bool CopyFileToTemp(std::string filename);
 
 private:
+    std::string GetIniFileLocation();
+
+private:
     boost::property_tree::ptree m_propertyTree;
     bool m_profileNeedSave;
     std::string m_userDirectory;
+    bool m_useLocalDirectory;
 };
 
 //! Global function to get profile instance
diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt
index bdb5a67..cd745c3 100644
--- a/test/unit/CMakeLists.txt
+++ b/test/unit/CMakeLists.txt
@@ -1,170 +1,3 @@
-set(SRC_DIR ${colobot_SOURCE_DIR}/src)
-
-# Additional libraries per platform
-if(MXE) # MXE requires special treatment
-    set(PLATFORM_LIBS ${MXE_LIBS})
-elseif(PLATFORM_WINDOWS)
-    # because it isn't included in standard linking libraries
-    set(PLATFORM_LIBS "-lintl")
-elseif(PLATFORM_GNU)
-    set(PLATFORM_LIBS "-lX11")
-elseif(PLATFORM_LINUX)
-    # for clock_gettime
-    set(PLATFORM_LIBS "-lrt -lX11")
-elseif(PLATFORM_MACOSX)
-    find_library(LIBINTL_LIBRARY NAMES intl libintl )
-    set(PLATFORM_LIBS ${LIBINTL_LIBRARY} ${X11_X11_LIB})
-endif()
-
-
-# Configure file
-configure_file(${SRC_DIR}/common/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/common/config.h)
-
-# Code sources
-set(COLOBOT_SOURCES
-${SRC_DIR}/app/app.cpp
-${SRC_DIR}/app/gamedata.cpp
-${SRC_DIR}/app/pausemanager.cpp
-${SRC_DIR}/app/system.cpp
-${SRC_DIR}/app/${SYSTEM_CPP_MODULE}
-${SRC_DIR}/app/system_other.cpp
-${SRC_DIR}/common/event.cpp
-${SRC_DIR}/common/image.cpp
-${SRC_DIR}/common/iman.cpp
-${SRC_DIR}/common/logger.cpp
-${SRC_DIR}/common/misc.cpp
-${SRC_DIR}/common/profile.cpp
-${SRC_DIR}/common/restext.cpp
-${SRC_DIR}/common/stringutils.cpp
-${SRC_DIR}/graphics/core/color.cpp
-${SRC_DIR}/graphics/engine/camera.cpp
-${SRC_DIR}/graphics/engine/cloud.cpp
-${SRC_DIR}/graphics/engine/engine.cpp
-${SRC_DIR}/graphics/engine/lightman.cpp
-${SRC_DIR}/graphics/engine/lightning.cpp
-${SRC_DIR}/graphics/engine/modelfile.cpp
-${SRC_DIR}/graphics/engine/modelmanager.cpp
-${SRC_DIR}/graphics/engine/particle.cpp
-${SRC_DIR}/graphics/engine/planet.cpp
-${SRC_DIR}/graphics/engine/pyro.cpp
-${SRC_DIR}/graphics/engine/terrain.cpp
-${SRC_DIR}/graphics/engine/text.cpp
-${SRC_DIR}/graphics/engine/water.cpp
-${SRC_DIR}/graphics/opengl/gldevice.cpp
-${SRC_DIR}/object/auto/auto.cpp
-${SRC_DIR}/object/auto/autobase.cpp
-${SRC_DIR}/object/auto/autoconvert.cpp
-${SRC_DIR}/object/auto/autoderrick.cpp
-${SRC_DIR}/object/auto/autodestroyer.cpp
-${SRC_DIR}/object/auto/autoegg.cpp
-${SRC_DIR}/object/auto/autoenergy.cpp
-${SRC_DIR}/object/auto/autofactory.cpp
-${SRC_DIR}/object/auto/autoflag.cpp
-${SRC_DIR}/object/auto/autohuston.cpp
-${SRC_DIR}/object/auto/autoinfo.cpp
-${SRC_DIR}/object/auto/autojostle.cpp
-${SRC_DIR}/object/auto/autokid.cpp
-${SRC_DIR}/object/auto/autolabo.cpp
-${SRC_DIR}/object/auto/automush.cpp
-${SRC_DIR}/object/auto/autonest.cpp
-${SRC_DIR}/object/auto/autonuclear.cpp
-${SRC_DIR}/object/auto/autopara.cpp
-${SRC_DIR}/object/auto/autoportico.cpp
-${SRC_DIR}/object/auto/autoradar.cpp
-${SRC_DIR}/object/auto/autorepair.cpp
-${SRC_DIR}/object/auto/autoresearch.cpp
-${SRC_DIR}/object/auto/autoroot.cpp
-${SRC_DIR}/object/auto/autosafe.cpp
-${SRC_DIR}/object/auto/autostation.cpp
-${SRC_DIR}/object/auto/autotower.cpp
-${SRC_DIR}/object/brain.cpp
-${SRC_DIR}/object/mainmovie.cpp
-${SRC_DIR}/object/motion/motion.cpp
-${SRC_DIR}/object/motion/motionant.cpp
-${SRC_DIR}/object/motion/motionbee.cpp
-${SRC_DIR}/object/motion/motionhuman.cpp
-${SRC_DIR}/object/motion/motionmother.cpp
-${SRC_DIR}/object/motion/motionspider.cpp
-${SRC_DIR}/object/motion/motiontoto.cpp
-${SRC_DIR}/object/motion/motionvehicle.cpp
-${SRC_DIR}/object/motion/motionworm.cpp
-${SRC_DIR}/object/motion/motiondummy.cpp
-${SRC_DIR}/object/object.cpp
-${SRC_DIR}/object/objman.cpp
-${SRC_DIR}/object/robotmain.cpp
-${SRC_DIR}/object/task/task.cpp
-${SRC_DIR}/object/task/taskadvance.cpp
-${SRC_DIR}/object/task/taskbuild.cpp
-${SRC_DIR}/object/task/taskfire.cpp
-${SRC_DIR}/object/task/taskfireant.cpp
-${SRC_DIR}/object/task/taskflag.cpp
-${SRC_DIR}/object/task/taskgoto.cpp
-${SRC_DIR}/object/task/taskgungoal.cpp
-${SRC_DIR}/object/task/taskinfo.cpp
-${SRC_DIR}/object/task/taskmanager.cpp
-${SRC_DIR}/object/task/taskmanip.cpp
-${SRC_DIR}/object/task/taskpen.cpp
-${SRC_DIR}/object/task/taskrecover.cpp
-${SRC_DIR}/object/task/taskreset.cpp
-${SRC_DIR}/object/task/tasksearch.cpp
-${SRC_DIR}/object/task/taskshield.cpp
-${SRC_DIR}/object/task/taskspiderexplo.cpp
-${SRC_DIR}/object/task/tasktake.cpp
-${SRC_DIR}/object/task/taskterraform.cpp
-${SRC_DIR}/object/task/taskturn.cpp
-${SRC_DIR}/object/task/taskwait.cpp
-${SRC_DIR}/physics/physics.cpp
-${SRC_DIR}/script/cbottoken.cpp
-${SRC_DIR}/script/cmdtoken.cpp
-${SRC_DIR}/script/script.cpp
-${SRC_DIR}/sound/sound.cpp
-${SRC_DIR}/ui/button.cpp
-${SRC_DIR}/ui/check.cpp
-${SRC_DIR}/ui/color.cpp
-${SRC_DIR}/ui/compass.cpp
-${SRC_DIR}/ui/control.cpp
-${SRC_DIR}/ui/displayinfo.cpp
-${SRC_DIR}/ui/displaytext.cpp
-${SRC_DIR}/ui/edit.cpp
-${SRC_DIR}/ui/editvalue.cpp
-${SRC_DIR}/ui/gauge.cpp
-${SRC_DIR}/ui/group.cpp
-${SRC_DIR}/ui/image.cpp
-${SRC_DIR}/ui/interface.cpp
-${SRC_DIR}/ui/key.cpp
-${SRC_DIR}/ui/label.cpp
-${SRC_DIR}/ui/list.cpp
-${SRC_DIR}/ui/maindialog.cpp
-${SRC_DIR}/ui/mainmap.cpp
-${SRC_DIR}/ui/mainshort.cpp
-${SRC_DIR}/ui/map.cpp
-${SRC_DIR}/ui/scroll.cpp
-${SRC_DIR}/ui/shortcut.cpp
-${SRC_DIR}/ui/slider.cpp
-${SRC_DIR}/ui/studio.cpp
-${SRC_DIR}/ui/target.cpp
-${SRC_DIR}/ui/window.cpp
-)
-
-set(OPENAL_SOURCES "")
-
-if(OPENAL_SOUND)
-    set(OPENAL_SOURCES
-        ${SRC_DIR}/sound/oalsound/alsound.cpp
-        ${SRC_DIR}/sound/oalsound/buffer.cpp
-        ${SRC_DIR}/sound/oalsound/channel.cpp
-    )
-endif()
-
-# Optional libraries
-set(OPTIONAL_LIBS "")
-
-if(OPENAL_SOUND)
-    set(OPTIONAL_LIBS ${OPENAL_LIBRARY})
-    set(OPTIONAL_INCLUDES ${OPENAL_INCLUDE_DIR})
-endif()
-
-
 # Platform-dependent tests
 if(PLATFORM_WINDOWS)
     set(PLATFORM_TESTS app/system_windows_test.cpp)
@@ -172,67 +5,58 @@ elseif(PLATFORM_LINUX)
     set(PLATFORM_TESTS app/system_linux_test.cpp)
 endif()
 
-# Tests
+# Sources
 set(UT_SOURCES
-main.cpp
-app/app_test.cpp
-graphics/engine/lightman_test.cpp
-math/func_test.cpp
-math/geometry_test.cpp
-math/matrix_test.cpp
-math/vector_test.cpp
-${PLATFORM_TESTS}
+    main.cpp
+    app/app_test.cpp
+    common/profile_test.cpp
+    graphics/engine/lightman_test.cpp
+    math/func_test.cpp
+    math/geometry_test.cpp
+    math/matrix_test.cpp
+    math/vector_test.cpp
+    ${PLATFORM_TESTS}
 )
 
-# Local
+# Includes
 include_directories(
-.
-common
-math
-${SRC_DIR}
-${CMAKE_CURRENT_BINARY_DIR}
+    common
+    math
+    ${CMAKE_CURRENT_SOURCE_DIR}
+    ${CMAKE_CURRENT_BINARY_DIR}
+    ${COLOBOT_LOCAL_INCLUDES}
 )
 
-# System
 include_directories(
-SYSTEM
-${GTEST_INCLUDE_DIR}
-${GMOCK_INCLUDE_DIR}
-${SDL_INCLUDE_DIR}
-${SDLIMAGE_INCLUDE_DIR}
-${SDLTTF_INCLUDE_DIR}
-${PNG_INCLUDE_DIRS}
-${GLEW_INCLUDE_PATH}
-${Boost_INCLUDE_DIRS}
-${OPTIONAL_INCLUDE_DIRS}
-${LIBSNDFILE_INCLUDE_DIR}
-${CLIPBOARD_INCLUDE_DIR}
-${LOCALENAME_INCLUDE_DIR}
+    SYSTEM
+    ${GTEST_INCLUDE_DIR}
+    ${GMOCK_INCLUDE_DIR}
+    ${COLOBOT_SYSTEM_INCLUDES}
 )
 
+# Libraries
 set(LIBS
-gtest
-gmock
-CBot
-clipboard
-localename
-${SDL_LIBRARY}
-${SDLIMAGE_LIBRARY}
-${SDLTTF_LIBRARY}
-${OPENGL_LIBRARY}
-${PNG_LIBRARIES}
-${GLEW_LIBRARY}
-${Boost_LIBRARIES}
-${OPTIONAL_LIBS}
-${PLATFORM_LIBS}
-${LIBSNDFILE_LIBRARY}
+    gtest
+    gmock
+    colobotbase
+    ${COLOBOT_LIBS}
 )
 
-add_executable(colobot_ut ${COLOBOT_SOURCES} ${UT_SOURCES} ${OPENAL_SOURCES})
-target_link_libraries(colobot_ut ${LIBS})
+# Test files
 
-add_test(colobot_ut ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/colobot_ut)
+set(TEST_FILES
+    common/colobot.ini
+)
 
-# TODO: change the unit cases to independent automated tests to be included in colobot_ut
-add_subdirectory(common)
-add_subdirectory(ui)
+file(COPY ${TEST_FILES} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
+
+# Targets
+
+add_executable(colobot_ut ${UT_SOURCES})
+target_link_libraries(colobot_ut ${LIBS})
+
+add_test(
+    NAME colobot_ut
+    COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/colobot_ut
+    WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
+)
diff --git a/test/unit/common/CMakeLists.txt b/test/unit/common/CMakeLists.txt
deleted file mode 100644
index cf37961..0000000
--- a/test/unit/common/CMakeLists.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-set(SRC_DIR ${colobot_SOURCE_DIR}/src)
-
-include_directories(
-${SRC_DIR}
-${GTEST_INCLUDE_DIR}
-)
-
-add_executable(image_test ${SRC_DIR}/common/image.cpp image_test.cpp)
-target_link_libraries(image_test ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY} ${PNG_LIBRARIES})
-add_test(NAME image_test
-         COMMAND ${CMAKE_BINARY_DIR}/image_test ${CMAKE_SOURCE_DIR}/test/envs/opengl/tex1.png ${CMAKE_BINARY_DIR}/tex1_test.png)
-
-file(COPY colobot.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-
-add_executable(profile_test ${SRC_DIR}/common/profile.cpp ${SRC_DIR}/common/logger.cpp profile_test.cpp)
-set_target_properties(profile_test PROPERTIES COMPILE_DEFINITIONS "DEV_BUILD=1")
-target_link_libraries(profile_test gtest ${Boost_LIBRARIES})
-
-add_test(NAME profile_test
-         COMMAND ${CMAKE_BINARY_DIR}/profile_test
-         WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/test/unit/common/image_test.cpp b/test/unit/common/image_test.cpp
deleted file mode 100644
index 2b20a17..0000000
--- a/test/unit/common/image_test.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
-#include "common/image.h"
-
-#include <SDL.h>
-#include <stdio.h>
-
-/* For now, just a simple test: loading a file from image
- * and saving it to another in PNG. */
-
-int main(int argc, char *argv[])
-{
-    if (argc != 3)
-    {
-        printf("Usage: %s in_image out_image\n", argv[0]);
-        return 0;
-    }
-
-    CImage image;
-
-    if (! image.Load(argv[1]))
-    {
-        std::string err = image.GetError();
-        printf("Error loading '%s': %s\n", argv[1], err.c_str());
-        return 1;
-    }
-    Gfx::Color color;
-    std::string str;
-
-    color = image.GetPixel(Math::IntPoint(0, 0));
-    str = color.ToString();
-    printf("pixel @ (0,0): %s\n", str.c_str());
-
-    color = image.GetPixel(Math::IntPoint(0, 1));
-    str = color.ToString();
-    printf("pixel @ (0,1): %s\n", str.c_str());
-
-    color = image.GetPixel(Math::IntPoint(1, 0));
-    str = color.ToString();
-    printf("pixel @ (1,0): %s\n", str.c_str());
-
-    color = image.GetPixel(Math::IntPoint(1, 1));
-    str = color.ToString();
-    printf("pixel @ (1,1): %s\n", str.c_str());
-
-    image.SetPixel(Math::IntPoint(0, 0), Gfx::Color(0.1f, 0.2f, 0.3f, 0.0f));
-    image.SetPixel(Math::IntPoint(1, 0), Gfx::Color(0.3f, 0.2f, 0.1f, 1.0f));
-    image.SetPixel(Math::IntPoint(0, 1), Gfx::Color(1.0f, 1.0f, 1.0f, 1.0f));
-    image.SetPixel(Math::IntPoint(1, 1), Gfx::Color(0.0f, 0.0f, 0.0f, 1.0f));
-
-    if (! image.SavePNG(argv[2]))
-    {
-        std::string err = image.GetError();
-        printf("Error saving PNG '%s': %s\n", argv[2], err.c_str());
-        return 2;
-    }
-
-    return 0;
-}
diff --git a/test/unit/common/profile_test.cpp b/test/unit/common/profile_test.cpp
index dabcba6..1a4f239 100644
--- a/test/unit/common/profile_test.cpp
+++ b/test/unit/common/profile_test.cpp
@@ -11,13 +11,14 @@
 class CProfileTest : public testing::Test
 {
 protected:
-    CLogger m_logger;
     CProfile m_profile;
 
 };
 
 TEST_F(CProfileTest, ReadTest)
 {
+    m_profile.SetUseLocalDirectory(true);
+
     ASSERT_TRUE(m_profile.InitCurrentDirectory()); // load colobot.ini file
 
     std::string result;
@@ -36,9 +37,3 @@ TEST_F(CProfileTest, ReadTest)
     list = m_profile.GetLocalProfileSection("test_multi", "entry");
     ASSERT_EQ(5u, list.size());
 }
-
-int main(int argc, char *argv[])
-{
-    ::testing::InitGoogleTest(&argc, argv);
-    return RUN_ALL_TESTS();
-}
diff --git a/test/unit/ui/CMakeLists.txt b/test/unit/ui/CMakeLists.txt
deleted file mode 100644
index 7f7b2f8..0000000
--- a/test/unit/ui/CMakeLists.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-set(SRC_DIR ${colobot_SOURCE_DIR}/src)
-
-include_directories(
-.
-${SRC_DIR}
-${GTEST_INCLUDE_DIR}
-${GMOCK_INCLUDE_DIR}
-${CLIPBOARD_INCLUDE_DIR}
-)
-
-# Platform-dependent implementation of CSystemUtils
-if(PLATFORM_WINDOWS)
-elseif(PLATFORM_MACOSX)
-    set(ADDITIONAL_LIB "${X11_X11_LIB}")
-else()
-    set(ADDITIONAL_LIB "-lX11")
-endif()
-
-add_executable(edit_test
-${SRC_DIR}/app/gamedata.cpp
-${SRC_DIR}/app/system.cpp
-${SRC_DIR}/app/${SYSTEM_CPP_MODULE}
-${SRC_DIR}/app/system_other.cpp
-${SRC_DIR}/common/event.cpp
-${SRC_DIR}/common/logger.cpp
-${SRC_DIR}/common/misc.cpp
-${SRC_DIR}/common/profile.cpp
-${SRC_DIR}/common/iman.cpp
-${SRC_DIR}/common/stringutils.cpp
-${SRC_DIR}/graphics/engine/text.cpp
-${SRC_DIR}/ui/button.cpp
-${SRC_DIR}/ui/control.cpp
-${SRC_DIR}/ui/edit.cpp
-${SRC_DIR}/ui/scroll.cpp
-stubs/app_stub.cpp
-stubs/engine_stub.cpp
-stubs/particle_stub.cpp
-stubs/restext_stub.cpp
-stubs/robotmain_stub.cpp
-edit_test.cpp)
-
-target_link_libraries(edit_test gtest gmock clipboard ${SDL_LIBRARY} ${SDLTTF_LIBRARY} ${Boost_LIBRARIES} ${ADDITIONAL_LIB})
-
-
-
-add_test(edit_test ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/edit_test)
diff --git a/test/unit/ui/edit_test.cpp b/test/unit/ui/edit_test.cpp
deleted file mode 100644
index 34af013..0000000
--- a/test/unit/ui/edit_test.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-#include "app/app.h"
-#include "app/gamedata.h"
-
-#include "ui/edit.h"
-
-#include "mocks/text_mock.h"
-
-#include <fstream>
-
-#include <gtest/gtest.h>
-#include <gmock/gmock.h>
-
-class CEditTest : public testing::Test
-{
-public:
-    CEditTest()
-     : m_robotMain(nullptr)
-     , m_gameData(nullptr)
-     , m_engine(nullptr)
-     , m_edit(nullptr)
-    {}
-
-    virtual void SetUp()
-    {
-        m_robotMain = new CRobotMain(&m_app, false);
-        
-        m_gameData = new CGameData();
-        
-        m_engine = new Gfx::CEngine(nullptr);
-        
-        m_edit = new Ui::CEdit;
-    }
-
-    virtual void TearDown()
-    {
-        delete m_edit;
-        m_edit = nullptr;
-        delete m_engine;
-        m_engine = nullptr;
-        delete m_gameData;
-        m_gameData = nullptr;
-        delete m_robotMain;
-        m_robotMain = nullptr;
-    }
-    virtual ~CEditTest()
-    {
-
-    };
-
-protected:
-    CApplication m_app;
-    CRobotMain* m_robotMain;
-    CGameData * m_gameData;
-    Gfx::CEngine * m_engine;
-    Ui::CEdit * m_edit;
-    CLogger m_logger;
-};
-
-using ::testing::_;
-using ::testing::An;
-using ::testing::Return;
-
-TEST_F(CEditTest, WriteTest)
-{
-    ASSERT_TRUE(true);
-    CTextMock * text = dynamic_cast<CTextMock *>(m_engine->GetText());
-    EXPECT_CALL(*text, GetCharWidth(_, _, _, _)).WillRepeatedly(Return(1.0f));
-    EXPECT_CALL(*text, GetStringWidth(An<const std::string&>(), _, _, _)).WillOnce(Return(1.0f));
-    std::string filename = "test.file";
-    m_edit->SetMaxChar(Ui::EDITSTUDIOMAX);
-    m_edit->SetAutoIndent(true);
-    std::string inputScript = "{\ntext1\ntext2\n\ntext3\n{\ntext4\n}\n}";
-    std::string expectedScript = "{\r\n\ttext1\r\n\ttext2\r\n\t\r\n\ttext3\r\n\t{\r\n\t\ttext4\r\n\t}\r\n}";
-    m_edit->SetText(inputScript.c_str(), true);
-    GetLogger()->Info("Writing text \n");
-    m_edit->WriteText("script.txt");
-
-    std::fstream scriptFile;
-
-    scriptFile.open("script.txt", std::ios_base::binary | std::ios_base::in);
-    std::string outputScript((std::istreambuf_iterator<char>(scriptFile)), std::istreambuf_iterator<char>());
-    ASSERT_STREQ(expectedScript.c_str(), outputScript.c_str());
-}
-
-int main(int argc, char *argv[])
-{
-    ::testing::InitGoogleTest(&argc, argv);
-    return RUN_ALL_TESTS();
-}
-
diff --git a/test/unit/ui/mocks/text_mock.h b/test/unit/ui/mocks/text_mock.h
deleted file mode 100644
index b9af6d3..0000000
--- a/test/unit/ui/mocks/text_mock.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "common/logger.h"
-
-#include "graphics/engine/text.h"
-
-#include <gmock/gmock.h>
-
-class CTextMock : public Gfx::CText
-{
-public:
-    CTextMock(Gfx::CEngine* engine) : CText(engine)
-    {
-    }
-
-    virtual ~CTextMock()
-    {
-    };
-
-    MOCK_METHOD4(GetCharWidth, float(Gfx::UTF8Char ch,
-                                     Gfx::FontType type,
-                                     float size,
-                                     float offset));
-    MOCK_METHOD4(GetStringWidth, float(const std::string &text,
-                                       std::vector<Gfx::FontMetaChar>::iterator format,
-                                       std::vector<Gfx::FontMetaChar>::iterator end,
-                                       float size));
-    MOCK_METHOD3(GetStringWidth, float(std::string text,
-                                       Gfx::FontType font,
-                                       float size));
-    MOCK_METHOD4(GetStringWidth, float(Gfx::UTF8Char ch,
-                                       Gfx::FontType font,
-                                       float size,
-                                       float offset));
-
-};
-
diff --git a/test/unit/ui/stubs/app_stub.cpp b/test/unit/ui/stubs/app_stub.cpp
deleted file mode 100644
index 95430d8..0000000
--- a/test/unit/ui/stubs/app_stub.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-#include "app/app.h"
-
-#include "graphics/opengl/gldevice.h"
-
-template<> CApplication* CSingleton<CApplication>::m_instance = nullptr;
-
-namespace Gfx {
-
-GLDeviceConfig::GLDeviceConfig()
-{
-}
-
-} /* Gfx */ 
-
-
-CApplication::CApplication()
-{
-}
-
-CApplication::~CApplication()
-{
-}
-
-CSoundInterface* CApplication::GetSound()
-{
-    return nullptr;
-}
-
-CEventQueue* CApplication::GetEventQueue()
-{
-    return nullptr;
-}
-
-Event CApplication::CreateUpdateEvent()
-{
-    return Event(EVENT_NULL);
-}
-
-char CApplication::GetLanguageChar() const
-{
-    return 'E';
-}
diff --git a/test/unit/ui/stubs/engine_stub.cpp b/test/unit/ui/stubs/engine_stub.cpp
deleted file mode 100644
index 0a2777c..0000000
--- a/test/unit/ui/stubs/engine_stub.cpp
+++ /dev/null
@@ -1,104 +0,0 @@
-#include "graphics/engine/engine.h"
-#include "graphics/engine/text.h"
-
-#include "mocks/text_mock.h"
-
-template<> Gfx::CEngine* CSingleton<Gfx::CEngine>::m_instance = nullptr;
-
-namespace Gfx {
-
-CEngine::CEngine(CApplication* app) :
-    m_app(app)
-{
-    m_text = new CTextMock(this);
-    m_text->Create();
-}
-
-CEngine::~CEngine()
-{
-    delete m_text;
-    m_text = nullptr;
-}
-
-CParticle* CEngine::GetParticle()
-{
-    return nullptr;
-}
-
-Math::Point CEngine::WindowToInterfaceSize(Math::IntPoint size)
-{
-    return Math::Point(size.x, size.y);
-}
-
-void CEngine::SetState(int state, const Color& color)
-{
-    if (state == m_lastState && color == m_lastColor)
-        return;
-
-    m_lastState = state;
-    m_lastColor = color;
-}
-
-Math::IntPoint CEngine::GetWindowSize()
-{
-    return m_size;
-}
-
-void CEngine::AddStatisticTriangle(int count)
-{
-        m_statisticTriangle += count;
-}
-
-void CEngine::SetMouseType(EngineMouseType type)
-{
-    m_mouseType = type;
-}
-
-bool CEngine::SetTexture(const std::string& /* name */, int /* stage */)
-{
-    return true;
-}
-
-CText* CEngine::GetText()
-{
-    return m_text;
-}
-
-CDevice* CEngine::GetDevice()
-{
-    return m_device;
-}
-
-int CEngine::GetEditIndentValue()
-{
-    return m_editIndentValue;
-}
-
-void CEngine::DeleteTexture(const std::string& /* texName */)
-{
-}
-
-Texture CEngine::LoadTexture(const std::string& /* name */)
-{
-    Texture texture;
-    return texture;
-}
-
-Math::Vector CEngine::GetEyePt()
-{
-    return Math::Vector();
-}
-
-Math::Vector CEngine::GetLookatPt()
-{
-    return Math::Vector();
-}
-
-bool CEngine::GetPause()
-{
-    return false;
-}
-
-
-} /* Gfx */
-
diff --git a/test/unit/ui/stubs/particle_stub.cpp b/test/unit/ui/stubs/particle_stub.cpp
deleted file mode 100644
index 34cf973..0000000
--- a/test/unit/ui/stubs/particle_stub.cpp
+++ /dev/null
@@ -1,205 +0,0 @@
-#include "graphics/engine/particle.h"
-
-#include "common/logger.h"
-
-
-// Graphics module namespace
-namespace Gfx {
-
-
-CParticle::CParticle(CEngine* /*engine*/)
-{
-}
-
-CParticle::~CParticle()
-{
-}
-
-void CParticle::SetDevice(CDevice* /*device*/)
-{
-}
-
-void CParticle::FlushParticle()
-{
-}
-
-void CParticle::FlushParticle(int /*sheet*/)
-{
-}
-
-int CParticle::CreateParticle(Math::Vector /*pos*/, Math::Vector /*speed*/, Math::Point /*dim*/,
-                        ParticleType /*type*/, float /*duration*/, float /*mass*/,
-                        float /*windSensitivity*/, int /*sheet*/)
-{
-    return 0;
-}
-
-int CParticle::CreateFrag(Math::Vector /*pos*/, Math::Vector /*speed*/, EngineTriangle */*triangle*/,
-                           ParticleType /*type*/, float /*duration*/, float /*mass*/,
-                           float /*windSensitivity*/, int /*sheet*/)
-{
-    return 0;
-}
-
-int CParticle::CreatePart(Math::Vector /*pos*/, Math::Vector /*speed*/, ParticleType /*type*/,
-                               float /*duration*/, float /*mass*/, float /*weight*/,
-                               float /*windSensitivity*/, int /*sheet*/)
-{
-    return 0;
-}
-
-int CParticle::CreateRay(Math::Vector /*pos*/, Math::Vector /*goal*/, ParticleType /*type*/, Math::Point /*dim*/,
-                              float /*duration*/, int /*sheet*/)
-{
-    return 0;
-}
-
-int CParticle::CreateTrack(Math::Vector /*pos*/, Math::Vector /*speed*/, Math::Point /*dim*/, ParticleType /*type*/,
-                                float /*duration*/, float /*mass*/, float /*length*/, float /*width*/)
-{
-    return 0;
-}
-
-void CParticle::CreateWheelTrace(const Math::Vector &/*p1*/, const Math::Vector &/*p2*/, const Math::Vector &/*p3*/,
-                                      const Math::Vector &/*p4*/, ParticleType /*type*/)
-{
-}
-
-void CParticle::DeleteParticle(ParticleType /*type*/)
-{
-}
-
-void CParticle::DeleteParticle(int /*channel*/)
-{
-}
-
-void CParticle::SetObjectLink(int /*channel*/, CObject */*object*/)
-{
-}
-
-void CParticle::SetObjectFather(int /*channel*/, CObject */*object*/)
-{
-}
-
-void CParticle::SetPosition(int /*channel*/, Math::Vector /*pos*/)
-{
-}
-
-void CParticle::SetDimension(int /*channel*/, Math::Point /*dim*/)
-{
-}
-
-void CParticle::SetZoom(int /*channel*/, float /*zoom*/)
-{
-}
-
-void CParticle::SetAngle(int /*channel*/, float /*angle*/)
-{
-}
-
-void CParticle::SetIntensity(int /*channel*/, float /*intensity*/)
-{
-}
-
-void CParticle::SetParam(int /*channel*/, Math::Vector /*pos*/, Math::Point /*dim*/, float /*zoom*/, float /*angle*/, float /*intensity*/)
-{
-}
-
-void CParticle::SetPhase(int /*channel*/, ParticlePhase /*phase*/, float /*duration*/)
-{
-}
-
-bool CParticle::GetPosition(int /*channel*/, Math::Vector &/*pos*/)
-{
-    return true;
-}
-
-Color CParticle::GetFogColor(Math::Vector /*pos*/)
-{
-    return Color();
-}
-
-void CParticle::SetFrameUpdate(int /*sheet*/, bool /*update*/)
-{
-}
-
-void CParticle::FrameParticle(float /*rTime*/)
-{
-}
-
-void CParticle::DrawParticle(int /*sheet*/)
-{
-}
-
-bool CParticle::WriteWheelTrace(const char */*filename*/, int /*width*/, int /*height*/, Math::Vector /*dl*/, Math::Vector /*ur*/)
-{
-    return true;
-}
-
-void CParticle::DeleteRank(int /*rank*/)
-{
-}
-
-bool CParticle::CheckChannel(int &/*channel*/)
-{
-    return true;
-}
-
-void CParticle::DrawParticleTriangle(int /*i*/)
-{
-}
-
-void CParticle::DrawParticleNorm(int /*i*/)
-{
-}
-
-void CParticle::DrawParticleFlat(int /*i*/)
-{
-}
-
-void CParticle::DrawParticleFog(int /*i*/)
-{
-}
-
-void CParticle::DrawParticleRay(int /*i*/)
-{
-}
-
-void CParticle::DrawParticleSphere(int /*i*/)
-{
-}
-
-void CParticle::DrawParticleCylinder(int /*i*/)
-{
-}
-
-void CParticle::DrawParticleWheel(int /*i*/)
-{
-}
-
-CObject* CParticle::SearchObjectGun(Math::Vector /*old*/, Math::Vector /*pos*/, ParticleType /*type*/, CObject */*father*/)
-{
-    return nullptr;
-}
-
-CObject* CParticle::SearchObjectRay(Math::Vector /*pos*/, Math::Vector /*goal*/, ParticleType /*type*/, CObject */*father*/)
-{
-    return nullptr;
-}
-
-void CParticle::Play(Sound /*sound*/, Math::Vector /*pos*/, float /*amplitude*/)
-{
-}
-
-bool CParticle::TrackMove(int /*i*/, Math::Vector /*pos*/, float /*progress*/)
-{
-    return true;
-}
-
-void CParticle::TrackDraw(int /*i*/, ParticleType /*type*/)
-{
-}
-
-
-} // namespace Gfx
-
diff --git a/test/unit/ui/stubs/restext_stub.cpp b/test/unit/ui/stubs/restext_stub.cpp
deleted file mode 100644
index fa47da6..0000000
--- a/test/unit/ui/stubs/restext_stub.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "common/restext.h"
-
-bool GetResource(ResType /* type */, int /* num */, std::string& /* text */)
-{
-    return true;
-}
-
-bool SearchKey(const char * /* cmd */, InputSlot & /* key */)
-{
-    return true;
-}
-
diff --git a/test/unit/ui/stubs/robotmain_stub.cpp b/test/unit/ui/stubs/robotmain_stub.cpp
deleted file mode 100644
index 692f67f..0000000
--- a/test/unit/ui/stubs/robotmain_stub.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "object/robotmain.h"
-
-
-template<> CRobotMain* CSingleton<CRobotMain>::m_instance = nullptr;
-
-CRobotMain::CRobotMain(CApplication* app, bool loadProfile)
-{
-}
-
-CRobotMain::~CRobotMain()
-{
-}
-
-bool CRobotMain::GetGlint()
-{
-    return false;
-}
-
-const InputBinding& CRobotMain::GetInputBinding(InputSlot slot)
-{
-    unsigned int index = static_cast<unsigned int>(slot);
-    assert(index >= 0 && index < INPUT_SLOT_MAX);
-    return m_inputBindings[index];
-}
-

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/colobot.git



More information about the Pkg-games-commits mailing list