Commit graph

459 commits

Author SHA1 Message Date
heinrich5991 52e42c2f74 Add CMake config option PREFER_BUNDLED_LIBS
This makes CMake look at the provided libraries before considering
system libraries. Enable this by default on Windows.

Fixes #830.
2017-07-31 18:30:24 +02:00
def cb6158dd6a safeseh:no only for msvc 2017-07-30 14:35:06 +02:00
heinrich5991 83742a98ca List all source files instead of globbing them in CMakeLists.txt
This seems to be wanted by CMake, it results in never having to re-run
`cmake`.

See e.g. https://stackoverflow.com/a/18538444/870079.
2017-07-30 11:41:52 +02:00
Learath2 4622ab4cb6 Merge pull request #814 from heinrich5991/pr_ddnet_fix_cmake_mac
Fix the CMake Mac build
2017-07-30 11:38:12 +02:00
heinrich5991 6247aa0c7f Enable -Wextra and -Wformat=2
Also annotate `dbg_msg`, `str_format` and `str_timestamp_ex` so that the
compiler can determine whether the format strings are correct.

Fix the compiler warnings generated by these extra warnings -- some of
them were security issues.
2017-07-27 20:38:17 +02:00
heinrich5991 fd8bccb0f4 Fix the CMake Mac build
Fixes #805.
2017-07-26 04:30:56 +02:00
def 3de72f66e3 mysql needs CONF_SQL defined everywhere 2017-07-23 01:36:36 +02:00
def 46f30a2fc1 Fix mysql cmake build 2017-07-22 21:53:55 +02:00
def 8e4a4d673f New Windows MSVC try 2017-07-22 11:46:43 +02:00
def 39b0c9282f SAFESEH:NO 2017-07-22 09:59:27 +02:00
def 8082a461ce Windows linker fix 2017-07-22 00:27:52 +02:00
def 609adcfe8c Windows linker fix 2017-07-22 00:20:29 +02:00
def 6b9386ce86 Windows compiler fix 2017-07-22 00:02:00 +02:00
def 0db98b218b Fix icons 2017-07-21 23:54:58 +02:00
def a7439af1ff Syntax 2017-07-21 23:12:07 +02:00
def 6a76bf9b73 Add some debugging to cmake 2017-07-21 23:06:07 +02:00
def 41d9de997c ddnet-libs submodule and some fixes 2017-07-20 23:07:15 +02:00
def 2365958227 Fix cmake build of map_extract 2017-06-12 21:23:45 +02:00
heinrich5991 743c58e4ae Revert "Fix OSX cmake build"
This reverts commit 3406f01ff9.
2017-06-09 19:34:01 +02:00
Learath2 3406f01ff9 Fix OSX cmake build
A little crude but it works.
2017-06-09 16:05:04 +02:00
heinrich5991 5ae37e6c72 Add protocol extension with UUIDs
This system can easily be extended by independent authors without
collisions, something the old system with plain increasing integers did
not allow.

Do this by utilizing the previously unused message code `NETMSG_NULL`
which has a value of 0.

This works for engine and game messages, snapshot items and events.
2017-05-25 00:52:43 +02:00
heinrich5991 713b3db4a2 CMakeLists.txt: Make the versionsrv's dependency on nethash.cpp explicit 2017-03-28 12:50:19 +02:00
Dennis Felsing 90b51d140a Merge pull request #688 from heinrich5991/pr_ddnet_cmake_client_link_order
Fix link order for the client libraries
2017-03-20 08:29:30 +01:00
heinrich5991 d52870cb35 Remove GREATER_EQUAL (introduced in CMake 3.7) 2017-03-19 17:18:17 +01:00
heinrich5991 57009f6467 Generator expressions using COMPILE_LANGUAGE are only available from 3.3 2017-03-19 17:18:17 +01:00
heinrich5991 efb43ddff8 Remove usages of target_sources
This command would require CMake 3.1.
2017-03-19 17:18:17 +01:00
heinrich5991 5eb2068f75 Check if -fstack-protector-all works before using it
MinGW apparantly accepts this flag, but can't successfully link
afterwards.
2017-03-18 11:55:50 +01:00
heinrich5991 d10ab196f5 Fix link order for the client libraries
Fixes #686.
2017-03-18 01:20:55 +01:00
heinrich5991 5b8052ff9d CMakeLists.txt: Check for _FORTIFY_SOURCE defines even harder 2017-03-13 16:45:27 +01:00
Redix 50be0ab7cf Use static CRT on windows 2017-03-12 17:41:57 +01:00
Redix 2b91785415 Use multiple cores in MSVC 2017-03-12 17:28:42 +01:00
Redix dfdd08ae7a Disable some warnings on win64 2017-03-12 17:28:40 +01:00
Redix 3911504bd9 Minor cmake fixes
zlib is already included in DEPS_CLIENT
2017-03-12 16:19:23 +01:00
Redix 8b418292c2 Fix typo in CMakeLists.txt 2017-03-12 15:56:44 +01:00
heinrich5991 253857e236 CMakeLists.txt: Create the generated source directory
Problem was reported on IRC, in #teeworlds on Quakenet.
2017-03-11 13:25:52 +01:00
heinrich5991 fad7989243 CMakeLists.txt: Check for _FORTIFY_SOURCE before defining it 2017-03-07 16:47:27 +01:00
heinrich5991 51b4a793b8 CMakeLists.txt: Add icon to DDNet executable on Windows 2017-03-07 15:32:11 +01:00
heinrich5991 a6983d329c CMakeLists.txt: Copy over data files and DLLs 2017-03-07 15:24:08 +01:00
heinrich5991 4389737288 CMakeLists.txt: Handle the static library case on Linux 2017-03-07 13:39:23 +01:00
heinrich5991 d98abf35db Rename WEBSOCKETS to CONF_WEBSOCKETS 2017-03-07 13:03:37 +01:00
heinrich5991 c201d7959c Enable -Wdeclaration-after-statement for compat with MSVC 2017-03-07 13:02:37 +01:00
heinrich5991 0d342f139c CMakeLists.txt: Add tools target 2017-03-03 15:23:18 +01:00
heinrich5991 9b0561bbc0 CMakeLists.txt: Add some EXCLUDE_FROM_ALL 2017-03-03 15:17:12 +01:00
heinrich5991 e6dcd94fc4 CMakeLists.txt: Fix Windows build and ignore some more warnings 2017-03-03 15:10:21 +01:00
heinrich5991 8407416042 CMakeLists.txt: Move everything to target_* commands 2017-03-03 15:04:13 +01:00
heinrich5991 0fb13159d5 CMakeLists.txt: Squelch some warnings on Windows 2017-03-03 13:39:06 +01:00
heinrich5991 254793604c CMakeLists.txt: Group sources by directory in MSVC 2017-03-03 13:29:35 +01:00
heinrich5991 1157a9a835 CMakeLists.txt: Windows support? 2017-03-03 12:23:51 +01:00
heinrich5991 a7e68fbf1b CMakeLists.txt: Fix a couple of uninitialized variables 2017-03-03 12:23:51 +01:00
heinrich5991 98f3c82c29 CMakeLists.txt: Fix SQL config 2017-03-03 12:23:51 +01:00
heinrich5991 1c7be368f6 CMakeLists.txt: Make external dependencies to OBJ libs 2017-03-03 12:23:51 +01:00
heinrich5991 e3839e4bf2 CMakeLists.txt: Build tools 2017-03-03 12:23:51 +01:00
heinrich5991 6bf0862c30 Use add_library(... OBJECT ...) for internal targets
Also add a few smaller targets: mastersrv, twping, versionsrv.
2017-03-03 12:23:51 +01:00
heinrich5991 6980bb7b02 Improve the CMakeLists.txt to search for the bundled libs 2017-03-03 12:23:51 +01:00
heinrich5991 4912312fb9 Make dependency errors less fatal, to show all of them at once 2017-02-23 16:29:13 +01:00
necropotame 2815a7e042 Cleanup, better separation between each part, more options, check for missing dependencies 2017-02-23 16:27:33 +01:00
necropotame 8c7608f1bb Set the default build type to 'Release' 2017-02-23 16:23:16 +01:00
necropotame eff3ca8bf3 Change CMake required version from 3.7 to 2.8 2017-02-23 16:23:16 +01:00
heinrich5991 5d61aa0b6e Add CMakeLists.txt that work on my machine
It probably doesn't work on Windows, at least.
2017-02-23 14:16:32 +01:00