2011-08-31 21:20:17 +00:00
|
|
|
# OpenClonk, http://www.openclonk.org
|
|
|
|
#
|
2014-03-25 22:16:01 +00:00
|
|
|
# Copyright (c) 2009-2014, The OpenClonk Team and contributors
|
2011-08-31 21:20:17 +00:00
|
|
|
#
|
2013-12-17 20:01:09 +00:00
|
|
|
# Distributed under the terms of the ISC license; see accompanying file
|
|
|
|
# "COPYING" for details.
|
2011-08-31 21:20:17 +00:00
|
|
|
#
|
2013-12-17 20:01:09 +00:00
|
|
|
# "Clonk" is a registered trademark of Matthes Bender, used with permission.
|
|
|
|
# See accompanying file "TRADEMARK" for details.
|
2011-08-31 21:20:17 +00:00
|
|
|
#
|
2013-12-17 20:01:09 +00:00
|
|
|
# To redistribute this file separately, substitute the full license texts
|
|
|
|
# for the above references.
|
2010-08-01 13:49:51 +00:00
|
|
|
|
2014-05-18 16:59:19 +00:00
|
|
|
cmake_minimum_required (VERSION 2.8.4)
|
2011-08-27 20:04:33 +00:00
|
|
|
project (openclonk CXX C)
|
2011-10-03 11:03:22 +00:00
|
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
2009-05-29 20:53:15 +00:00
|
|
|
|
2010-08-01 13:49:51 +00:00
|
|
|
include(Version.txt)
|
2009-05-29 20:53:15 +00:00
|
|
|
|
2013-03-09 13:59:07 +00:00
|
|
|
set(CMAKE_ADDITIONAL_DEPS_PATH "${CMAKE_CURRENT_BINARY_DIR}/deps" CACHE PATH "Additional directory to search for libraries and headers")
|
2009-08-13 16:09:00 +00:00
|
|
|
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_ADDITIONAL_DEPS_PATH})
|
2009-07-12 16:46:54 +00:00
|
|
|
set(OC_CXX_FLAGS ${CMAKE_CXX_FLAGS})
|
|
|
|
separate_arguments(OC_CXX_FLAGS)
|
|
|
|
set(OC_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
|
|
|
|
separate_arguments(OC_CXX_FLAGS_DEBUG)
|
2012-06-08 11:18:58 +00:00
|
|
|
set(OC_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS})
|
|
|
|
separate_arguments(OC_EXE_LINKER_FLAGS)
|
2011-08-19 13:50:40 +00:00
|
|
|
set(OC_EXE_LINKER_FLAGS_DEBUG ${CMAKE_EXE_LINKER_FLAGS_DEBUG})
|
|
|
|
separate_arguments(OC_EXE_LINKER_FLAGS_DEBUG)
|
2009-07-01 20:25:45 +00:00
|
|
|
|
2013-01-20 20:53:56 +00:00
|
|
|
function(unseparate_arguments _var _list)
|
|
|
|
foreach(_arg ${_list})
|
|
|
|
set(_string "${_string} ${_arg}")
|
|
|
|
endforeach()
|
|
|
|
set(${_var} "${_string}" PARENT_SCOPE)
|
|
|
|
endfunction()
|
|
|
|
|
2010-01-12 21:09:16 +00:00
|
|
|
############################################################################
|
|
|
|
# User selectable options
|
|
|
|
############################################################################
|
2013-03-09 13:58:30 +00:00
|
|
|
include(CMakeDependentOption)
|
2012-02-28 17:28:16 +00:00
|
|
|
option(PROJECT_FOLDERS "Put source files into subfolders in project file" ON)
|
2013-03-09 13:58:30 +00:00
|
|
|
option(USE_CONSOLE "Build dedicated server" OFF)
|
|
|
|
CMAKE_DEPENDENT_OPTION(USE_SDL_MAINLOOP "Use SDL to create windows etc." OFF "NOT USE_CONSOLE" OFF)
|
|
|
|
CMAKE_DEPENDENT_OPTION(USE_X11 "Use X11 to create windows etc." ON
|
|
|
|
"UNIX AND NOT APPLE AND NOT USE_SDL_MAINLOOP AND NOT USE_CONSOLE" OFF)
|
|
|
|
CMAKE_DEPENDENT_OPTION(USE_GTK "Use GTK for the developer mode" ON "USE_X11" OFF)
|
2013-03-12 01:11:56 +00:00
|
|
|
CMAKE_DEPENDENT_OPTION(USE_GTK3 "Use GTK3 instead of GTK2" OFF "USE_GTK" OFF)
|
2013-03-09 13:58:30 +00:00
|
|
|
|
|
|
|
CMAKE_DEPENDENT_OPTION(USE_COCOA "Use Apple Cocoa for the developer mode and the windows." ON "APPLE" OFF)
|
|
|
|
CMAKE_DEPENDENT_OPTION(USE_APPLE_CLANG "Use Apple Clang Compiler as C++ compiler." ON "APPLE" OFF)
|
2010-12-27 03:49:02 +00:00
|
|
|
if(APPLE)
|
|
|
|
SET(INITIAL_USE_OPEN_AL ON)
|
|
|
|
else()
|
2013-03-09 13:58:30 +00:00
|
|
|
SET(INITIAL_USE_OPEN_AL OFF)
|
2010-12-27 03:49:02 +00:00
|
|
|
endif()
|
|
|
|
option(USE_OPEN_AL "Use OpenAL to play sounds" ${INITIAL_USE_OPEN_AL})
|
2013-03-09 13:58:30 +00:00
|
|
|
option(WITH_AUTOMATIC_UPDATE "Automatic updates are downloaded from the project website." OFF)
|
2010-01-12 21:09:16 +00:00
|
|
|
|
2013-10-18 12:20:09 +00:00
|
|
|
# Remove obsolete options
|
|
|
|
unset(OC_BUILD_MULTIPROCESSOR CACHE)
|
|
|
|
|
2010-01-12 21:09:16 +00:00
|
|
|
############################################################################
|
|
|
|
# Check for compiler quirks and features
|
|
|
|
############################################################################
|
|
|
|
include(CheckCXXCompilerFlag)
|
2014-04-21 16:05:37 +00:00
|
|
|
include(CheckCXXSourceCompiles)
|
|
|
|
include(RequireCXXSourceCompiles)
|
|
|
|
|
|
|
|
CHECK_CXX_COMPILER_FLAG("-std=gnu++0x" USE_GCC_STD_0X)
|
|
|
|
if(USE_GCC_STD_0X)
|
|
|
|
list(APPEND OC_CXX_FLAGS "-std=gnu++0x")
|
2010-01-12 21:09:16 +00:00
|
|
|
endif()
|
|
|
|
|
2014-04-21 16:05:37 +00:00
|
|
|
# Convert the OC_CXX_FLAGS list to a CMAKE_REQUIRED_FLAGS string
|
2010-01-12 21:09:16 +00:00
|
|
|
foreach(FLAG ${OC_CXX_FLAGS})
|
|
|
|
set(OC_REQUIRED_FLAGS "${OC_REQUIRED_FLAGS} ${FLAG}")
|
|
|
|
endforeach()
|
2010-09-04 10:48:17 +00:00
|
|
|
|
|
|
|
set(SAFE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
|
2010-01-12 21:09:16 +00:00
|
|
|
set(CMAKE_REQUIRED_FLAGS ${OC_REQUIRED_FLAGS})
|
2014-04-21 16:05:37 +00:00
|
|
|
|
2013-03-19 16:28:19 +00:00
|
|
|
REQUIRE_CXX_SOURCE_COMPILES("#include <memory>\nint main() { std::unique_ptr<int> a; std::shared_ptr<int> b; }" HAVE_C11_SMART_PTRS)
|
2010-01-12 21:09:16 +00:00
|
|
|
CHECK_CXX_SOURCE_COMPILES("void f(struct D&&); int main() { return 0; }" HAVE_RVALUE_REF)
|
2010-01-24 01:48:55 +00:00
|
|
|
CHECK_CXX_SOURCE_COMPILES("int main() { void *d = nullptr; }" HAVE_NULLPTR)
|
2011-03-10 21:49:33 +00:00
|
|
|
CHECK_CXX_SOURCE_COMPILES("int main() { static_assert(true, \"\"); }" HAVE_STATIC_ASSERT)
|
2009-07-01 20:25:45 +00:00
|
|
|
|
2014-04-21 16:05:37 +00:00
|
|
|
# g++'s libstdc++ doesn't properly support <regex> until 4.9.
|
2013-10-29 15:27:27 +00:00
|
|
|
# They ship a header that declares functions, but they don't ship an
|
|
|
|
# implementation for some things (like std::regex_iterator).
|
|
|
|
# This needs to test *linking*, not compilation; cmake does both at the same
|
|
|
|
# time, so the test below works.
|
|
|
|
CHECK_CXX_SOURCE_COMPILES("#include <regex>\nint main() { std::cregex_iterator ri; }" HAVE_WORKING_REGEX)
|
|
|
|
CMAKE_DEPENDENT_OPTION(USE_BOOST_REGEX "Use Boost.Regex even if the C++ runtime has a working implementation of <regex>" OFF "HAVE_WORKING_REGEX" ON)
|
|
|
|
|
2014-04-21 16:05:37 +00:00
|
|
|
# Reset CMAKE_REQUIRED_FLAGS after having done the C++0x checks
|
|
|
|
# otherwise they are used for C library checks as well and the C compiler bails
|
|
|
|
# out because it does not understand -std=gnu++0x
|
|
|
|
set(CMAKE_REQUIRED_FLAGS "${SAFE_CMAKE_REQUIRED_FLAGS}")
|
|
|
|
|
2014-02-06 21:08:15 +00:00
|
|
|
# We link Boost statically because that makes it easier for us to distribute
|
|
|
|
# the resulting binary. Distributions have the ability to guarantee a certain
|
|
|
|
# version of the library exists on the system though, so they may prefer
|
|
|
|
# dynamic linking.
|
|
|
|
option(USE_STATIC_BOOST "Link Boost libraries statically" ON)
|
|
|
|
|
2010-01-12 21:09:16 +00:00
|
|
|
if(MSVC_VERSION GREATER 1499)
|
2010-04-18 18:10:24 +00:00
|
|
|
list(APPEND OC_CXX_FLAGS /MP)
|
2010-09-29 21:08:08 +00:00
|
|
|
list(REMOVE_ITEM OC_CXX_FLAGS_DEBUG /Gm)
|
2013-10-18 12:20:09 +00:00
|
|
|
|
2010-02-28 00:42:57 +00:00
|
|
|
if (NOT CMAKE_CL_64)
|
2010-01-12 21:09:16 +00:00
|
|
|
# Activate edit-and-continue
|
|
|
|
list(REMOVE_ITEM OC_CXX_FLAGS_DEBUG /Zi)
|
|
|
|
list(APPEND OC_CXX_FLAGS_DEBUG /ZI /Gy)
|
|
|
|
endif()
|
2011-08-19 13:50:40 +00:00
|
|
|
# do not link the release CRT in debug builds
|
|
|
|
list(APPEND OC_EXE_LINKER_FLAGS_DEBUG "/NODEFAULTLIB:MSVCRT")
|
2010-01-12 21:09:16 +00:00
|
|
|
set(HAVE_PRECOMPILED_HEADERS ON CACHE INTERNAL "Compiler supports precompiled headers")
|
|
|
|
endif()
|
|
|
|
if(MSVC_VERSION)
|
|
|
|
# Suppress warnings about "non-secure" functions
|
|
|
|
add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS)
|
|
|
|
# Disable warning C4244: 'conversion' conversion from 'type1' to 'type2', possible loss of data
|
|
|
|
list(APPEND OC_CXX_FLAGS "/wd4244")
|
2010-09-29 21:11:12 +00:00
|
|
|
# Disable warning C4267: 'var' : conversion from 'size_t' to 'type', possible loss of data (64 bit build only)
|
|
|
|
list(APPEND OC_CXX_FLAGS "/wd4267")
|
2010-01-12 21:09:16 +00:00
|
|
|
endif()
|
|
|
|
|
2011-09-27 23:09:56 +00:00
|
|
|
if(CMAKE_COMPILER_IS_GNUCXX)
|
2012-06-15 16:16:49 +00:00
|
|
|
list(APPEND OC_CXX_FLAGS "-Wall -Wextra -Wredundant-decls -Wendif-labels -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Winit-self -Wsign-promo -Wno-reorder -Wno-unused-parameter -Wnon-virtual-dtor -Woverloaded-virtual")
|
2011-09-27 23:09:56 +00:00
|
|
|
endif()
|
2012-06-08 11:18:58 +00:00
|
|
|
|
|
|
|
if(WIN32 AND MINGW)
|
|
|
|
# Activate DEP and ASLR
|
2012-06-08 11:30:51 +00:00
|
|
|
list(APPEND OC_EXE_LINKER_FLAGS "-Wl,--nxcompat -Wl,--dynamicbase")
|
2011-09-27 23:09:56 +00:00
|
|
|
endif()
|
2009-10-20 03:39:24 +00:00
|
|
|
############################################################################
|
|
|
|
# List target source files. Don't directly create a target since we condi-
|
|
|
|
# tionally add more sources depending on configuration options later.
|
|
|
|
############################################################################
|
|
|
|
# OC_CLONK_SOURCES: Sources for OpenClonk that are needed by every build.
|
|
|
|
# OC_SYSTEM_SOURCES: Sources for OpenClonk that are only needed by specific
|
|
|
|
# configurations.
|
2009-08-12 13:01:14 +00:00
|
|
|
set(OC_CLONK_SOURCES
|
2009-11-25 15:04:32 +00:00
|
|
|
src/C4Globals.cpp
|
2011-10-03 15:19:24 +00:00
|
|
|
src/c4group/C4Components.h
|
2009-08-12 13:01:14 +00:00
|
|
|
src/c4group/C4Extra.cpp
|
|
|
|
src/c4group/C4Extra.h
|
|
|
|
src/c4group/C4Language.cpp
|
|
|
|
src/c4group/C4Language.h
|
|
|
|
src/C4Include.h
|
|
|
|
src/C4Prototypes.h
|
|
|
|
src/C4Version.h
|
|
|
|
src/config/C4Config.cpp
|
|
|
|
src/config/C4Config.h
|
2009-08-12 20:03:50 +00:00
|
|
|
src/config/C4Constants.h
|
2011-01-06 20:18:13 +00:00
|
|
|
src/config/C4Reloc.cpp
|
|
|
|
src/config/C4Reloc.h
|
2009-08-12 13:01:14 +00:00
|
|
|
src/control/C4Control.cpp
|
|
|
|
src/control/C4Control.h
|
|
|
|
src/control/C4GameControl.cpp
|
|
|
|
src/control/C4GameControl.h
|
|
|
|
src/control/C4GameParameters.cpp
|
|
|
|
src/control/C4GameParameters.h
|
|
|
|
src/control/C4GameSave.cpp
|
|
|
|
src/control/C4GameSave.h
|
2009-08-12 15:27:43 +00:00
|
|
|
src/control/C4PlayerControl.cpp
|
|
|
|
src/control/C4PlayerControl.h
|
2009-08-12 13:01:14 +00:00
|
|
|
src/control/C4PlayerInfoConflicts.cpp
|
|
|
|
src/control/C4PlayerInfo.cpp
|
|
|
|
src/control/C4PlayerInfo.h
|
|
|
|
src/control/C4Record.cpp
|
|
|
|
src/control/C4Record.h
|
|
|
|
src/control/C4RoundResults.cpp
|
|
|
|
src/control/C4RoundResults.h
|
|
|
|
src/control/C4Teams.cpp
|
|
|
|
src/control/C4Teams.h
|
|
|
|
src/editor/C4Console.cpp
|
2010-12-13 02:11:06 +00:00
|
|
|
src/editor/C4ConsoleGUICommon.h
|
2011-10-03 15:19:24 +00:00
|
|
|
src/editor/C4ConsoleGUI.h
|
2009-08-12 13:01:14 +00:00
|
|
|
src/editor/C4Console.h
|
|
|
|
src/editor/C4EditCursor.cpp
|
|
|
|
src/editor/C4EditCursor.h
|
|
|
|
src/editor/C4ObjectListDlg.cpp
|
|
|
|
src/editor/C4ObjectListDlg.h
|
|
|
|
src/editor/C4ToolsDlg.cpp
|
|
|
|
src/editor/C4ToolsDlg.h
|
2012-04-27 17:04:43 +00:00
|
|
|
src/editor/C4ViewportWindow.cpp
|
|
|
|
src/editor/C4ViewportWindow.h
|
|
|
|
src/game/C4Application.cpp
|
|
|
|
src/game/C4Application.h
|
|
|
|
src/game/C4FullScreen.cpp
|
|
|
|
src/game/C4FullScreen.h
|
|
|
|
src/game/C4Game.cpp
|
|
|
|
src/game/C4Game.h
|
2009-08-12 13:01:14 +00:00
|
|
|
src/game/C4GameVersion.h
|
2012-04-27 17:04:43 +00:00
|
|
|
src/game/C4GraphicsSystem.cpp
|
|
|
|
src/game/C4GraphicsSystem.h
|
2009-08-12 13:01:14 +00:00
|
|
|
src/game/C4Physics.h
|
2012-04-27 17:04:43 +00:00
|
|
|
src/game/C4Viewport.cpp
|
|
|
|
src/game/C4Viewport.h
|
|
|
|
src/gamescript/C4Effect.cpp
|
|
|
|
src/gamescript/C4Effect.h
|
|
|
|
src/gamescript/C4FindObject.cpp
|
|
|
|
src/gamescript/C4FindObject.h
|
|
|
|
src/gamescript/C4GameScript.cpp
|
|
|
|
src/gamescript/C4Script.h
|
|
|
|
src/gamescript/C4TransferZone.cpp
|
|
|
|
src/gamescript/C4TransferZone.h
|
|
|
|
src/graphics/Bitmap256.cpp
|
|
|
|
src/graphics/Bitmap256.h
|
|
|
|
src/graphics/C4Draw.cpp
|
|
|
|
src/graphics/C4DrawGL.cpp
|
|
|
|
src/graphics/C4DrawGLCtx.cpp
|
|
|
|
src/graphics/C4DrawGL.h
|
2013-01-27 22:52:16 +00:00
|
|
|
src/graphics/C4DrawMeshGL.cpp
|
2012-04-27 17:04:43 +00:00
|
|
|
src/graphics/C4DrawT.cpp
|
|
|
|
src/graphics/C4DrawT.h
|
|
|
|
src/graphics/C4Draw.h
|
|
|
|
src/graphics/C4Facet.cpp
|
|
|
|
src/graphics/C4FacetEx.cpp
|
|
|
|
src/graphics/C4FacetEx.h
|
|
|
|
src/graphics/C4Facet.h
|
2012-11-12 01:30:16 +00:00
|
|
|
src/graphics/C4FontLoader.cpp
|
|
|
|
src/graphics/C4FontLoader.h
|
2012-04-27 17:04:43 +00:00
|
|
|
src/graphics/C4GraphicsResource.cpp
|
|
|
|
src/graphics/C4GraphicsResource.h
|
|
|
|
src/graphics/C4Surface.cpp
|
|
|
|
src/graphics/C4Surface.h
|
|
|
|
src/graphics/C4SurfaceLoaders.cpp
|
|
|
|
src/graphics/CSurface8.cpp
|
|
|
|
src/graphics/CSurface8.h
|
|
|
|
src/graphics/StdPNG.cpp
|
|
|
|
src/graphics/StdPNG.h
|
2009-08-12 13:01:14 +00:00
|
|
|
src/gui/C4ChatDlg.cpp
|
|
|
|
src/gui/C4ChatDlg.h
|
|
|
|
src/gui/C4DownloadDlg.cpp
|
|
|
|
src/gui/C4DownloadDlg.h
|
|
|
|
src/gui/C4FileSelDlg.cpp
|
|
|
|
src/gui/C4FileSelDlg.h
|
|
|
|
src/gui/C4Folder.cpp
|
|
|
|
src/gui/C4Folder.h
|
|
|
|
src/gui/C4GameDialogs.cpp
|
|
|
|
src/gui/C4GameDialogs.h
|
|
|
|
src/gui/C4GameLobby.cpp
|
|
|
|
src/gui/C4GameLobby.h
|
|
|
|
src/gui/C4GameMessage.cpp
|
|
|
|
src/gui/C4GameMessage.h
|
|
|
|
src/gui/C4GameOptions.cpp
|
|
|
|
src/gui/C4GameOptions.h
|
|
|
|
src/gui/C4GameOverDlg.cpp
|
|
|
|
src/gui/C4GameOverDlg.h
|
2012-02-28 17:28:16 +00:00
|
|
|
src/gui/C4GfxErrorDlg.cpp
|
|
|
|
src/gui/C4GfxErrorDlg.h
|
2009-08-12 13:01:14 +00:00
|
|
|
src/gui/C4GuiButton.cpp
|
|
|
|
src/gui/C4GuiCheckBox.cpp
|
|
|
|
src/gui/C4GuiComboBox.cpp
|
|
|
|
src/gui/C4GuiContainers.cpp
|
|
|
|
src/gui/C4Gui.cpp
|
|
|
|
src/gui/C4GuiDialogs.cpp
|
|
|
|
src/gui/C4GuiEdit.cpp
|
|
|
|
src/gui/C4Gui.h
|
|
|
|
src/gui/C4GuiLabels.cpp
|
|
|
|
src/gui/C4GuiListBox.cpp
|
|
|
|
src/gui/C4GuiMenu.cpp
|
|
|
|
src/gui/C4GuiTabular.cpp
|
|
|
|
src/gui/C4KeyboardInput.cpp
|
|
|
|
src/gui/C4KeyboardInput.h
|
|
|
|
src/gui/C4LoaderScreen.cpp
|
|
|
|
src/gui/C4LoaderScreen.h
|
|
|
|
src/gui/C4MainMenu.cpp
|
|
|
|
src/gui/C4MainMenu.h
|
|
|
|
src/gui/C4Menu.cpp
|
|
|
|
src/gui/C4Menu.h
|
|
|
|
src/gui/C4MessageBoard.cpp
|
|
|
|
src/gui/C4MessageBoard.h
|
|
|
|
src/gui/C4MessageInput.cpp
|
|
|
|
src/gui/C4MessageInput.h
|
|
|
|
src/gui/C4MouseControl.cpp
|
|
|
|
src/gui/C4MouseControl.h
|
|
|
|
src/gui/C4PlayerInfoListBox.cpp
|
|
|
|
src/gui/C4PlayerInfoListBox.h
|
|
|
|
src/gui/C4Scoreboard.cpp
|
|
|
|
src/gui/C4Scoreboard.h
|
|
|
|
src/gui/C4StartupAboutDlg.cpp
|
|
|
|
src/gui/C4StartupAboutDlg.h
|
|
|
|
src/gui/C4Startup.cpp
|
|
|
|
src/gui/C4Startup.h
|
|
|
|
src/gui/C4StartupMainDlg.cpp
|
|
|
|
src/gui/C4StartupMainDlg.h
|
|
|
|
src/gui/C4StartupNetDlg.cpp
|
|
|
|
src/gui/C4StartupNetDlg.h
|
|
|
|
src/gui/C4StartupOptionsDlg.cpp
|
|
|
|
src/gui/C4StartupOptionsDlg.h
|
|
|
|
src/gui/C4StartupPlrSelDlg.cpp
|
|
|
|
src/gui/C4StartupPlrSelDlg.h
|
|
|
|
src/gui/C4StartupScenSelDlg.cpp
|
|
|
|
src/gui/C4StartupScenSelDlg.h
|
|
|
|
src/gui/C4UpperBoard.cpp
|
|
|
|
src/gui/C4UpperBoard.h
|
2012-04-27 17:04:43 +00:00
|
|
|
src/landscape/C4Landscape.cpp
|
|
|
|
src/landscape/C4Landscape.h
|
|
|
|
src/landscape/C4LandscapeRenderClassic.cpp
|
|
|
|
src/landscape/C4LandscapeRender.cpp
|
|
|
|
src/landscape/C4LandscapeRender.h
|
|
|
|
src/landscape/C4Map.cpp
|
|
|
|
src/landscape/C4MapCreatorS2.cpp
|
|
|
|
src/landscape/C4MapCreatorS2.h
|
|
|
|
src/landscape/C4Map.h
|
2013-03-18 23:35:00 +00:00
|
|
|
src/landscape/C4MapScript.cpp
|
|
|
|
src/landscape/C4MapScriptAlgo.cpp
|
|
|
|
src/landscape/C4MapScript.h
|
2012-04-27 17:04:43 +00:00
|
|
|
src/landscape/C4MassMover.cpp
|
|
|
|
src/landscape/C4MassMover.h
|
|
|
|
src/landscape/C4Material.cpp
|
|
|
|
src/landscape/C4Material.h
|
|
|
|
src/landscape/C4MaterialList.cpp
|
|
|
|
src/landscape/C4MaterialList.h
|
2013-12-17 20:40:40 +00:00
|
|
|
src/landscape/C4Particles.cpp
|
|
|
|
src/landscape/C4Particles.h
|
2012-04-27 17:04:43 +00:00
|
|
|
src/landscape/C4PathFinder.cpp
|
|
|
|
src/landscape/C4PathFinder.h
|
|
|
|
src/landscape/C4PXS.cpp
|
|
|
|
src/landscape/C4PXS.h
|
|
|
|
src/landscape/C4Scenario.cpp
|
2013-01-08 22:39:34 +00:00
|
|
|
src/landscape/C4ScenarioSection.cpp
|
2012-04-27 17:04:43 +00:00
|
|
|
src/landscape/C4Scenario.h
|
|
|
|
src/landscape/C4Sky.cpp
|
|
|
|
src/landscape/C4Sky.h
|
|
|
|
src/landscape/C4SolidMask.cpp
|
|
|
|
src/landscape/C4SolidMask.h
|
|
|
|
src/landscape/C4Texture.cpp
|
|
|
|
src/landscape/C4Texture.h
|
|
|
|
src/landscape/C4Weather.cpp
|
|
|
|
src/landscape/C4Weather.h
|
2009-08-12 13:01:14 +00:00
|
|
|
src/lib/C4LogBuf.cpp
|
|
|
|
src/lib/C4LogBuf.h
|
|
|
|
src/lib/C4Log.cpp
|
|
|
|
src/lib/C4Log.h
|
|
|
|
src/lib/C4NameList.cpp
|
|
|
|
src/lib/C4NameList.h
|
2009-08-13 23:46:32 +00:00
|
|
|
src/lib/C4Rect.cpp
|
|
|
|
src/lib/C4Rect.h
|
2009-08-12 13:01:14 +00:00
|
|
|
src/lib/C4RTF.cpp
|
2009-12-30 19:42:31 +00:00
|
|
|
src/lib/C4RTF.h
|
2009-08-12 13:01:14 +00:00
|
|
|
src/lib/C4Stat.cpp
|
|
|
|
src/lib/C4Stat.h
|
|
|
|
src/lib/PathFinder.cpp
|
|
|
|
src/lib/PathFinder.h
|
|
|
|
src/lib/StdAdaptors.h
|
|
|
|
src/lib/StdColors.h
|
2011-01-19 21:55:18 +00:00
|
|
|
src/lib/StdMesh.cpp
|
|
|
|
src/lib/StdMesh.h
|
|
|
|
src/lib/StdMeshLoaderBinaryChunks.cpp
|
|
|
|
src/lib/StdMeshLoaderBinaryChunks.h
|
2011-10-03 15:19:24 +00:00
|
|
|
src/lib/StdMeshLoaderBinary.cpp
|
2011-01-19 21:55:18 +00:00
|
|
|
src/lib/StdMeshLoaderDataStream.h
|
2011-10-03 15:19:24 +00:00
|
|
|
src/lib/StdMeshLoader.h
|
2011-01-19 21:55:18 +00:00
|
|
|
src/lib/StdMeshLoaderXml.cpp
|
|
|
|
src/lib/StdMeshMaterial.cpp
|
|
|
|
src/lib/StdMeshMaterial.h
|
2011-12-29 14:41:52 +00:00
|
|
|
src/lib/StdMeshMath.cpp
|
|
|
|
src/lib/StdMeshMath.h
|
2011-08-17 21:50:33 +00:00
|
|
|
src/lib/StdMeshUpdate.cpp
|
|
|
|
src/lib/StdMeshUpdate.h
|
2009-08-12 13:01:14 +00:00
|
|
|
src/network/C4Client.cpp
|
|
|
|
src/network/C4Client.h
|
|
|
|
src/network/C4GameControlNetwork.cpp
|
|
|
|
src/network/C4GameControlNetwork.h
|
|
|
|
src/network/C4InteractiveThread.cpp
|
|
|
|
src/network/C4InteractiveThread.h
|
|
|
|
src/network/C4League.cpp
|
|
|
|
src/network/C4League.h
|
|
|
|
src/network/C4Network2Client.cpp
|
|
|
|
src/network/C4Network2Client.h
|
|
|
|
src/network/C4Network2.cpp
|
|
|
|
src/network/C4Network2Dialogs.cpp
|
|
|
|
src/network/C4Network2Dialogs.h
|
|
|
|
src/network/C4Network2Discover.cpp
|
|
|
|
src/network/C4Network2Discover.h
|
|
|
|
src/network/C4Network2.h
|
|
|
|
src/network/C4Network2IO.cpp
|
|
|
|
src/network/C4Network2IO.h
|
|
|
|
src/network/C4Network2IRC.cpp
|
|
|
|
src/network/C4Network2IRC.h
|
|
|
|
src/network/C4Network2Players.cpp
|
|
|
|
src/network/C4Network2Players.h
|
|
|
|
src/network/C4Network2Reference.cpp
|
|
|
|
src/network/C4Network2Reference.h
|
|
|
|
src/network/C4Network2Res.cpp
|
|
|
|
src/network/C4Network2ResDlg.cpp
|
|
|
|
src/network/C4Network2Res.h
|
|
|
|
src/network/C4Network2Stats.cpp
|
|
|
|
src/network/C4Network2Stats.h
|
2012-01-15 20:27:16 +00:00
|
|
|
src/network/C4Network2UPnP.h
|
2009-08-12 13:01:14 +00:00
|
|
|
src/network/C4Packet2.cpp
|
|
|
|
src/network/C4PacketBase.h
|
2012-04-27 17:04:43 +00:00
|
|
|
src/object/C4Action.cpp
|
|
|
|
src/object/C4Command.cpp
|
|
|
|
src/object/C4Command.h
|
|
|
|
src/object/C4Def.cpp
|
|
|
|
src/object/C4DefGraphics.cpp
|
|
|
|
src/object/C4DefGraphics.h
|
|
|
|
src/object/C4Def.h
|
|
|
|
src/object/C4DefList.cpp
|
|
|
|
src/object/C4DefList.h
|
|
|
|
src/object/C4GameObjects.cpp
|
|
|
|
src/object/C4GameObjects.h
|
2013-03-03 18:25:18 +00:00
|
|
|
src/object/C4Id.cpp
|
|
|
|
src/object/C4Id.h
|
2012-04-27 17:04:43 +00:00
|
|
|
src/object/C4IDList.cpp
|
|
|
|
src/object/C4IDList.h
|
|
|
|
src/object/C4InfoCore.cpp
|
|
|
|
src/object/C4InfoCore.h
|
|
|
|
src/object/C4MeshAnimation.cpp
|
|
|
|
src/object/C4MeshAnimation.h
|
|
|
|
src/object/C4Movement.cpp
|
|
|
|
src/object/C4ObjectCom.cpp
|
|
|
|
src/object/C4ObjectCom.h
|
|
|
|
src/object/C4Object.cpp
|
|
|
|
src/object/C4Object.h
|
|
|
|
src/object/C4ObjectInfo.cpp
|
|
|
|
src/object/C4ObjectInfo.h
|
|
|
|
src/object/C4ObjectInfoList.cpp
|
|
|
|
src/object/C4ObjectInfoList.h
|
|
|
|
src/object/C4ObjectList.cpp
|
|
|
|
src/object/C4ObjectList.h
|
|
|
|
src/object/C4ObjectMenu.cpp
|
|
|
|
src/object/C4ObjectMenu.h
|
|
|
|
src/object/C4ObjectPtr.cpp
|
|
|
|
src/object/C4ObjectPtr.h
|
|
|
|
src/object/C4ObjectScript.cpp
|
|
|
|
src/object/C4Sector.cpp
|
|
|
|
src/object/C4Sector.h
|
|
|
|
src/object/C4Shape.cpp
|
|
|
|
src/object/C4Shape.h
|
2011-10-03 15:19:24 +00:00
|
|
|
src/platform/C4App.cpp
|
|
|
|
src/platform/C4App.h
|
2012-04-27 17:04:43 +00:00
|
|
|
src/platform/C4AppWin32Impl.h
|
2009-08-12 13:01:14 +00:00
|
|
|
src/platform/C4FileMonitor.cpp
|
|
|
|
src/platform/C4FileMonitor.h
|
|
|
|
src/platform/C4GamePadCon.cpp
|
|
|
|
src/platform/C4GamePadCon.h
|
|
|
|
src/platform/C4MusicFile.cpp
|
|
|
|
src/platform/C4MusicFile.h
|
|
|
|
src/platform/C4MusicSystem.cpp
|
|
|
|
src/platform/C4MusicSystem.h
|
2011-10-03 15:19:24 +00:00
|
|
|
src/platform/C4SoundLoaders.cpp
|
|
|
|
src/platform/C4SoundLoaders.h
|
2009-08-12 13:01:14 +00:00
|
|
|
src/platform/C4SoundSystem.cpp
|
|
|
|
src/platform/C4SoundSystem.h
|
2013-12-07 14:28:06 +00:00
|
|
|
src/platform/C4TimeMilliseconds.cpp
|
2013-12-04 12:35:07 +00:00
|
|
|
src/platform/C4TimeMilliseconds.h
|
2012-11-30 17:30:00 +00:00
|
|
|
src/platform/C4StdInProc.cpp
|
|
|
|
src/platform/C4StdInProc.h
|
2009-08-12 13:01:14 +00:00
|
|
|
src/platform/C4Video.cpp
|
|
|
|
src/platform/C4Video.h
|
2011-10-03 15:19:24 +00:00
|
|
|
src/platform/C4Window.h
|
2011-03-13 14:48:45 +00:00
|
|
|
src/platform/C4windowswrapper.h
|
2012-03-12 19:43:27 +00:00
|
|
|
src/platform/PlatformAbstraction.cpp
|
2010-03-08 22:59:11 +00:00
|
|
|
src/platform/PlatformAbstraction.h
|
2009-08-12 13:01:14 +00:00
|
|
|
src/platform/StdSync.h
|
|
|
|
src/platform/StdVideo.cpp
|
|
|
|
src/platform/StdVideo.h
|
2012-04-27 17:04:43 +00:00
|
|
|
src/player/C4Player.cpp
|
|
|
|
src/player/C4Player.h
|
|
|
|
src/player/C4PlayerList.cpp
|
|
|
|
src/player/C4PlayerList.h
|
|
|
|
src/player/C4RankSystem.cpp
|
|
|
|
src/player/C4RankSystem.h
|
2014-05-12 00:21:38 +00:00
|
|
|
src/script/C4AulDebug.cpp
|
|
|
|
src/script/C4AulDebug.h
|
2012-02-01 21:11:46 +00:00
|
|
|
thirdparty/timsort/sort.h
|
2009-08-12 13:01:14 +00:00
|
|
|
)
|
2009-09-21 04:04:52 +00:00
|
|
|
|
2013-01-08 23:10:27 +00:00
|
|
|
set(MAPE_BASE_SOURCES
|
|
|
|
src/landscape/C4MapCreatorS2.cpp
|
|
|
|
src/landscape/C4MapCreatorS2.h
|
|
|
|
src/landscape/C4Material.cpp
|
|
|
|
src/landscape/C4Material.h
|
|
|
|
src/landscape/C4Texture.cpp
|
|
|
|
src/landscape/C4Texture.h
|
|
|
|
src/landscape/C4Scenario.cpp
|
|
|
|
src/landscape/C4Scenario.h
|
|
|
|
src/lib/C4NameList.cpp
|
|
|
|
src/lib/C4NameList.h
|
|
|
|
src/lib/C4Rect.cpp
|
|
|
|
src/lib/C4Rect.h
|
2013-03-03 18:25:18 +00:00
|
|
|
src/object/C4Id.cpp
|
|
|
|
src/object/C4Id.h
|
2013-01-08 23:10:27 +00:00
|
|
|
)
|
|
|
|
|
2009-09-21 04:04:52 +00:00
|
|
|
set(MAPE_SOURCES
|
2009-09-27 01:54:47 +00:00
|
|
|
src/mape/cpp-handles/group-handle.h
|
|
|
|
src/mape/cpp-handles/group-handle.cpp
|
2013-01-12 13:05:54 +00:00
|
|
|
src/mape/cpp-handles/log-handle.h
|
|
|
|
src/mape/cpp-handles/log-handle.cpp
|
2013-01-06 23:16:43 +00:00
|
|
|
src/mape/cpp-handles/mapgen-handle.h
|
|
|
|
src/mape/cpp-handles/mapgen-handle.cpp
|
2009-10-01 02:54:10 +00:00
|
|
|
src/mape/cpp-handles/material-handle.h
|
|
|
|
src/mape/cpp-handles/material-handle.cpp
|
2013-01-07 20:07:58 +00:00
|
|
|
src/mape/cpp-handles/random-handle.h
|
|
|
|
src/mape/cpp-handles/random-handle.cpp
|
2012-02-18 20:10:07 +00:00
|
|
|
src/mape/cpp-handles/texture-handle.h
|
|
|
|
src/mape/cpp-handles/texture-handle.cpp
|
2013-01-10 21:30:14 +00:00
|
|
|
src/mape/cpp-handles/version-handle.h
|
|
|
|
src/mape/cpp-handles/version-handle.cpp
|
2013-01-08 23:10:27 +00:00
|
|
|
src/mape/cpp-handles/stub-handle.cpp
|
2009-09-21 04:04:52 +00:00
|
|
|
src/mape/configfile.c
|
|
|
|
src/mape/configfile.h
|
|
|
|
src/mape/diskview.c
|
|
|
|
src/mape/diskview.h
|
|
|
|
src/mape/editview.c
|
|
|
|
src/mape/editview.h
|
|
|
|
src/mape/fileicon.c
|
|
|
|
src/mape/fileicon.h
|
|
|
|
src/mape/forward.h
|
2009-09-27 01:54:47 +00:00
|
|
|
src/mape/group.c
|
2009-09-21 04:04:52 +00:00
|
|
|
src/mape/group.h
|
|
|
|
src/mape/header.c
|
|
|
|
src/mape/header.h
|
|
|
|
src/mape/iconview.c
|
|
|
|
src/mape/iconview.h
|
|
|
|
src/mape/mape.c
|
2013-01-06 23:16:43 +00:00
|
|
|
src/mape/mapgen.c
|
2009-09-21 04:04:52 +00:00
|
|
|
src/mape/mapgen.h
|
2009-10-01 02:54:10 +00:00
|
|
|
src/mape/material.c
|
2009-09-21 04:04:52 +00:00
|
|
|
src/mape/material.h
|
|
|
|
src/mape/mattexview.c
|
|
|
|
src/mape/mattexview.h
|
|
|
|
src/mape/preferences.c
|
|
|
|
src/mape/preferences.h
|
|
|
|
src/mape/preferencesdialog.c
|
|
|
|
src/mape/preferencesdialog.h
|
|
|
|
src/mape/preview.c
|
|
|
|
src/mape/preview.h
|
2013-01-07 20:07:58 +00:00
|
|
|
src/mape/random.c
|
2009-09-21 04:04:52 +00:00
|
|
|
src/mape/random.h
|
|
|
|
src/mape/statusbar.c
|
|
|
|
src/mape/statusbar.h
|
2012-02-18 20:10:07 +00:00
|
|
|
src/mape/texture.c
|
2009-09-21 04:04:52 +00:00
|
|
|
src/mape/texture.h
|
|
|
|
src/mape/window.c
|
|
|
|
src/mape/window.h
|
|
|
|
)
|
|
|
|
|
2013-01-06 16:47:48 +00:00
|
|
|
# generated source files
|
|
|
|
add_custom_command(
|
|
|
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/mape-icons.h
|
|
|
|
COMMAND
|
|
|
|
gdk-pixbuf-csource "--raw" "--static" "--build-list"
|
|
|
|
"mape_icon_ocd" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocd.ico"
|
|
|
|
"mape_icon_ocf" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocf.ico"
|
|
|
|
"mape_icon_ocg" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocg.ico"
|
|
|
|
"mape_icon_ocm" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocm.ico"
|
|
|
|
"mape_icon_ocs" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocs.ico"
|
|
|
|
> ${CMAKE_CURRENT_BINARY_DIR}/mape-icons.h
|
|
|
|
DEPENDS
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocd.ico
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocf.ico
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocg.ico
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocm.ico
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocs.ico
|
|
|
|
VERBATIM
|
|
|
|
)
|
|
|
|
list(APPEND MAPE_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/mape-icons.h)
|
|
|
|
|
2012-03-23 21:53:56 +00:00
|
|
|
# source files specific to an operating system
|
|
|
|
if(APPLE)
|
|
|
|
list(APPEND OC_SYSTEM_SOURCES
|
|
|
|
src/platform/C4FileMonitorMac.mm
|
2012-09-02 13:39:29 +00:00
|
|
|
src/platform/C4AppDelegate.h
|
|
|
|
src/platform/C4AppDelegate.mm
|
2014-01-25 15:11:55 +00:00
|
|
|
src/platform/StdSchedulerMac.mm
|
2012-03-23 21:53:56 +00:00
|
|
|
)
|
|
|
|
else()
|
2013-01-08 23:10:27 +00:00
|
|
|
list(APPEND OC_SYSTEM_SOURCES
|
2012-04-27 17:04:43 +00:00
|
|
|
src/game/ClonkMain.cpp
|
2012-03-23 21:53:56 +00:00
|
|
|
)
|
|
|
|
endif()
|
2009-05-29 21:05:50 +00:00
|
|
|
if(WIN32)
|
2009-08-12 13:01:14 +00:00
|
|
|
list(APPEND OC_SYSTEM_SOURCES
|
2011-03-01 12:28:13 +00:00
|
|
|
src/platform/C4CrashHandlerWin32.cpp
|
2014-05-18 16:59:19 +00:00
|
|
|
src/res/engine.rc
|
2009-08-10 15:59:18 +00:00
|
|
|
src/res/resource.h
|
2009-05-29 21:05:50 +00:00
|
|
|
)
|
2013-11-10 18:09:32 +00:00
|
|
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/res/openclonk.manifest" "${CMAKE_CURRENT_BINARY_DIR}/openclonk.manifest" COPYONLY)
|
2010-12-27 03:49:02 +00:00
|
|
|
endif()
|
|
|
|
|
2012-03-23 21:53:56 +00:00
|
|
|
# source files specific to a GUI library
|
2009-05-29 21:05:50 +00:00
|
|
|
if(USE_GTK)
|
2013-02-09 23:15:51 +00:00
|
|
|
add_custom_command(
|
|
|
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/editor-icons.h
|
|
|
|
COMMAND
|
|
|
|
gdk-pixbuf-csource "--raw" "--rle" "--static" "--build-list"
|
|
|
|
"brush_pixbuf_data" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/Brush_Trans.png"
|
|
|
|
"halt_pixbuf_data" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/Halt_Trans.png"
|
|
|
|
"picker_pixbuf_data" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/Picker_Trans.png"
|
|
|
|
"cursor_pixbuf_data" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/Cursor_Trans.png"
|
|
|
|
"ift_pixbuf_data" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/Ift_Trans.png"
|
|
|
|
"play_pixbuf_data" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/Play_Trans.png"
|
|
|
|
"dynamic_pixbuf_data" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/Dynamic_Trans.png"
|
|
|
|
"line_pixbuf_data" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/Line_Trans.png"
|
|
|
|
"rect_pixbuf_data" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/Rect_Trans.png"
|
|
|
|
"exact_pixbuf_data" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/Exact_Trans.png"
|
|
|
|
"mouse_pixbuf_data" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/Mouse_Trans.png"
|
|
|
|
"static_pixbuf_data" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/Static_Trans.png"
|
|
|
|
"fill_pixbuf_data" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/Fill_Trans.png"
|
|
|
|
"no_ift_pixbuf_data" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/NoIft_Trans.png"
|
|
|
|
> ${CMAKE_CURRENT_BINARY_DIR}/editor-icons.h
|
|
|
|
DEPENDS
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/Brush_Trans.png
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/Halt_Trans.png
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/Picker_Trans.png
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/Cursor_Trans.png
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/Ift_Trans.png
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/Play_Trans.png
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/Dynamic_Trans.png
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/Line_Trans.png
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/Rect_Trans.png
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/Exact_Trans.png
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/Mouse_Trans.png
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/Static_Trans.png
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/Fill_Trans.png
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/NoIft_Trans.png
|
|
|
|
VERBATIM
|
|
|
|
)
|
|
|
|
list(APPEND OC_CLONK_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/editor-icons.h)
|
|
|
|
|
|
|
|
add_custom_command(
|
|
|
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/oc-icon.h
|
|
|
|
COMMAND
|
|
|
|
gdk-pixbuf-csource "--raw" "--rle" "--static" "--build-list"
|
|
|
|
"oc_icon_pixbuf_data" "${CMAKE_CURRENT_SOURCE_DIR}/src/res/oc.ico"
|
|
|
|
> ${CMAKE_CURRENT_BINARY_DIR}/oc-icon.h
|
|
|
|
DEPENDS
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res/oc.ico
|
|
|
|
VERBATIM
|
2009-08-12 13:01:14 +00:00
|
|
|
)
|
2013-02-09 23:15:51 +00:00
|
|
|
list(APPEND OC_CLONK_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/oc-icon.h)
|
2009-08-12 13:01:14 +00:00
|
|
|
|
|
|
|
list(APPEND OC_SYSTEM_SOURCES
|
2010-12-11 18:50:38 +00:00
|
|
|
src/editor/C4ConsoleGTK.cpp
|
2012-04-27 17:04:43 +00:00
|
|
|
src/editor/C4ConsoleGTKDlg.cpp
|
|
|
|
src/editor/C4ConsoleGTKDlg.h
|
2012-03-04 23:38:23 +00:00
|
|
|
src/platform/C4AppGTK.cpp
|
|
|
|
src/platform/C4AppGTKImpl.h
|
2012-03-23 21:53:56 +00:00
|
|
|
src/platform/C4WindowGTK.cpp
|
|
|
|
)
|
|
|
|
elseif(USE_SDL_MAINLOOP)
|
|
|
|
list(APPEND OC_SYSTEM_SOURCES
|
|
|
|
src/platform/C4AppSDL.cpp
|
|
|
|
src/platform/C4WindowSDL.cpp
|
|
|
|
)
|
2012-11-15 22:01:24 +00:00
|
|
|
elseif(USE_CONSOLE)
|
|
|
|
list(APPEND OC_SYSTEM_SOURCES
|
|
|
|
src/platform/C4AppT.cpp
|
|
|
|
)
|
2012-03-23 21:53:56 +00:00
|
|
|
elseif(WIN32)
|
|
|
|
list(APPEND OC_SYSTEM_SOURCES
|
|
|
|
src/editor/C4ConsoleWin32.cpp
|
|
|
|
src/platform/C4WindowWin32.cpp
|
|
|
|
src/platform/StdJoystick.cpp
|
|
|
|
src/platform/StdJoystick.h
|
|
|
|
)
|
|
|
|
elseif(USE_COCOA)
|
|
|
|
list(APPEND OC_SYSTEM_SOURCES
|
|
|
|
src/editor/C4ConsoleCocoa.mm
|
|
|
|
src/platform/C4AppMac.mm
|
|
|
|
src/platform/C4WindowMac.mm
|
2012-09-02 13:39:29 +00:00
|
|
|
src/platform/C4AppDelegate+MainMenuActions.h
|
|
|
|
src/platform/C4AppDelegate+MainMenuActions.mm
|
2012-09-02 18:51:43 +00:00
|
|
|
src/graphics/C4DrawGLMac.h
|
|
|
|
src/graphics/C4DrawGLMac.mm
|
2012-09-02 13:39:29 +00:00
|
|
|
src/platform/C4WindowController.h
|
|
|
|
src/platform/C4WindowController.mm
|
2012-03-23 21:53:56 +00:00
|
|
|
src/platform/CocoaKeycodeMap.h
|
2012-09-02 18:57:49 +00:00
|
|
|
src/editor/C4EditorWindowController.h
|
|
|
|
src/editor/C4EditorWindowController.mm
|
2012-09-02 11:56:53 +00:00
|
|
|
src/platform/ObjectiveCAssociated.h
|
2009-05-29 21:05:50 +00:00
|
|
|
)
|
|
|
|
endif()
|
2012-03-14 22:28:44 +00:00
|
|
|
if(WITH_AUTOMATIC_UPDATE)
|
|
|
|
list(APPEND OC_CLONK_SOURCES
|
|
|
|
src/gui/C4UpdateDlg.cpp
|
|
|
|
src/gui/C4UpdateDlg.h
|
2009-05-29 21:05:50 +00:00
|
|
|
)
|
|
|
|
endif()
|
2009-08-10 15:59:18 +00:00
|
|
|
|
2009-08-29 21:12:31 +00:00
|
|
|
if(PROJECT_FOLDERS)
|
2011-09-21 20:25:33 +00:00
|
|
|
source_group("Core" src/.*)
|
|
|
|
source_group("Platform abstraction" src/platform/.*)
|
|
|
|
source_group("Utility" src/lib/.*)
|
|
|
|
source_group("C4Group" src/c4group/.*)
|
2012-04-27 17:04:43 +00:00
|
|
|
source_group("Graphics" src/graphics/.*)
|
2009-08-29 21:12:31 +00:00
|
|
|
source_group("GUI" src/gui/.*)
|
|
|
|
source_group("Network" src/network/.*)
|
2012-04-27 17:04:43 +00:00
|
|
|
source_group("Object" src/object/.*)
|
|
|
|
source_group("Landscape" src/landscape/.*)
|
|
|
|
source_group("Player" src/player/.*)
|
|
|
|
source_group("Script" REGULAR_EXPRESSION .*script/.*)
|
2009-08-29 21:12:31 +00:00
|
|
|
source_group("Config" src/config/.*)
|
|
|
|
source_group("Control" src/control/.*)
|
|
|
|
source_group("Editing" src/editor/.*)
|
2012-02-12 18:41:48 +00:00
|
|
|
source_group("Mape" src/mape/.*)
|
2009-08-29 21:12:31 +00:00
|
|
|
endif()
|
2009-05-29 20:53:15 +00:00
|
|
|
|
|
|
|
include_directories(
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
2009-08-10 15:59:18 +00:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/c4group
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/config
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/control
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/editor
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/game
|
2012-04-27 17:04:43 +00:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/gamescript
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/graphics
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/gui
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/landscape
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/lib
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/network
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/object
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/platform
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/player
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/res
|
2009-08-10 15:59:18 +00:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/script
|
2011-01-25 20:28:44 +00:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty
|
2009-05-29 20:53:15 +00:00
|
|
|
)
|
|
|
|
|
2009-10-20 03:39:24 +00:00
|
|
|
############################################################################
|
|
|
|
# Check for required system headers
|
|
|
|
############################################################################
|
2009-05-29 20:53:15 +00:00
|
|
|
include(CheckIncludeFileCXX)
|
|
|
|
CHECK_INCLUDE_FILE_CXX(direct.h HAVE_DIRECT_H)
|
|
|
|
CHECK_INCLUDE_FILE_CXX(io.h HAVE_IO_H)
|
|
|
|
CHECK_INCLUDE_FILE_CXX(locale.h HAVE_LOCALE_H)
|
|
|
|
CHECK_INCLUDE_FILE_CXX(share.h HAVE_SHARE_H)
|
|
|
|
CHECK_INCLUDE_FILE_CXX(signal.h HAVE_SIGNAL_H)
|
|
|
|
CHECK_INCLUDE_FILE_CXX(stdint.h HAVE_STDINT_H)
|
|
|
|
CHECK_INCLUDE_FILE_CXX(sys/stat.h HAVE_SYS_STAT_H)
|
|
|
|
CHECK_INCLUDE_FILE_CXX(sys/types.h HAVE_SYS_TYPES_H)
|
|
|
|
CHECK_INCLUDE_FILE_CXX(unistd.h HAVE_UNISTD_H)
|
2009-05-29 21:05:50 +00:00
|
|
|
CHECK_INCLUDE_FILE_CXX(execinfo.h HAVE_EXECINFO_H)
|
|
|
|
CHECK_INCLUDE_FILE_CXX(langinfo.h HAVE_LANGINFO_H)
|
|
|
|
CHECK_INCLUDE_FILE_CXX(poll.h HAVE_POLL_H)
|
|
|
|
CHECK_INCLUDE_FILE_CXX(sys/inotify.h HAVE_SYS_INOTIFY_H)
|
2011-03-15 16:27:10 +00:00
|
|
|
CHECK_INCLUDE_FILE_CXX(sys/timerfd.h HAVE_SYS_TIMERFD_H)
|
2009-05-29 21:05:50 +00:00
|
|
|
CHECK_INCLUDE_FILE_CXX(sys/socket.h HAVE_SYS_SOCKET_H)
|
2011-03-17 01:26:37 +00:00
|
|
|
CHECK_INCLUDE_FILE_CXX(sys/eventfd.h HAVE_SYS_EVENTFD_H)
|
2011-03-02 17:54:28 +00:00
|
|
|
CHECK_INCLUDE_FILE_CXX(sys/file.h HAVE_SYS_FILE_H)
|
2011-01-30 20:44:54 +00:00
|
|
|
if(USE_CONSOLE)
|
|
|
|
CHECK_INCLUDE_FILE_CXX(readline.h HAVE_READLINE_H)
|
|
|
|
CHECK_INCLUDE_FILE_CXX(readline/readline.h HAVE_READLINE_READLINE_H)
|
|
|
|
endif()
|
2012-01-15 20:27:16 +00:00
|
|
|
CHECK_INCLUDE_FILE_CXX(natupnp.h HAVE_NATUPNP_H)
|
2009-09-20 20:03:44 +00:00
|
|
|
|
|
|
|
# ck 09-09-20: The following headers require Xlib.h for things such as
|
|
|
|
# 'Bool' and 'Window' to be defined. Unfortunately, this doesn't exist
|
|
|
|
# as a CXX version (yet?).
|
|
|
|
include(CheckIncludeFiles)
|
|
|
|
CHECK_INCLUDE_FILES(X11/Xlib.h X11/extensions/Xrandr.h HAVE_X11_EXTENSIONS_XRANDR_H)
|
|
|
|
CHECK_INCLUDE_FILES(X11/Xlib.h X11/keysym.h HAVE_X11_KEYSYM_H)
|
2009-05-29 21:05:50 +00:00
|
|
|
CHECK_INCLUDE_FILE_CXX(iconv.h HAVE_ICONV)
|
|
|
|
|
|
|
|
if(HAVE_ICONV)
|
|
|
|
SET(ICONV_CONST ON)
|
|
|
|
endif()
|
|
|
|
|
2014-03-25 22:16:01 +00:00
|
|
|
include(CheckSymbolExists)
|
|
|
|
CHECK_SYMBOL_EXISTS(vasprintf stdio.h HAVE_VASPRINTF)
|
2014-03-25 22:20:34 +00:00
|
|
|
CHECK_SYMBOL_EXISTS(__mingw_vasprintf stdio.h HAVE___MINGW_VASPRINTF)
|
2009-05-29 20:53:15 +00:00
|
|
|
|
2010-02-09 18:21:00 +00:00
|
|
|
if(HAVE_ICONV)
|
2014-03-25 22:16:01 +00:00
|
|
|
CHECK_SYMBOL_EXISTS(iconv iconv.h HAVE_ICONV_WO_LINK)
|
2010-02-09 18:21:00 +00:00
|
|
|
mark_as_advanced(HAVE_ICONV_WO_LINK)
|
2010-02-09 18:01:53 +00:00
|
|
|
|
2010-02-09 18:21:00 +00:00
|
|
|
if(NOT HAVE_ICONV_WO_LINK)
|
|
|
|
FIND_LIBRARY( ICONV_LIBRARY NAMES iconv )
|
|
|
|
MARK_AS_ADVANCED( ICONV_LIBRARY )
|
2009-07-01 20:25:45 +00:00
|
|
|
endif()
|
2009-05-29 20:53:15 +00:00
|
|
|
endif()
|
2010-02-09 18:01:53 +00:00
|
|
|
|
2012-01-15 20:27:16 +00:00
|
|
|
if(HAVE_NATUPNP_H)
|
|
|
|
list(APPEND OC_SYSTEM_SOURCES
|
|
|
|
src/network/C4Network2UPnPWin32.cpp
|
|
|
|
)
|
2009-05-29 21:05:50 +00:00
|
|
|
else()
|
2012-01-21 01:04:14 +00:00
|
|
|
FIND_PACKAGE(Upnp)
|
|
|
|
SET(HAVE_UPNP ${UPNP_FOUND})
|
|
|
|
if(UPNP_FOUND)
|
|
|
|
list(APPEND OC_SYSTEM_SOURCES
|
|
|
|
src/network/C4Network2UPnPLinux.cpp
|
|
|
|
)
|
|
|
|
else()
|
|
|
|
list(APPEND OC_SYSTEM_SOURCES
|
|
|
|
src/network/C4Network2UPnPDummy.cpp
|
|
|
|
)
|
|
|
|
endif()
|
2009-05-29 20:53:15 +00:00
|
|
|
endif()
|
|
|
|
|
2009-10-20 03:39:24 +00:00
|
|
|
############################################################################
|
|
|
|
# Locate necessary libraries
|
|
|
|
############################################################################
|
2009-07-25 20:56:06 +00:00
|
|
|
# Find win32 SDK, since a lot of users don't have the include path in their environment
|
2010-01-07 13:30:45 +00:00
|
|
|
if(MSVC)
|
2009-07-25 20:56:06 +00:00
|
|
|
get_filename_component(WINSDK_ROOT "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows;CurrentInstallFolder]" ABSOLUTE CACHE)
|
|
|
|
mark_as_advanced(WINSDK_ROOT)
|
|
|
|
include_directories(SYSTEM ${WINSDK_ROOT}/Include)
|
|
|
|
if(${FIND_LIBRARY_USE_LIB64_PATHS})
|
|
|
|
list(APPEND CMAKE_LIBRARY_PATH ${WINSDK_ROOT}/Lib/x64)
|
|
|
|
else()
|
|
|
|
list(APPEND CMAKE_LIBRARY_PATH ${WINSDK_ROOT}/Lib)
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
|
2013-03-03 13:38:04 +00:00
|
|
|
if(NOT USE_CONSOLE)
|
2013-10-08 20:02:39 +00:00
|
|
|
SET(JPEG_NAMES ${JPEG_NAMES} libjpeg jpeg-static)
|
2013-03-03 13:38:04 +00:00
|
|
|
include(FindJPEG)
|
|
|
|
endif()
|
2009-05-29 20:53:15 +00:00
|
|
|
include(FindPNG)
|
|
|
|
include(FindZLIB)
|
2011-05-21 15:38:54 +00:00
|
|
|
include_directories(${JPEG_INCLUDE_DIR} ${PNG_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR})
|
|
|
|
|
2013-10-29 15:27:27 +00:00
|
|
|
find_package("Boost" 1.40.0 REQUIRED)
|
|
|
|
include_directories(SYSTEM ${Boost_INCLUDE_DIR})
|
2009-05-29 20:53:15 +00:00
|
|
|
|
2009-05-29 21:05:50 +00:00
|
|
|
include(FindThreads)
|
2009-07-06 02:40:57 +00:00
|
|
|
if(NOT WIN32)
|
|
|
|
SET(HAVE_PTHREAD ${CMAKE_USE_PTHREADS_INIT} CACHE INTERNAL "libpthread available")
|
2009-07-03 12:19:31 +00:00
|
|
|
endif()
|
2009-05-29 21:05:50 +00:00
|
|
|
|
2013-03-03 13:38:04 +00:00
|
|
|
if(NOT USE_CONSOLE)
|
2014-02-16 07:56:39 +00:00
|
|
|
if(APPLE)
|
|
|
|
include(LegacyFindFreetype)
|
|
|
|
include_directories(${FREETYPE_INCLUDE_DIRS})
|
|
|
|
else()
|
|
|
|
find_package(Freetype REQUIRED)
|
|
|
|
include_directories(${FREETYPE_INCLUDE_DIRS})
|
|
|
|
endif()
|
2013-03-03 13:38:04 +00:00
|
|
|
endif()
|
2009-05-29 20:53:15 +00:00
|
|
|
|
|
|
|
# FINDLIB works the same as find_library, but also marks the resulting var as
|
|
|
|
# advanced so it doesn't show in GUIs by default
|
|
|
|
macro(FINDLIB lib)
|
|
|
|
find_library(${ARGV})
|
|
|
|
mark_as_advanced(${lib})
|
|
|
|
endmacro(FINDLIB)
|
|
|
|
|
2011-01-30 20:44:54 +00:00
|
|
|
if(USE_CONSOLE)
|
2011-10-03 11:03:22 +00:00
|
|
|
find_package(Readline)
|
2011-01-30 20:44:54 +00:00
|
|
|
include_directories(${READLINE_INCLUDE_DIRS})
|
|
|
|
SET(HAVE_LIBREADLINE ${READLINE_FOUND} CACHE INTERNAL "libreadline available")
|
|
|
|
endif()
|
|
|
|
|
2011-08-31 17:40:22 +00:00
|
|
|
# Set GTK link directory. This needs to be done before add_executable,
|
|
|
|
# otherwise the path is not used for linking clonk
|
|
|
|
if(USE_GTK)
|
2014-04-21 16:06:02 +00:00
|
|
|
include(FindPkgConfig)
|
2011-08-31 17:40:22 +00:00
|
|
|
if (USE_GTK3)
|
2013-01-20 21:43:57 +00:00
|
|
|
pkg_check_modules(GTK3 REQUIRED "glib-2.0 >= 2.32" "gtk+-3.0 >= 3.4")
|
2011-08-31 17:40:22 +00:00
|
|
|
include_directories(${GTK3_INCLUDE_DIRS})
|
|
|
|
link_directories(${GTK3_LIBRARY_DIRS})
|
|
|
|
else()
|
2013-01-20 21:43:57 +00:00
|
|
|
pkg_check_modules(GTK REQUIRED "glib-2.0 >= 2.24" "gtk+-2.0 >= 2.20")
|
2011-08-31 17:40:22 +00:00
|
|
|
include_directories(${GTK_INCLUDE_DIRS})
|
|
|
|
link_directories(${GTK_LIBRARY_DIRS})
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
|
2013-01-09 21:44:31 +00:00
|
|
|
# Try to find GTK for mape
|
2014-04-21 16:06:02 +00:00
|
|
|
include(FindPkgConfig)
|
2013-01-09 21:44:31 +00:00
|
|
|
if (PKG_CONFIG_FOUND)
|
2013-01-20 21:43:57 +00:00
|
|
|
if (USE_GTK3)
|
|
|
|
pkg_check_modules(MAPE_GTK glib-2.0>=2.32 gthread-2.0 gtk+-3.0>=3.4 gtksourceview-3.0)
|
|
|
|
else()
|
|
|
|
pkg_check_modules(MAPE_GTK glib-2.0>=2.24 gthread-2.0 gtk+-2.0>=2.20 gtksourceview-2.0)
|
|
|
|
endif()
|
2013-01-09 21:44:31 +00:00
|
|
|
endif()
|
|
|
|
if(MAPE_GTK_FOUND)
|
|
|
|
# hrm, cmake doesn't have target_include_directories...
|
|
|
|
include_directories(${MAPE_GTK_INCLUDE_DIRS})
|
|
|
|
link_directories(${MAPE_GTK_LIBRARY_DIRS})
|
|
|
|
endif()
|
|
|
|
|
2011-08-31 17:40:22 +00:00
|
|
|
if(USE_OPEN_AL)
|
2012-10-05 16:02:52 +00:00
|
|
|
if(MSVC)
|
|
|
|
if(${FIND_LIBRARY_USE_LIB64_PATHS})
|
|
|
|
FINDLIB(OPENAL_LIBRARY NAMES OpenAL64)
|
|
|
|
else()
|
|
|
|
FINDLIB(OPENAL_LIBRARY NAMES OpenAL32)
|
|
|
|
endif()
|
|
|
|
endif()
|
2013-05-20 14:02:26 +00:00
|
|
|
FINDLIB(OGG_LIBRARY NAMES libogg_static libogg ogg)
|
|
|
|
FINDLIB(VORBIS_LIBRARY NAMES libvorbis_static libvorbis vorbis)
|
|
|
|
FINDLIB(VORBISFILE_LIBRARY NAMES libvorbisfile_static libvorbisfile vorbisfile)
|
2012-10-07 11:18:28 +00:00
|
|
|
if(NOT APPLE)
|
2013-05-20 14:02:26 +00:00
|
|
|
FINDLIB(ALUT_LIBRARY NAMES alut_static alut)
|
2012-10-07 11:18:28 +00:00
|
|
|
endif()
|
2011-08-31 17:40:22 +00:00
|
|
|
endif()
|
|
|
|
|
2009-10-20 03:39:24 +00:00
|
|
|
############################################################################
|
|
|
|
# Precompiled header support, part 1 (pre-target)
|
|
|
|
############################################################################
|
|
|
|
if(HAVE_PRECOMPILED_HEADERS)
|
2009-10-20 04:05:49 +00:00
|
|
|
if(MSVC_VERSION)
|
|
|
|
list(INSERT OC_SYSTEM_SOURCES 0 src/C4Include.cpp)
|
|
|
|
endif()
|
2009-10-20 03:39:24 +00:00
|
|
|
endif()
|
2009-05-29 20:53:15 +00:00
|
|
|
|
2010-08-01 13:49:51 +00:00
|
|
|
############################################################################
|
|
|
|
# Mac OS bundle setup
|
|
|
|
############################################################################
|
|
|
|
|
|
|
|
if(APPLE)
|
|
|
|
|
|
|
|
list(APPEND OC_BUNDLE_RESOURCES
|
2014-01-27 12:25:43 +00:00
|
|
|
src/res/oc.icns
|
2011-03-14 20:54:56 +00:00
|
|
|
src/res/ocd.icns src/res/ocf.icns src/res/ocg.icns
|
|
|
|
src/res/C4P.icns src/res/ocs.icns src/res/ocu.icns
|
2010-12-27 03:49:02 +00:00
|
|
|
src/res/Mouse_Trans.png
|
|
|
|
src/res/Cursor_Trans.png
|
|
|
|
src/res/Brush_Trans.png
|
|
|
|
src/res/Play_Trans.png
|
|
|
|
src/res/Halt_Trans.png
|
|
|
|
src/res/Dynamic_Trans.png
|
|
|
|
src/res/Static_Trans.png
|
|
|
|
src/res/Exact_Trans.png
|
|
|
|
src/res/Line_Trans.png
|
|
|
|
src/res/Rect_Trans.png
|
|
|
|
src/res/Fill_Trans.png
|
|
|
|
src/res/Picker_Trans.png
|
|
|
|
src/res/Ift_Trans.png
|
|
|
|
src/res/NoIft_Trans.png
|
2010-08-01 13:49:51 +00:00
|
|
|
)
|
2014-01-27 07:08:27 +00:00
|
|
|
|
|
|
|
if (CMAKE_GENERATOR STREQUAL Xcode)
|
|
|
|
list(APPEND OC_BUNDLE_RESOURCES
|
|
|
|
src/res/MainMenu.xib
|
|
|
|
src/res/FullScreen.xib
|
|
|
|
src/res/EditorGUIWindow.xib
|
|
|
|
src/res/EditorViewport.xib
|
|
|
|
src/res/Editor.xib
|
|
|
|
)
|
2014-01-29 19:37:24 +00:00
|
|
|
else()
|
|
|
|
list(APPEND OC_BUNDLE_RESOURCES
|
|
|
|
src/res/nib/MainMenu.nib
|
|
|
|
src/res/nib/FullScreen.nib
|
|
|
|
src/res/nib/EditorGUIWindow.nib
|
|
|
|
src/res/nib/EditorViewport.nib
|
|
|
|
src/res/nib/Editor.nib
|
|
|
|
)
|
2014-01-27 07:08:27 +00:00
|
|
|
endif()
|
2012-02-28 17:28:16 +00:00
|
|
|
|
2010-08-01 13:49:51 +00:00
|
|
|
# Add icon resources
|
|
|
|
set_source_files_properties(
|
|
|
|
${OC_BUNDLE_RESOURCES}
|
|
|
|
PROPERTIES MACOSX_PACKAGE_LOCATION Resources
|
|
|
|
)
|
|
|
|
list(APPEND OC_SYSTEM_SOURCES ${OC_BUNDLE_RESOURCES})
|
2012-02-28 17:28:16 +00:00
|
|
|
|
2010-08-01 13:49:51 +00:00
|
|
|
endif()
|
|
|
|
|
2009-10-20 03:39:24 +00:00
|
|
|
############################################################################
|
|
|
|
# Generate output files
|
|
|
|
############################################################################
|
|
|
|
add_definitions(-DHAVE_CONFIG_H)
|
2013-01-28 12:44:01 +00:00
|
|
|
add_executable(openclonk WIN32 MACOSX_BUNDLE
|
2009-10-20 03:39:24 +00:00
|
|
|
${OC_SYSTEM_SOURCES}
|
|
|
|
${OC_CLONK_SOURCES}
|
|
|
|
)
|
2010-09-22 15:11:19 +00:00
|
|
|
|
2013-01-09 21:44:31 +00:00
|
|
|
if(MAPE_GTK_FOUND)
|
2013-01-08 23:10:27 +00:00
|
|
|
add_executable(mape ${MAPE_BASE_SOURCES} ${MAPE_SOURCES})
|
2013-01-20 20:53:56 +00:00
|
|
|
unseparate_arguments(MAPE_GTK_CFLAGS "${MAPE_GTK_CFLAGS}")
|
2013-01-20 21:10:26 +00:00
|
|
|
set_property(TARGET mape PROPERTY COMPILE_FLAGS "${MAPE_GTK_CFLAGS}")
|
2013-01-20 20:53:56 +00:00
|
|
|
unseparate_arguments(MAPE_GTK_LDFLAGS "${MAPE_GTK_LDFLAGS}")
|
2013-01-20 21:10:26 +00:00
|
|
|
set_property(TARGET mape PROPERTY LINK_FLAGS "${MAPE_GTK_LDFLAGS}")
|
2012-02-12 18:41:48 +00:00
|
|
|
endif()
|
|
|
|
|
2009-10-20 03:39:24 +00:00
|
|
|
add_executable(c4group
|
2012-04-27 17:04:43 +00:00
|
|
|
src/c4group/C4GroupMain.cpp
|
2009-10-20 03:39:24 +00:00
|
|
|
)
|
2011-01-25 17:56:40 +00:00
|
|
|
|
2011-06-03 19:47:12 +00:00
|
|
|
add_executable(netpuncher EXCLUDE_FROM_ALL
|
2011-01-25 17:56:40 +00:00
|
|
|
src/netpuncher/main.cpp
|
|
|
|
)
|
|
|
|
|
2013-01-28 15:48:04 +00:00
|
|
|
add_library(libmisc
|
|
|
|
src/c4group/C4Group.cpp
|
|
|
|
src/c4group/C4Group.h
|
|
|
|
src/c4group/C4Update.cpp
|
|
|
|
src/c4group/C4Update.h
|
|
|
|
src/c4group/CStdFile.cpp
|
|
|
|
src/c4group/CStdFile.h
|
|
|
|
src/lib/C4InputValidation.cpp
|
|
|
|
src/lib/C4InputValidation.h
|
|
|
|
src/lib/SHA1.h
|
|
|
|
src/lib/Standard.cpp
|
|
|
|
src/lib/Standard.h
|
|
|
|
src/lib/StdBuf.cpp
|
|
|
|
src/lib/StdBuf.h
|
|
|
|
src/lib/StdCompiler.cpp
|
|
|
|
src/lib/StdCompiler.h
|
|
|
|
src/lib/C4Markup.cpp
|
|
|
|
src/lib/C4Markup.h
|
|
|
|
src/lib/StdResStr2.cpp
|
|
|
|
src/network/C4NetIO.cpp
|
|
|
|
src/network/C4NetIO.h
|
|
|
|
src/platform/StdFile.cpp
|
|
|
|
src/platform/StdFile.h
|
|
|
|
src/platform/StdRegistry.cpp
|
|
|
|
src/platform/StdRegistry.h
|
|
|
|
src/platform/StdScheduler.cpp
|
2014-01-12 20:05:35 +00:00
|
|
|
src/platform/StdSchedulerWin32.cpp
|
|
|
|
src/platform/StdSchedulerPoll.cpp
|
2013-01-28 15:48:04 +00:00
|
|
|
src/platform/StdScheduler.h
|
2013-12-07 21:05:56 +00:00
|
|
|
src/platform/C4TimeMilliseconds.cpp
|
|
|
|
src/platform/C4TimeMilliseconds.h
|
2013-01-28 15:48:04 +00:00
|
|
|
src/zlib/gzio.c
|
|
|
|
src/zlib/gzio.h
|
|
|
|
src/zlib/zutil.h
|
|
|
|
|
|
|
|
src/C4Include.cpp
|
|
|
|
src/lib/C4SimpleLog.cpp
|
|
|
|
)
|
|
|
|
|
|
|
|
target_link_libraries(libmisc ${ZLIB_LIBRARIES})
|
|
|
|
|
|
|
|
add_library(libc4script
|
|
|
|
src/c4group/C4GroupSet.cpp
|
|
|
|
src/c4group/C4GroupSet.h
|
|
|
|
src/c4group/C4ComponentHost.cpp
|
|
|
|
src/c4group/C4ComponentHost.h
|
|
|
|
src/c4group/C4LangStringTable.cpp
|
|
|
|
src/c4group/C4LangStringTable.h
|
|
|
|
src/lib/C4Real.cpp
|
|
|
|
src/lib/C4Real.h
|
|
|
|
src/lib/C4Random.cpp
|
|
|
|
src/lib/C4Random.h
|
2014-05-12 00:21:38 +00:00
|
|
|
src/script/C4Aul.cpp
|
|
|
|
src/script/C4AulDefFunc.h
|
|
|
|
src/script/C4AulExec.cpp
|
|
|
|
src/script/C4AulExec.h
|
|
|
|
src/script/C4AulFunc.cpp
|
|
|
|
src/script/C4AulFunc.h
|
|
|
|
src/script/C4Aul.h
|
|
|
|
src/script/C4AulLink.cpp
|
|
|
|
src/script/C4AulParse.cpp
|
2013-01-28 15:48:04 +00:00
|
|
|
src/script/C4PropList.cpp
|
|
|
|
src/script/C4PropList.h
|
|
|
|
src/script/C4Script.cpp
|
|
|
|
src/script/C4ScriptHost.cpp
|
|
|
|
src/script/C4ScriptHost.h
|
|
|
|
src/script/C4StringTable.cpp
|
|
|
|
src/script/C4StringTable.h
|
|
|
|
src/script/C4ValueArray.cpp
|
|
|
|
src/script/C4ValueArray.h
|
|
|
|
src/script/C4Value.cpp
|
|
|
|
src/script/C4Value.h
|
|
|
|
src/script/C4ValueMap.cpp
|
|
|
|
src/script/C4ValueMap.h
|
|
|
|
)
|
|
|
|
|
2011-06-03 19:47:12 +00:00
|
|
|
add_executable(c4script
|
2012-03-04 20:23:11 +00:00
|
|
|
include/c4script/c4script.h
|
2012-04-27 17:04:43 +00:00
|
|
|
src/script/C4ScriptMain.cpp
|
2012-03-04 20:23:11 +00:00
|
|
|
src/script/C4ScriptStandalone.cpp
|
2011-03-07 19:53:13 +00:00
|
|
|
)
|
|
|
|
|
2013-01-28 12:44:01 +00:00
|
|
|
target_link_libraries(openclonk
|
2009-10-20 03:39:24 +00:00
|
|
|
${FREETYPE_LIBRARIES}
|
|
|
|
${PNG_LIBRARIES}
|
|
|
|
${JPEG_LIBRARIES}
|
2010-02-09 18:01:53 +00:00
|
|
|
${ICONV_LIBRARY}
|
2013-01-28 15:48:04 +00:00
|
|
|
libc4script
|
|
|
|
libmisc
|
2009-10-20 03:39:24 +00:00
|
|
|
)
|
2012-11-16 16:30:52 +00:00
|
|
|
|
|
|
|
if(USE_OPEN_AL)
|
2013-01-28 12:44:01 +00:00
|
|
|
target_link_libraries(openclonk
|
2012-11-16 16:30:52 +00:00
|
|
|
${OPENAL_LIBRARY}
|
|
|
|
${ALUT_LIBRARY}
|
|
|
|
${VORBIS_LIBRARY}
|
|
|
|
${VORBISFILE_LIBRARY}
|
|
|
|
${OGG_LIBRARY}
|
|
|
|
)
|
|
|
|
endif()
|
2013-01-14 00:38:03 +00:00
|
|
|
|
2013-01-09 21:44:31 +00:00
|
|
|
if(MAPE_GTK_FOUND)
|
2012-02-12 18:41:48 +00:00
|
|
|
target_link_libraries(mape
|
2013-01-28 15:48:04 +00:00
|
|
|
libc4script
|
|
|
|
libmisc
|
2012-02-12 18:41:48 +00:00
|
|
|
)
|
|
|
|
endif()
|
2013-01-14 00:38:03 +00:00
|
|
|
|
2013-01-28 15:48:04 +00:00
|
|
|
target_link_libraries(netpuncher
|
|
|
|
libmisc
|
|
|
|
)
|
|
|
|
|
2009-10-20 03:39:24 +00:00
|
|
|
target_link_libraries(c4group
|
2013-01-28 15:48:04 +00:00
|
|
|
libmisc
|
2009-10-20 03:39:24 +00:00
|
|
|
)
|
2013-01-28 15:48:04 +00:00
|
|
|
|
2011-03-07 19:53:13 +00:00
|
|
|
target_link_libraries(c4script
|
2013-01-28 15:48:04 +00:00
|
|
|
libc4script
|
|
|
|
libmisc
|
2011-03-07 19:53:13 +00:00
|
|
|
)
|
2011-01-27 00:15:48 +00:00
|
|
|
if(HAVE_PTHREAD)
|
2013-03-10 13:00:01 +00:00
|
|
|
target_link_libraries(openclonk
|
|
|
|
pthread
|
|
|
|
)
|
2011-01-27 00:15:48 +00:00
|
|
|
target_link_libraries(netpuncher
|
|
|
|
pthread
|
|
|
|
)
|
2011-03-07 19:53:13 +00:00
|
|
|
target_link_libraries(c4script
|
2012-02-28 17:28:16 +00:00
|
|
|
pthread
|
2011-03-07 19:53:13 +00:00
|
|
|
)
|
2013-01-09 21:44:31 +00:00
|
|
|
if(MAPE_GTK_FOUND)
|
2013-01-08 23:10:27 +00:00
|
|
|
target_link_libraries(mape
|
|
|
|
pthread
|
|
|
|
)
|
|
|
|
endif()
|
2011-01-27 00:15:48 +00:00
|
|
|
endif()
|
2011-01-30 20:44:54 +00:00
|
|
|
if(USE_CONSOLE)
|
2013-01-28 12:44:01 +00:00
|
|
|
target_link_libraries(openclonk
|
2011-01-30 20:44:54 +00:00
|
|
|
${READLINE_LIBRARIES}
|
|
|
|
)
|
|
|
|
endif()
|
2012-02-14 15:25:23 +00:00
|
|
|
if(UNIX AND NOT APPLE)
|
2012-02-12 21:11:32 +00:00
|
|
|
target_link_libraries(c4group rt)
|
|
|
|
target_link_libraries(c4script rt)
|
|
|
|
target_link_libraries(netpuncher rt)
|
2013-01-28 12:44:01 +00:00
|
|
|
target_link_libraries(openclonk rt)
|
2013-01-16 22:24:14 +00:00
|
|
|
if(MAPE_GTK_FOUND)
|
|
|
|
target_link_libraries(mape rt)
|
|
|
|
endif()
|
2012-02-12 21:11:32 +00:00
|
|
|
endif()
|
2013-01-28 12:44:01 +00:00
|
|
|
set_property(TARGET openclonk APPEND PROPERTY COMPILE_DEFINITIONS GLEW_STATIC)
|
2009-10-20 03:39:24 +00:00
|
|
|
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG _DEBUG)
|
|
|
|
|
2010-08-01 13:49:51 +00:00
|
|
|
# This expands some variables in Info.plist as a side-effect. XCode might then
|
|
|
|
# expand a second time, using the same syntax. Try not to get confused by this!
|
2013-01-28 12:44:01 +00:00
|
|
|
set_target_properties(openclonk PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/src/res/Info.plist")
|
2010-08-01 13:49:51 +00:00
|
|
|
|
2011-11-10 01:01:21 +00:00
|
|
|
if(MSVC)
|
|
|
|
# set target output filenames to a per-configuration value
|
|
|
|
function(oc_set_target_names target_name)
|
|
|
|
foreach(CONFIG ${CMAKE_CONFIGURATION_TYPES})
|
|
|
|
string(TOUPPER "${CONFIG}" CONFIG_UPPER)
|
|
|
|
string(TOLOWER "${CONFIG}" CONFIG_LOWER)
|
|
|
|
set_target_properties(${target_name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_${CONFIG_UPPER} "${CMAKE_CURRENT_BINARY_DIR}")
|
|
|
|
if(NOT "${CONFIG}" STREQUAL "RelWithDebInfo")
|
|
|
|
set_target_properties(${target_name} PROPERTIES RUNTIME_OUTPUT_NAME_${CONFIG_UPPER} "${target_name}-${CONFIG_LOWER}")
|
|
|
|
endif()
|
|
|
|
endforeach()
|
|
|
|
endfunction()
|
2013-01-28 12:44:01 +00:00
|
|
|
oc_set_target_names(openclonk)
|
2011-11-10 01:01:21 +00:00
|
|
|
oc_set_target_names(c4group)
|
|
|
|
oc_set_target_names(c4script)
|
|
|
|
oc_set_target_names(netpuncher)
|
2013-11-10 18:09:32 +00:00
|
|
|
|
|
|
|
# cmake does not support embedding arbitrary manifests,
|
|
|
|
# so we add it to the resource file ourselves and tell
|
|
|
|
# MSVC not to create its own.
|
|
|
|
set_property(TARGET openclonk APPEND PROPERTY LINK_FLAGS "/MANIFEST:NO")
|
2011-11-10 01:01:21 +00:00
|
|
|
endif()
|
|
|
|
|
2009-10-20 03:39:24 +00:00
|
|
|
############################################################################
|
|
|
|
# Precompiled header support, part 2 (post-target)
|
|
|
|
############################################################################
|
|
|
|
if(HAVE_PRECOMPILED_HEADERS)
|
2009-10-20 04:05:49 +00:00
|
|
|
if(MSVC_VERSION)
|
2013-01-28 12:44:01 +00:00
|
|
|
get_property(OC_SOURCES TARGET openclonk PROPERTY SOURCES)
|
2009-10-20 04:05:49 +00:00
|
|
|
foreach(FILE ${OC_SOURCES})
|
|
|
|
get_filename_component(FILE_EXT ${FILE} EXT)
|
2010-01-04 02:15:50 +00:00
|
|
|
get_filename_component(FILE_NAME_WE ${FILE} NAME_WE)
|
2011-01-25 20:28:44 +00:00
|
|
|
if(FILE_EXT STREQUAL ".cpp")
|
2009-10-20 04:05:49 +00:00
|
|
|
# This check is necessary since gzio.c gets compiled as C
|
|
|
|
# code, which can't use C++ PCH.
|
|
|
|
set_property(SOURCE ${FILE} PROPERTY COMPILE_FLAGS /YuC4Include.h)
|
|
|
|
endif()
|
|
|
|
endforeach()
|
|
|
|
set_property(SOURCE src/C4Include.cpp PROPERTY COMPILE_FLAGS /YcC4Include.h)
|
|
|
|
endif()
|
2009-10-20 03:39:24 +00:00
|
|
|
endif()
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# Assemble compiler flags
|
|
|
|
############################################################################
|
2011-01-06 20:18:13 +00:00
|
|
|
if(UNIX)
|
|
|
|
# Don't put this into CMAKE_CXX_FLAGS because otherwise it is cached,
|
|
|
|
# and when the path is changed both the old and new definition appears
|
|
|
|
# in the list of flags.
|
2012-10-21 13:03:24 +00:00
|
|
|
add_definitions("-DOC_SYSTEM_DATA_DIR=\"${CMAKE_INSTALL_PREFIX}/share/games/openclonk\"")
|
2011-01-06 20:18:13 +00:00
|
|
|
endif()
|
2009-10-20 03:39:24 +00:00
|
|
|
if(OC_CXX_FLAGS)
|
|
|
|
list(REMOVE_DUPLICATES OC_CXX_FLAGS)
|
|
|
|
endif()
|
|
|
|
set(CMAKE_CXX_FLAGS "" CACHE STRING "C++ compiler flags" FORCE)
|
|
|
|
foreach(FLAG ${OC_CXX_FLAGS})
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAG}" CACHE STRING "C++ compiler flags" FORCE)
|
|
|
|
endforeach()
|
2010-10-22 19:19:49 +00:00
|
|
|
if(OC_CXX_FLAGS_DEBUG)
|
|
|
|
list(REMOVE_DUPLICATES OC_CXX_FLAGS_DEBUG)
|
|
|
|
endif()
|
2009-10-20 03:39:24 +00:00
|
|
|
set(CMAKE_CXX_FLAGS_DEBUG "" CACHE STRING "Flags used by the compiler during debug builds." FORCE)
|
|
|
|
foreach(FLAG ${OC_CXX_FLAGS_DEBUG})
|
|
|
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${FLAG}" CACHE STRING "Flags used by the compiler during debug builds." FORCE)
|
|
|
|
endforeach()
|
2012-06-08 11:18:58 +00:00
|
|
|
if(OC_EXE_LINKER_FLAGS)
|
|
|
|
list(REMOVE_DUPLICATES OC_EXE_LINKER_FLAGS)
|
|
|
|
endif()
|
|
|
|
set(CMAKE_EXE_LINKER_FLAGS "" CACHE STRING "Flags used by the linker." FORCE)
|
|
|
|
foreach(FLAG ${OC_EXE_LINKER_FLAGS})
|
|
|
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${FLAG}" CACHE STRING "Flags used by the linker." FORCE)
|
|
|
|
endforeach()
|
2011-08-19 13:50:40 +00:00
|
|
|
if(OC_EXE_LINKER_FLAGS_DEBUG)
|
2012-06-08 11:18:58 +00:00
|
|
|
list(REMOVE_DUPLICATES OC_EXE_LINKER_FLAGS_DEBUG)
|
2011-08-19 13:50:40 +00:00
|
|
|
endif()
|
|
|
|
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "" CACHE STRING "Flags used by the linker during debug builds." FORCE)
|
|
|
|
foreach(FLAG ${OC_EXE_LINKER_FLAGS_DEBUG})
|
|
|
|
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${FLAG}" CACHE STRING "Flags used by the linker during debug builds." FORCE)
|
|
|
|
endforeach()
|
2009-05-29 20:53:15 +00:00
|
|
|
|
2012-02-14 15:44:29 +00:00
|
|
|
############################################################################
|
|
|
|
# Some Xcode/OSX specific settings involving building with clang, precompiled headers...
|
|
|
|
############################################################################
|
|
|
|
|
|
|
|
if (APPLE)
|
2014-02-16 07:56:39 +00:00
|
|
|
|
2014-01-27 07:08:27 +00:00
|
|
|
# for good measure - seems to be part of default OSX installation
|
|
|
|
# linking with static freetype library requires it
|
|
|
|
target_link_libraries(openclonk "/usr/lib/libbz2.dylib")
|
|
|
|
|
2014-01-31 07:16:32 +00:00
|
|
|
set(HAVE_RVALUE_REF ON)
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -std=c++0x -g -Wall -fobjc-arc")
|
|
|
|
|
2014-01-29 19:37:24 +00:00
|
|
|
if(CMAKE_GENERATOR STREQUAL Xcode)
|
2014-02-16 07:56:39 +00:00
|
|
|
add_custom_command(TARGET openclonk
|
|
|
|
POST_BUILD COMMAND "/usr/bin/ruby" "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_bundle_libs"
|
|
|
|
)
|
2014-01-27 07:08:27 +00:00
|
|
|
set(CMAKE_XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER YES)
|
|
|
|
set(CMAKE_XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/src/C4Include.h")
|
|
|
|
set_target_properties(openclonk PROPERTIES XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER YES)
|
|
|
|
set_target_properties(openclonk PROPERTIES XCODE_ATTRIBUTE_GCC_PFE_FILE_C_DIALECTS "c++ objective-c++")
|
|
|
|
set_target_properties(openclonk PROPERTIES XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/src/C4Include.h")
|
|
|
|
set_target_properties(c4group PROPERTIES XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER YES)
|
|
|
|
set_target_properties(c4group PROPERTIES XCODE_ATTRIBUTE_GCC_PFE_FILE_C_DIALECTS "c++ objective-c++")
|
|
|
|
set_target_properties(c4group PROPERTIES XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/src/C4Include.h")
|
|
|
|
set_target_properties(libmisc PROPERTIES XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER YES)
|
|
|
|
set_target_properties(libmisc PROPERTIES XCODE_ATTRIBUTE_GCC_PFE_FILE_C_DIALECTS "c++ objective-c++")
|
|
|
|
set_target_properties(libmisc PROPERTIES XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/src/C4Include.h")
|
|
|
|
set_target_properties(openclonk PROPERTIES XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES)
|
2014-01-31 07:16:32 +00:00
|
|
|
|
2012-02-14 15:44:29 +00:00
|
|
|
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0")
|
|
|
|
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++0x")
|
|
|
|
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
|
2014-01-27 07:08:27 +00:00
|
|
|
set_target_properties(c4group PROPERTIES XCODE_ATTRIBUTE_GCC_PFE_FILE_C_DIALECTS "c++0x objective-c++0x")
|
|
|
|
set_target_properties(openclonk PROPERTIES XCODE_ATTRIBUTE_GCC_PFE_FILE_C_DIALECTS "c++0x objective-c++0x")
|
2012-02-14 15:44:29 +00:00
|
|
|
endif()
|
2011-03-12 21:01:23 +00:00
|
|
|
endif()
|
|
|
|
|
2009-10-20 03:39:24 +00:00
|
|
|
############################################################################
|
|
|
|
# Locate optional libraries (if so desired)
|
|
|
|
############################################################################
|
2010-10-04 22:14:07 +00:00
|
|
|
CHECK_INCLUDE_FILE_CXX(getopt.h HAVE_GETOPT_H)
|
|
|
|
if(NOT HAVE_GETOPT_H)
|
|
|
|
include_directories(thirdparty/getopt)
|
|
|
|
add_subdirectory(thirdparty/getopt)
|
2013-01-28 12:44:01 +00:00
|
|
|
target_link_libraries(openclonk getopt)
|
2010-10-06 20:21:09 +00:00
|
|
|
elseif(MINGW)
|
2011-05-12 15:13:38 +00:00
|
|
|
# Link libiberty which my contain getopt with mingw
|
|
|
|
FINDLIB(iberty_LIBRARIES iberty)
|
|
|
|
if(iberty_LIBRARIES)
|
2013-01-28 12:44:01 +00:00
|
|
|
target_link_libraries(openclonk iberty)
|
2011-05-12 15:13:38 +00:00
|
|
|
endif()
|
2010-10-04 22:14:07 +00:00
|
|
|
endif()
|
2010-09-22 15:11:19 +00:00
|
|
|
|
2011-01-02 00:20:52 +00:00
|
|
|
CHECK_INCLUDE_FILE_CXX(getopt.h HAVE_GETOPT_H)
|
|
|
|
|
2011-01-25 20:28:44 +00:00
|
|
|
# TinyXML
|
|
|
|
add_subdirectory(thirdparty/tinyxml)
|
2013-01-28 12:44:01 +00:00
|
|
|
target_link_libraries(openclonk tinyxml)
|
2011-01-25 20:28:44 +00:00
|
|
|
|
2011-10-03 11:09:51 +00:00
|
|
|
if(WIN32)
|
|
|
|
find_package(DbgHelp)
|
|
|
|
if(DBGHELP_FOUND)
|
2013-01-28 12:44:01 +00:00
|
|
|
target_link_libraries(openclonk ${DBGHELP_LIBRARIES})
|
2011-10-03 11:09:51 +00:00
|
|
|
include_directories(${DBGHELP_INCLUDE_DIR})
|
|
|
|
endif()
|
|
|
|
set(HAVE_DBGHELP ${DBGHELP_FOUND})
|
2011-01-02 00:20:52 +00:00
|
|
|
endif()
|
|
|
|
|
2013-10-29 13:27:18 +00:00
|
|
|
if(NOT USE_CONSOLE)
|
2009-05-29 20:53:15 +00:00
|
|
|
include(FindOpenGL)
|
2009-08-16 12:17:27 +00:00
|
|
|
FINDLIB(GLEW_LIBRARIES NAMES GLEW glew32 glew32s)
|
2010-04-18 20:02:01 +00:00
|
|
|
FIND_PATH(GLEW_INCLUDE_DIR NAMES GL/glew.h)
|
2013-01-28 12:44:01 +00:00
|
|
|
target_link_libraries(openclonk
|
2013-01-08 23:10:27 +00:00
|
|
|
${GLEW_LIBRARIES}
|
|
|
|
${OPENGL_LIBRARIES}
|
|
|
|
)
|
2010-04-18 20:02:01 +00:00
|
|
|
include_directories(${GLEW_INCLUDE_DIR})
|
2009-05-29 20:53:15 +00:00
|
|
|
endif()
|
2009-05-29 21:05:50 +00:00
|
|
|
if(USE_GTK)
|
2011-08-31 17:40:22 +00:00
|
|
|
SET(WITH_DEVELOPER_MODE ${GTK_FOUND})
|
|
|
|
SET(WITH_GLIB ${GTK_FOUND})
|
|
|
|
if(USE_GTK3)
|
2013-01-28 12:44:01 +00:00
|
|
|
target_link_libraries(openclonk
|
2013-01-09 21:54:12 +00:00
|
|
|
${GTK3_LIBRARIES}
|
|
|
|
)
|
2011-08-31 17:40:22 +00:00
|
|
|
else()
|
2013-01-28 12:44:01 +00:00
|
|
|
target_link_libraries(openclonk
|
2013-01-09 21:54:12 +00:00
|
|
|
${GTK_LIBRARIES}
|
|
|
|
)
|
2009-09-21 04:04:52 +00:00
|
|
|
endif()
|
|
|
|
endif()
|
2013-01-09 21:44:31 +00:00
|
|
|
if(MAPE_GTK_FOUND)
|
|
|
|
target_link_libraries(mape ${MAPE_GTK_LIBRARIES})
|
2009-05-29 21:05:50 +00:00
|
|
|
endif()
|
|
|
|
if(USE_X11)
|
2009-08-16 12:17:27 +00:00
|
|
|
FINDLIB(X11_LIBRARIES X11)
|
|
|
|
FINDLIB(XRANDR_LIBRARIES Xrandr)
|
2013-01-28 12:44:01 +00:00
|
|
|
target_link_libraries(openclonk
|
2013-01-08 23:10:27 +00:00
|
|
|
${X11_LIBRARIES}
|
|
|
|
${XRANDR_LIBRARIES}
|
|
|
|
)
|
2009-05-29 21:05:50 +00:00
|
|
|
endif()
|
2010-12-27 03:49:02 +00:00
|
|
|
if(USE_COCOA)
|
|
|
|
#stupid fix: just link to iconv that way
|
2013-01-28 12:44:01 +00:00
|
|
|
TARGET_LINK_LIBRARIES(openclonk "-framework Cocoa -framework AppKit -framework Quartz -framework OpenAL -framework AudioToolBox -liconv")
|
2010-12-27 03:49:02 +00:00
|
|
|
endif()
|
2009-05-29 21:05:50 +00:00
|
|
|
if (WIN32)
|
2010-01-07 13:30:45 +00:00
|
|
|
# CMake is too incompetent to check whether these libraries can be linked to
|
|
|
|
# So just pretend that everything is fine
|
2010-04-18 20:02:01 +00:00
|
|
|
FINDLIB(VFW32_LIBRARIES vfw32)
|
2011-05-12 15:13:38 +00:00
|
|
|
FINDLIB(wavifil32_LIBRARIES wavifil32)
|
2010-04-18 20:02:01 +00:00
|
|
|
if (VFW32_LIBRARIES)
|
2013-01-28 12:44:01 +00:00
|
|
|
target_link_libraries(openclonk vfw32)
|
2011-05-12 15:13:38 +00:00
|
|
|
set(HAVE_VFW32 TRUE)
|
|
|
|
elseif(wavifil32_LIBRARIES)
|
2013-01-28 12:44:01 +00:00
|
|
|
target_link_libraries(openclonk wavifil32 msvfw32)
|
2011-05-12 15:13:38 +00:00
|
|
|
set(HAVE_VFW32 TRUE)
|
2010-04-18 20:02:01 +00:00
|
|
|
endif()
|
|
|
|
|
2013-01-28 12:44:01 +00:00
|
|
|
target_link_libraries(openclonk ws2_32 winmm)
|
2010-01-07 13:30:45 +00:00
|
|
|
target_link_libraries(c4group ws2_32)
|
2011-01-25 17:56:40 +00:00
|
|
|
target_link_libraries(netpuncher ws2_32 winmm)
|
2011-03-07 19:53:13 +00:00
|
|
|
target_link_libraries(c4script ws2_32 winmm)
|
2013-01-20 19:36:51 +00:00
|
|
|
if(MAPE_GTK_FOUND)
|
|
|
|
target_link_libraries(mape winmm)
|
|
|
|
endif()
|
2009-05-29 20:53:15 +00:00
|
|
|
|
2010-12-27 03:49:02 +00:00
|
|
|
if(NOT USE_OPEN_AL)
|
2011-10-28 21:49:11 +00:00
|
|
|
find_package(FMod)
|
|
|
|
if(FMOD_FOUND)
|
2010-12-27 03:49:02 +00:00
|
|
|
set(HAVE_FMOD TRUE)
|
2013-01-28 12:44:01 +00:00
|
|
|
target_link_libraries(openclonk
|
2013-01-09 21:54:12 +00:00
|
|
|
${FMOD_LIBRARIES}
|
|
|
|
)
|
2011-10-28 21:49:11 +00:00
|
|
|
include_directories(${FMOD_INCLUDE_DIR})
|
2010-04-18 19:38:17 +00:00
|
|
|
else()
|
2010-12-27 03:49:02 +00:00
|
|
|
set(HAVE_FMOD FALSE)
|
2010-04-18 19:38:17 +00:00
|
|
|
endif()
|
2009-07-11 17:44:14 +00:00
|
|
|
endif()
|
2013-03-09 13:58:30 +00:00
|
|
|
else()
|
|
|
|
SET(HAVE_FMOD FALSE)
|
2009-07-11 01:14:57 +00:00
|
|
|
endif()
|
2011-01-25 17:56:40 +00:00
|
|
|
if(NOT HAVE_FMOD AND NOT USE_OPEN_AL OR USE_SDL_MAINLOOP AND NOT USE_OPEN_AL)
|
2009-11-02 13:18:47 +00:00
|
|
|
include(FindSDL)
|
|
|
|
SET(HAVE_SDL ${SDL_FOUND})
|
|
|
|
if(SDL_FOUND)
|
|
|
|
include_directories(${SDL_INCLUDE_DIR})
|
2014-04-21 16:06:02 +00:00
|
|
|
FINDLIB(SDLMIXER_LIBRARIES SDL_mixer)
|
|
|
|
if(SDLMIXER_LIBRARIES)
|
2009-11-02 13:18:47 +00:00
|
|
|
SET(HAVE_LIBSDL_MIXER ON)
|
|
|
|
endif()
|
2013-01-28 12:44:01 +00:00
|
|
|
target_link_libraries(openclonk
|
2013-01-09 21:54:12 +00:00
|
|
|
${SDL_LIBRARY}
|
|
|
|
${SDLMIXER_LIBRARIES}
|
|
|
|
)
|
2009-07-12 16:46:54 +00:00
|
|
|
endif()
|
2009-05-29 21:05:50 +00:00
|
|
|
endif()
|
2009-07-12 16:46:54 +00:00
|
|
|
|
2012-01-21 01:04:14 +00:00
|
|
|
if(HAVE_UPNP)
|
|
|
|
include_directories(${UPNP_INCLUDE_DIR})
|
2013-01-28 12:44:01 +00:00
|
|
|
target_link_libraries(openclonk ${UPNP_LIBRARIES})
|
2009-09-21 04:04:52 +00:00
|
|
|
endif()
|
|
|
|
|
2013-10-29 15:27:27 +00:00
|
|
|
if(USE_BOOST_REGEX)
|
2014-02-06 21:08:15 +00:00
|
|
|
SET(Boost_USE_STATIC_LIBS ${USE_STATIC_BOOST})
|
2013-10-29 15:27:27 +00:00
|
|
|
find_package(Boost 1.40.0 REQUIRED COMPONENTS regex)
|
|
|
|
# Disable automatic linking, we'll do it ourselves
|
|
|
|
add_definitions(-DBOOST_REGEX_NO_LIB)
|
|
|
|
target_link_libraries(libc4script ${Boost_REGEX_LIBRARY})
|
|
|
|
target_link_libraries(c4group ${Boost_REGEX_LIBRARY})
|
|
|
|
endif()
|
|
|
|
|
2013-01-28 15:48:04 +00:00
|
|
|
add_subdirectory(tests EXCLUDE_FROM_ALL)
|
2009-09-20 20:03:44 +00:00
|
|
|
|
2009-05-29 20:53:15 +00:00
|
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
2009-07-11 01:14:57 +00:00
|
|
|
|
2012-05-01 15:24:07 +00:00
|
|
|
# CMake support for MSVC 2010 is broken. Change the .sln file to avoid
|
|
|
|
# millions of "reload X project?" dialog boxes.
|
|
|
|
# For best results, also change CMake's ReloadProjects macro to only
|
|
|
|
# call StopBuild().
|
|
|
|
if(MSVC_VERSION EQUAL 1600)
|
|
|
|
file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}.sln" "\n# reload me\n")
|
|
|
|
endif()
|
|
|
|
|
2014-03-25 18:11:22 +00:00
|
|
|
############################################################################
|
|
|
|
# Precompiled header support, gcc part (it needs the cxx flags)
|
|
|
|
############################################################################
|
|
|
|
|
|
|
|
if(CMAKE_COMPILER_IS_GNUCXX)
|
|
|
|
include(GccPchSupport)
|
2014-04-02 18:52:31 +00:00
|
|
|
option(USE_GCC_PCH "Use GCC precompiled headers" OFF)
|
2014-03-25 18:11:22 +00:00
|
|
|
endif()
|
|
|
|
if(USE_GCC_PCH)
|
|
|
|
add_precompiled_header(libmisc src/C4Include.h)
|
|
|
|
add_precompiled_header(libc4script src/C4Include.h)
|
|
|
|
add_precompiled_header(openclonk src/C4Include.h)
|
|
|
|
endif()
|
|
|
|
|
2010-08-03 15:59:36 +00:00
|
|
|
############################################################################
|
|
|
|
# installation
|
|
|
|
############################################################################
|
2013-03-09 13:58:30 +00:00
|
|
|
# Don't allow installation for WITH_AUTOMATIC_UPDATE because otherwise
|
2012-02-03 22:43:18 +00:00
|
|
|
# the installed binary wouldn't find its game data in the system data path.
|
|
|
|
IF(WITH_AUTOMATIC_UPDATE)
|
|
|
|
INSTALL(CODE "MESSAGE(SEND_ERROR \"Installation is only supported for WITH_AUTOMATIC_UPDATE disabled\")")
|
|
|
|
ENDIF()
|
2009-05-29 20:53:15 +00:00
|
|
|
|
2012-05-03 19:47:14 +00:00
|
|
|
# hack to build the data on install, see
|
|
|
|
# http://public.kitware.com/Bug/view.php?id=8438
|
|
|
|
add_custom_target(data)
|
|
|
|
install(
|
|
|
|
CODE
|
|
|
|
"execute_process(
|
|
|
|
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target data
|
2013-03-09 16:45:27 +00:00
|
|
|
)"
|
|
|
|
)
|
2012-05-03 19:47:14 +00:00
|
|
|
|
2014-01-29 12:14:13 +00:00
|
|
|
if (NOT APPLE)
|
|
|
|
add_custom_target(icon32 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src/res/oc32.png)
|
|
|
|
add_custom_target(icon64 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src/res/oc64.png)
|
|
|
|
add_custom_target(icon128 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src/res/oc128.png)
|
|
|
|
add_custom_target(icon256 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src/res/oc256.png)
|
|
|
|
add_custom_target(icon512 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src/res/oc512.png)
|
|
|
|
add_dependencies(data icon32 icon64 icon128 icon256 icon512)
|
|
|
|
install(
|
|
|
|
FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/res/oc32.png
|
|
|
|
DESTINATION share/icons/hicolor/32x32/apps
|
|
|
|
RENAME openclonk.png
|
|
|
|
)
|
|
|
|
install(
|
|
|
|
FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/res/oc64.png
|
|
|
|
DESTINATION share/icons/hicolor/64x64/apps
|
|
|
|
RENAME openclonk.png
|
|
|
|
)
|
|
|
|
install(
|
|
|
|
FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/res/oc128.png
|
|
|
|
DESTINATION share/icons/hicolor/128x128/apps
|
|
|
|
RENAME openclonk.png
|
|
|
|
)
|
|
|
|
install(
|
|
|
|
FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/res/oc256.png
|
|
|
|
DESTINATION share/icons/hicolor/256x256/apps
|
|
|
|
RENAME openclonk.png
|
|
|
|
)
|
|
|
|
install(
|
|
|
|
FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/res/oc512.png
|
|
|
|
DESTINATION share/icons/hicolor/512x512/apps
|
|
|
|
RENAME openclonk.png
|
|
|
|
)
|
|
|
|
endif()
|
2010-08-03 15:59:36 +00:00
|
|
|
|
2014-02-07 14:52:13 +00:00
|
|
|
# NOTE: The scripts that does the autobuilds and ultimately the automated
|
|
|
|
# releases as well do keep their own list of group files around currently.
|
|
|
|
# So if you change anything here, change it in the release scripts as well.
|
|
|
|
# See openclonk-release-scripts.git/groupcontent.py
|
2011-10-11 16:59:58 +00:00
|
|
|
set(OC_C4GROUPS
|
|
|
|
Graphics.ocg
|
|
|
|
Material.ocg
|
|
|
|
Music.ocg
|
|
|
|
Sound.ocg
|
|
|
|
System.ocg
|
|
|
|
Objects.ocd
|
2014-05-12 07:26:24 +00:00
|
|
|
Decoration.ocd
|
2012-10-10 19:28:25 +00:00
|
|
|
Arena.ocf
|
|
|
|
Parkour.ocf
|
2013-10-05 15:39:14 +00:00
|
|
|
Missions.ocf
|
2011-10-11 16:59:58 +00:00
|
|
|
Tutorial.ocf
|
2013-10-05 09:58:43 +00:00
|
|
|
Worlds.ocf
|
2011-10-11 16:59:58 +00:00
|
|
|
)
|
|
|
|
|
2011-09-20 17:43:22 +00:00
|
|
|
foreach(group ${OC_C4GROUPS})
|
2011-10-09 16:09:48 +00:00
|
|
|
if (APPLE)
|
2014-01-27 07:08:27 +00:00
|
|
|
if (CMAKE_GENERATOR STREQUAL Xcode)
|
|
|
|
add_custom_command(TARGET openclonk
|
|
|
|
POST_BUILD COMMAND "/bin/sh" "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_pack_gamedata.sh"
|
2014-04-21 15:12:59 +00:00
|
|
|
"$<TARGET_FILE:c4group>"
|
2014-01-27 07:08:27 +00:00
|
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}"
|
|
|
|
# leave out third parameter here so the script can figure out Xcode-ish paths as usual
|
|
|
|
DEPENDS c4group
|
2011-10-09 16:09:48 +00:00
|
|
|
)
|
2014-01-27 07:08:27 +00:00
|
|
|
else()
|
|
|
|
add_custom_command(TARGET openclonk
|
|
|
|
POST_BUILD COMMAND "/bin/sh" "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_pack_gamedata.sh"
|
2014-04-21 15:12:59 +00:00
|
|
|
"$<TARGET_FILE:c4group>"
|
2014-01-27 07:08:27 +00:00
|
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}"
|
|
|
|
"${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources"
|
|
|
|
DEPENDS c4group
|
|
|
|
)
|
|
|
|
endif()
|
2011-10-09 16:09:48 +00:00
|
|
|
else()
|
2012-05-03 19:47:14 +00:00
|
|
|
add_custom_command(
|
|
|
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${group}
|
|
|
|
COMMAND c4group ARGS "${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}" -t "${CMAKE_CURRENT_BINARY_DIR}/${group}"
|
|
|
|
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}
|
|
|
|
DEPENDS c4group
|
|
|
|
VERBATIM
|
2014-01-27 07:08:27 +00:00
|
|
|
)
|
2012-10-21 13:03:24 +00:00
|
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${group} DESTINATION share/games/openclonk)
|
2011-10-09 16:09:48 +00:00
|
|
|
endif()
|
2009-07-12 16:46:54 +00:00
|
|
|
endforeach()
|
2014-01-29 12:14:13 +00:00
|
|
|
|
2012-05-03 19:47:14 +00:00
|
|
|
if (NOT APPLE)
|
|
|
|
add_custom_target(groups DEPENDS ${OC_C4GROUPS})
|
|
|
|
add_dependencies(data groups)
|
2014-01-29 12:14:13 +00:00
|
|
|
|
|
|
|
# Install new files
|
|
|
|
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/openclonk.desktop DESTINATION share/applications)
|
2011-10-12 18:59:28 +00:00
|
|
|
|
2014-01-29 12:14:13 +00:00
|
|
|
# Install binaries
|
2014-05-27 00:53:59 +00:00
|
|
|
install(TARGETS openclonk DESTINATION games)
|
|
|
|
install(TARGETS c4group DESTINATION bin)
|
2014-01-29 12:14:13 +00:00
|
|
|
else()
|
|
|
|
install(TARGETS openclonk
|
|
|
|
BUNDLE DESTINATION .
|
|
|
|
)
|
|
|
|
install(TARGETS c4group c4script
|
|
|
|
RUNTIME DESTINATION .
|
|
|
|
)
|
|
|
|
endif()
|
2011-10-12 18:59:28 +00:00
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# setup_openclonk.exe
|
|
|
|
############################################################################
|
|
|
|
|
2011-09-21 20:25:33 +00:00
|
|
|
find_program(MAKENSIS makensis PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\NSIS])
|
|
|
|
|
2011-09-20 17:43:22 +00:00
|
|
|
add_custom_command(
|
2011-09-21 20:25:33 +00:00
|
|
|
OUTPUT setup_openclonk.exe
|
2014-04-21 15:12:59 +00:00
|
|
|
COMMAND ${MAKENSIS} -NOCD -DSRCDIR=${CMAKE_CURRENT_SOURCE_DIR} -DPROGRAMFILES=$PROGRAMFILES "-DPRODUCT_NAME=${C4ENGINENAME}${C4VERSIONBUILDNAME}" "-DPRODUCT_COMPANY=${C4PROJECT}" "-DCLONK=$<TARGET_FILE_DIR:openclonk>\\$<TARGET_FILE_NAME:openclonk>" "-DC4GROUP=$<TARGET_FILE_DIR:c4group>\\$<TARGET_FILE_NAME:c4group>" ${CMAKE_CURRENT_SOURCE_DIR}/tools/install/oc.nsi "-XOutFile setup_openclonk.exe"
|
2011-11-05 22:07:11 +00:00
|
|
|
MAIN_DEPENDENCY
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/oc.nsi
|
|
|
|
DEPENDS
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/header.bmp
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/inst.ico
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/uninst.ico
|
2013-01-28 12:44:01 +00:00
|
|
|
${OC_C4GROUPS} openclonk c4group
|
2011-09-21 20:25:33 +00:00
|
|
|
VERBATIM
|
2011-09-20 17:43:22 +00:00
|
|
|
)
|
|
|
|
|
2011-09-21 20:25:33 +00:00
|
|
|
add_custom_target(setup
|
2013-03-09 16:45:27 +00:00
|
|
|
DEPENDS setup_openclonk.exe groups
|
2011-09-21 20:25:33 +00:00
|
|
|
)
|
2011-09-20 17:43:22 +00:00
|
|
|
|
2010-08-03 15:59:36 +00:00
|
|
|
############################################################################
|
|
|
|
# CPack support
|
|
|
|
############################################################################
|
2010-12-30 00:21:07 +00:00
|
|
|
set(CPACK_PACKAGE_NAME "openclonk")
|
2010-08-03 15:59:36 +00:00
|
|
|
set(CPACK_PACKAGE_VENDOR "${C4PROJECT_URL}")
|
2010-12-30 00:21:07 +00:00
|
|
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenClonk - A game mix out of tactic, strategy and Jump & Run")
|
2010-08-03 15:59:36 +00:00
|
|
|
set(CPACK_PACKAGE_VERSION "${C4XVER1}.${C4XVER2}.${C4XVER3}")
|
|
|
|
set(CPACK_PACKAGE_VERSION_MAJOR "${C4XVER1}")
|
|
|
|
set(CPACK_PACKAGE_VERSION_MINOR "${C4XVER2}")
|
2010-12-30 00:21:07 +00:00
|
|
|
set(CPACK_PACKAGE_VERSION_PATCH "${C4XVER3}")
|
|
|
|
set(CPACK_PACKAGE_FILE_NAME "openclonk-${C4XVER1}.${C4XVER2}.${C4XVER3}")
|
2010-08-03 15:59:36 +00:00
|
|
|
set(CPACK_SOURCE_PACKAGE_FILE_NAME "openclonk-src-${C4XVER1}.${C4XVER2}.${C4XVER3}")
|
|
|
|
set(CPACK_SOURCE_GENERATOR "TGZ;ZIP")
|
|
|
|
# Somebody who uses Debian/Ubuntu should set this
|
2011-01-10 20:30:40 +00:00
|
|
|
#set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libgcc1, libx11, libXrandr, libXpm, libGLEW, libGL, libpng, libSDL-1.2, libSDL_mixer-1.2, gtk2, libjpeg, zlib")
|
2010-08-03 15:59:36 +00:00
|
|
|
set(CPACK_RPM_PACKAGE_LICENSE "MIT")
|
2011-01-10 20:30:40 +00:00
|
|
|
set(CPACK_RPM_PACKAGE_REQUIRES "libc6, libgcc1, libx11, libXrandr, libXpm, libGLEW, libGL, libpng, libSDL-1.2, libSDL_mixer-1.2, gtk2, libjpeg, zlib")
|
2010-08-03 15:59:36 +00:00
|
|
|
|
2010-12-30 00:21:07 +00:00
|
|
|
include(CPack)
|