colobot/src/CMakeLists.txt

298 lines
6.8 KiB
CMake
Raw Normal View History

# CBot shared library is built separately
2012-04-14 23:02:51 +00:00
add_subdirectory(CBot)
# Source files for old target (dependent on WinAPI & DirectX)
set(OLD_SOURCES
old/d3dapp.cpp
old/joystick.cpp
old/blitz.cpp
old/camera.cpp
old/cloud.cpp
old/light.cpp
old/model.cpp
old/particule.cpp
old/planet.cpp
old/pyro.cpp
old/terrain.cpp
old/text.cpp
old/water.cpp
old/d3dengine.cpp
old/d3denum.cpp
old/d3dframe.cpp
old/d3dtextr.cpp
old/d3dutil.cpp
old/d3dmath.cpp
old/math3d.cpp
2012-06-25 14:37:03 +00:00
old/modfile.cpp
old/sound.cpp
common/event.cpp
common/iman.cpp
common/metafile.cpp
common/misc.cpp
common/profile.cpp
common/restext.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/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/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
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
2012-04-14 23:02:51 +00:00
)
# Source files for new target (dependent on SDL & OpenGL)
# Commented out files are still dependent on DirectX or WinAPI
set(NEW_SOURCES
app/app.cpp
app/main.cpp
app/system.cpp
common/event.cpp
common/iman.cpp
# common/metafile.cpp
# common/misc.cpp
# common/modfile.cpp
# common/profile.cpp
# common/restext.cpp
graphics/common/camera.cpp
graphics/common/cloud.cpp
graphics/common/color.cpp
graphics/common/device.cpp
graphics/common/engine.cpp
graphics/common/light.cpp
graphics/common/lightning.cpp
graphics/common/model.cpp
graphics/common/modfile.cpp
graphics/common/particle.cpp
graphics/common/planet.cpp
graphics/common/pyro.cpp
graphics/common/terrain.cpp
graphics/common/text.cpp
graphics/common/water.cpp
graphics/opengl/gldevice.cpp
graphics/opengl/glengine.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/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/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
)
2012-04-14 23:02:51 +00:00
# Change to DirectX SDK directory
set(DXSDK_DIR "c:/dxsdk")
2012-04-14 23:02:51 +00:00
# Configure options
option(DEBUG "Enable debug output" ON)
if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
set(PLATFORM_WINDOWS 1)
set(PLATFORM_LINUX 0)
set(PLATFORM_OTHER 0)
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(PLATFORM_WINDOWS 0)
set(PLATFORM_LINUX 1)
set(PLATFORM_OTHER 0)
else()
set(PLATFORM_WINDOWS 0)
set(PLATFORM_LINUX 0)
set(PLATFORM_OTHER 1)
endif()
# Configure file
configure_file(common/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/common/config.h)
# #defines needed for old target
add_definitions(-DSTRICT -DD3D_OVERLOADS)
include_directories(${DXSDK_DIR}/include . ${CMAKE_CURRENT_BINARY_DIR})
2012-04-14 23:02:51 +00:00
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/CBot ${DXSDK_DIR}/lib)
# Old target
set(OLD_LIBS -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32
2012-04-14 23:02:51 +00:00
-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)
add_executable(colobot_old ${OLD_SOURCES})
target_link_libraries(colobot_old CBot ${OLD_LIBS})
2012-04-14 23:02:51 +00:00
# New target
set(NEW_LIBS ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY} ${OPENGL_LIBRARY})
2012-04-14 23:02:51 +00:00
add_executable(colobot_new ${NEW_SOURCES})
2012-04-14 23:02:51 +00:00
target_link_libraries(colobot_new ${NEW_LIBS})