summaryrefslogtreecommitdiffstats
path: root/test/unit/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/CMakeLists.txt')
-rw-r--r--test/unit/CMakeLists.txt257
1 files changed, 41 insertions, 216 deletions
diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt
index 269ffc2..cd745c3 100644
--- a/test/unit/CMakeLists.txt
+++ b/test/unit/CMakeLists.txt
@@ -1,169 +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/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)
@@ -171,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}
+)