diff options
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r-- | src/CMakeLists.txt | 192 |
1 files changed, 163 insertions, 29 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 024489d..3f5e238 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,7 +1,9 @@ -# CBot shared library +# CBot shared library is built separately add_subdirectory(CBot) -set(SOURCES + +# Source files for old target (dependent on WinAPI & DirectX) +set(OLD_SOURCES old/d3dapp.cpp old/joystick.cpp old/blitz.cpp @@ -23,29 +25,13 @@ old/d3dutil.cpp old/d3dmath.cpp old/math3d.cpp old/modfile.cpp -app/app.cpp +old/sound.cpp common/event.cpp common/iman.cpp common/metafile.cpp common/misc.cpp common/profile.cpp common/restext.cpp -graphics/common/camera.cpp -graphics/common/cloud.cpp -graphics/common/color.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 @@ -110,7 +96,6 @@ physics/physics.cpp script/cbottoken.cpp script/cmdtoken.cpp script/script.cpp -sound/sound.cpp ui/button.cpp ui/check.cpp ui/color.cpp @@ -139,25 +124,174 @@ ui/target.cpp ui/window.cpp ) -add_definitions(-DSTRICT -DD3D_OVERLOADS) +# 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 +) # Change to DirectX SDK directory set(DXSDK_DIR "c:/dxsdk") -include_directories(${DXSDK_DIR}/include .) +# 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}) link_directories(${CMAKE_CURRENT_SOURCE_DIR}/CBot ${DXSDK_DIR}/lib) -set( LIBS -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 + +# Old target +set(OLD_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 ) + ${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}) -# To build with libwine: -# include_directories(/usr/include/wine/windows /usr/include/wine/msvcrt) -# set(LIBS -lwine) -add_executable(colobot ${SOURCES}) +# New target +set(NEW_LIBS ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY} ${OPENGL_LIBRARY}) -target_link_libraries(colobot CBot ${LIBS}) +add_executable(colobot_new ${NEW_SOURCES}) +target_link_libraries(colobot_new ${NEW_LIBS}) |