1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-28 23:06:24 +02:00
Commit Graph

200 Commits

Author SHA1 Message Date
Andrey Filipenkov
4058c2c18a model implicit ERM -> LUA dependency 2022-09-21 19:31:42 +03:00
Andrey Filipenkov
f54f8022e2 disable scripting modules by default 2022-09-21 19:31:42 +03:00
Andrey Filipenkov
e85f8a56bb make FFmpeg dependency optional 2022-09-18 09:25:10 +03:00
nordsoft
0b9f601d2c Squashing editor 2022-09-18 03:23:17 +04:00
Nordsoft91
99a9680f62 Final preparations for merge into develop (#780)
* version updated, change log updated from release draft
* horse sounds for terrains
* Update and freeze essential files
2022-09-11 11:31:27 +03:00
Andrey Filipenkov
d7650ce9c0
use Conan to make macOS CI builds for both Intel and ARM (#782)
* [CI] append platform to output artifact name if it's given
2022-08-30 17:29:00 +03:00
Andrey Filipenkov
37f56e075a specify that update_version target produces file Version.cpp
without it Xcode's new build system complains that Version.cpp doesn't exist and building freezes
2022-07-21 17:24:43 +03:00
Soar Qin
188607b05f Replace cotire with CMake builtin precompiled headers support (Requires CMake version >= 3.16) 2022-06-17 17:20:08 +03:00
Soar Qin
c87df8e704
Fix warnings/errors on MSVC (#753)
* Fix warnings/errors on MSVC
1. update googletest to tag release-1.11.0 to make googletest and
   googlemock compile on MSVC2022.
2. set gtest_force_shared_crt to ON in test cmake project to make tests
   compile on MSVC.
3. add /wd4251 and /wd4275 to MSVC compile flags to ignore DLL related
   warnings for class exports.
4. fix some other warnings and errors while compiling on MSVC2022.
2022-06-11 18:45:34 +03:00
Konstantin
1a6ee0d697
Launcher: Qt6 support. Qt 5.12 required (#746)
* Launcher: Qt6 support. Qt 5.12 required
2022-05-28 16:32:20 +03:00
Konstantin
8fc14369a4
CMake presets. (#744)
* CI: use single build action
* CMake: use imported targets
* CI: do not build boost for linux
* CMake: add FORCE_BUNDLED_MINIZIP option
* linux: use external minizip and fuzzylite
* CMake: add presets
* .gitignore: ignore cmake build dirs
* github: use cmake presets
2022-05-26 08:55:20 +03:00
Konstantin
c6b198ce14
Warning fix (I moved C++17 and CI to another branch) (#739)
* clang warning fixes
* use CMake 3.10 due to MXE CI does not have 3.13 yet

Co-authored-by: Konstantin <rilian@niisi.ras.ru>
2022-05-19 15:14:50 +03:00
Andrii Danylchenko
27b3a88dda Replace App Veyor 2021-08-21 09:32:52 +03:00
Andrii Danylchenko
b4241670ba Nullkiller: rename VCAI to AIGateway 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
9c8d776398 Merge branch 'develop' into handlersAbstraction
# Conflicts:
#	CI/linux/before_install.sh
#	CI/mac/before_install.sh
#	CI/mxe/before_install.sh
#	lib/CModHandler.cpp
#	lib/mapObjects/CObjectClassesHandler.cpp
#	lib/mapObjects/CObjectClassesHandler.h
#	lib/mapObjects/CommonConstructors.cpp
#	server/CGameHandler.cpp
#	test/CMakeLists.txt
#	test/spells/effects/TeleportTest.cpp
2021-07-16 00:32:13 +03:00
Andrii Danylchenko
6d8373a473 Configure github actions 2021-07-13 14:56:35 +01:00
AlexVinS
ecaa9f5d0b Entities redesign and a few ERM features
* Made most Handlers derived from CHandlerBase and moved service API there.
* Declared existing Entity APIs.
* Added basic script context caching
* Started Lua script module
* Started Lua spell effect API
* Started script state persistence
* Started battle info callback binding
* CommitPackage removed
* Extracted spells::Caster to own header; Expanded Spell API.
* implemented !!MC:S, !!FU:E, !!FU:P, !!MA, !!VR:H, !!VR:C
* !!BU:C, !!BU:E, !!BU:G, !!BU:M implemented
* Allow use of "MC:S@varName@" to declare normal variable (technically v-variable with string key)
* Re-enabled VERM macros.
* !?GM0 added
* !?TM implemented
* Added !!MF:N
* Started !?OB, !!BM, !!HE, !!OW, !!UN
* Added basic support of w-variables
* Added support for ERM indirect variables
* Made !?FU regular trigger
* !!re (ERA loop receiver) implemented
* Fixed ERM receivers with zero args.
2021-02-14 19:05:43 +03:00
John Bolton
c61bae4060 Fixed RETURN_IF_BATTLE(). Undid disabled warnings. Fixed indentation. 2020-10-05 16:28:28 -07:00
John Bolton
a05ae78e67 Fixed lots of warnings.
Disabled the following (for MSVC only) that couldn't (or shouldn't) be fixed.

4003: not enough actual parameters for macro 'identifier'
4250: 'class1' : inherits 'class2::member' via dominance
4251: 'type' : class 'type1' needs to have dll-interface to be used by clients of class 'type2'
4275: non dll-interface class 'type1' used as base for dll-interface class 'type2'
2020-10-04 02:20:18 -07:00
laikh
92e3eb38e7 Fix bcrypt dependency for MINGW build 2020-07-05 21:10:29 +08:00
Michał Kalinowski
ec536e613c CMake more transitive
-Moving AIs cmake to target focusing code
-Beign explicit when link libraries
2019-03-28 16:56:51 +03:00
Alexander Shishkin
b00e935e4d
Warnings fixes (#538)
Warnings fixes
* Suppress `missing-braces` for Clang
* Fixed many C4275 warnings
* Fixed almost all Clang/GCC warnings
* Silence most frequent MSVC warning.
* Fixed some pessimizing-move warnings
* Fixed some unused capture warnings
2019-01-19 13:52:02 +03:00
Arseniy Shestakov
edcaaf036a MSVC: fixes for compatibility with latest Vcpkg packages 2018-08-27 22:19:11 +03:00
AlexVinS
ac293fb592 Disabled tests build until linking of tests broken by #467 merge will be fixed 2018-07-29 23:38:43 +03:00
karliss
ad2c429d8f CMake: unittest improvements (#447)
* Convert TestConfig to proper test environment.
* Copy test data to build directory.
* Get test recognized by ctest, but disable gtest discovery. Allowing ctest to run each test individually isn't currently practical because it is 50 times slower.
2018-04-15 18:02:31 +07:00
Arseniy Shestakov
66e9db4bc3 CMake: extend linker workaround for all MSVC versions for now.
Debug builds in MSVS 2017 are also affected.

32-bit Release builds in MSVS 2015 are probably affected as well.
Though in that case problem only appear for vcmitest, but not client.
2018-03-29 11:05:48 +07:00
Arseniy Shestakov
8577bba417 CMake: add workaround for Visual Studio 2015 linking issue
I tried to workaround it in code, but completely failed that.
So for now we'll just tell linker to ignore multiple definitions.
2018-03-29 02:02:00 +07:00
Arseniy Shestakov
e48797f7e8 CMake: enable /MP flag by default for Visual Studio solution
Can be toggled with ENABLE_MULTI_PROCESS_BUILDS option to CMake
2018-02-28 22:30:31 +08:00
Arseniy Shestakov
734441eb3b CMake: use CMAKE_DL_LIBS on Linux for linking with GNU gold
Gold only link what explicitly specified and we use dlopen.
2018-02-18 15:15:19 +08:00
Ivan Romanov
3c1c72319b CMake: update version on each compiling 2018-02-11 13:52:29 +03:00
Arseniy Shestakov
940c8a0b82 CMake: add $ORIGIN into RPATH for single-directory installation
End up that single-directory installation is useful for Snap package.
2017-09-08 03:43:44 +03:00
Arseniy Shestakov
610740011c CMake: print useful debug information on every build
That way we don't need to ask more questions regarding system where build failed.
2017-09-06 13:15:49 +03:00
Arseniy Shestakov
8180e4d5c5 VCMIDirs: improvements for development on Mac and Linux
Also added /usr/share/games in VCMIDirsXDG::dataPaths for mantis#2189.
2017-08-25 08:43:27 +03:00
Arseniy Shestakov
dfe781945b CMake: try to enable automated DS_Store generation for Mac
We should see in AppleScript from CMake would work on Travis CI.
Also use VCMI as volume name of DMG for now and update pre-generated DS_Store for it.
2017-08-21 17:04:53 +03:00
Dydzio
906bd7fc71 Fix CMake MSVS build problem (#366)
* Fix CMake MSVS 2015 boost linking problem
Same errors as here when building vcmi client and server: https://stackoverflow.com/questions/27196312/boost-1-57-0-program-options-msvs-2013-linker-error
Fix based on: https://groups.google.com/forum/#!topic/boost-list/Lhqvoet8N18

* Compile fix for VS 2017.3 due to incompatibility with variadic templates in Boost

https://developercommunity.visualstudio.com/content/problem/69009/compilation-error-on-msvc2015-on-boostbase-from-me.html
2017-08-18 23:11:11 +03:00
Arseniy Shestakov
5fce56d23e CMake: add ENABLE_DEBUG_CONSOLE option for Windows enabled by default
For now we'll keep console, but in future we need a way to toggle it at runtime.
2017-08-16 23:45:38 +03:00
Arseniy Shestakov
03c7bf5ee6 CMake: installer building improvements for Windows
- Implement support for BundleUtilities when Vcpkg is used
- Add some hacky code to copy Qt plugins install directory
- Use same icon for launcher as used for VCMI, launcher one is ugly
2017-08-16 18:34:46 +03:00
Arseniy Shestakov
adbfa09e31 CMake: restore some of old MinGW code and improve ENABLE_PCH option
- MinGW: restore DLL deploy for MXE builds
- MinGW: restore linking options for: dbghelp, mswsock, iconv, etc
- MinGW: build with -Og when Debug is used to avoid crashes / freezes
- Cotire: when ENABLE_PCH is OFF we won't include Cotire at all
- FuzzyLite: enable FORCE_BUNDLED_FL by default for Linux to avoid FL5 usage
- Remove Version.cpp from lib source list so it's won't appear in projects
- Add option ENABLE_GITVERSION to disable Version.cpp usage
2017-08-16 16:12:36 +03:00
Arseniy Shestakov
2b3a467728 CMake: structure changes and other small improvements
- Now cmake_minimum_required used properly and set to 2.8.12
- cmake_modules/CMakeCPackOptions.cmake.in is removed
2017-08-16 16:10:08 +03:00
Arseniy Shestakov
40af43c46e CMake: massive rework for Mac build and other improvements
- macOS: RPATH-related code all removed or disabled
- macOS: new osx/CMakeLists.txt to run some install-code running after all subdirectories
- Assets copying into the runtime output directory implemented for Mac and Linux development
2017-08-16 16:10:07 +03:00
Arseniy Shestakov
7dca95c8cc CMake: multiple improvements for builds and project generation
- Change default build output directory name from "build" to "bin"
- Implement new function vcmi_get_cmake_debug_info
- Link client with SDL2main on Windows and disable debug console
- Remove all old MinGW-specific options since they outdated and MXE work fine
- Set AUTOGEN_TARGETS_FOLDER for better Xcode and Visual Studio projects
- Remove useless vcmitestFiles custom target for less garbage in project files
2017-08-16 16:10:07 +03:00
Arseniy Shestakov
56f89270db macOS: full rework of Mac packaging process
- Most of outdated CMakeLists code removed.
- All Mac-specific code is removed include Sparkle support and vcmibuilder app.
- DMG buidling reimplemented using macdeployqt command.
2017-08-16 16:10:07 +03:00
Arseniy Shestakov
193f492b99 CMake: cleanup, project generation and other improvements
- Use EXCLUDE_FROM_ALL for FuzzyLite and GoogleTest to avoid inclusion of unneded headers and libraries into installers.
- Set minimum CMake version only in main CMakeLists.txt
- Set project name only in main CMakeLists.txt
- Visual Studio: add assign_source_group function to generate proper filesystem tree
- Visual Studio: set PROJECT_LABEL so generated projects have same names binaries on Windows
- Visual Studio: enabled USE_FOLDERS for projects grouping. This also possibly affect other IDEs.
- Added add_subdirectory_with_folder function to make sure 3rd-party libraries are affected by USE_FOLDERS.
2017-08-16 16:10:07 +03:00
Arseniy Shestakov
440226f7af CMake: use dynamic linking for Boost 2017-08-16 16:10:07 +03:00
Arseniy Shestakov
1b9daecd27 CMake: remove Boost.Test requirement 2017-07-22 03:19:17 +03:00
Arseniy Shestakov
6abc88c2bf CMake: set _WIN32_WINNT to 0x0600 for FuzzyLite 6
Now CMake builds will require Windows Vista or newer
2017-07-14 21:35:49 +03:00
Victor Luchits
30cc2f6a01 Change the output path for cmake so all files go into the same root directory 2017-07-07 13:08:53 +03:00
Alex Dunn
34058f1396 macOS: turn Sparkle off by default (#327) 2017-07-06 09:09:30 +03:00
Arseniy Shestakov
01a1353fe1 Cleanup: remove old editor code and adjust related project files
It's useless and will fail build if accidentally enabled in CMake.
For anyone interested it's always available in git history.
2017-07-03 21:59:57 +03:00
Arseniy Shestakov
0c7eeeaa5c Travis CI: update config and upload artifacts after build 2017-06-13 20:32:43 +03:00
Arseniy Shestakov
6c8aa6e938 Linux version bump for 0.99 2016-11-01 20:45:50 +03:00
Vadim Markovtsev
da1c9cf249 Fix rebuilding everything on HEAD change 2016-10-23 16:56:53 +02:00
Vadim Markovtsev
d0beb27197 Add git commit hash into the version string 2016-10-23 15:45:47 +02:00
Vadim Markovtsev
0e9e93e14e [WIP] macOS Travis / #2553 2016-10-12 11:35:40 +02:00
Arseniy Shestakov
6e5ad22efc Revert "CMake: add usage of ccache if it's available"
This reverts commit 2576dd4692.

Unfortunately I didn't manage to fix older combination of CMake+Clang with ccache.
Newer version of Clang that I use can't compile older FuzzyLite from VCMI repository anyway.
2016-09-28 08:26:31 +03:00
Arseniy Shestakov
2576dd4692 CMake: add usage of ccache if it's available
ccache obviously don't give any real betefit with PCH, but still nice option to test.
2016-09-27 08:36:52 +03:00
AlexVinS
37d0dad70a Merge branch 'develop' into feature/VCMIMapFormat1
Conflicts:
	lib/CArtHandler.cpp
2016-01-01 20:28:52 +03:00
ArseniyShestakov
4124aacac8 CMake: add dbghelp to SYSTEM_LIBS for MiniDumpWriteDump. Fix issue 2312 2015-12-22 00:08:49 +03:00
AlexVinS
c53718a0d5 Enabled unit test by default 2015-12-05 12:06:37 +03:00
AlexVinS
108d4c39b5 Fix build 2015-09-24 11:55:23 +03:00
Sandy Carter
1b3c3ee9ca Add UseDoxygen to cmake
Allow use of cmake . && make doc
Requires UseDoxygen.cmake from http://tobias.rautenkranz.ch/cmake/doxygen/
2015-08-22 12:49:27 -04:00
AlexVinS
39db232f1b remove sdl1 from cmake files 2015-06-21 01:59:34 +03:00
Dmitry Marakasov
093ad29ae1 More portable libdl handling 2015-04-09 13:19:44 +03:00
Mikhail Paulyshka
9fd51e0219 version bump for Linux 2015-04-01 23:21:36 +03:00
Ivan Savenko
356b6ab34a A bit delayed, but still - Linux version bump 2014-11-11 22:59:26 +02:00
Mikhail Paulyshka
7887a750cf suppress some warnings 2014-11-02 23:43:40 +03:00
Mikhail Paulyshka
2047a66bd9 install MSVC runtime
copy libEGL and libGLESv2 only for MSVC
2014-10-12 18:03:47 +03:00
Mikhail Paulyshka
dcba7a6316 move minizip detection to module 2014-10-12 16:50:39 +03:00
Mikhail Paulyshka
fff8e10a63 copy libEGL and libGLESv2 for MSVC build
copy debug version of Qt libraries when build type is debug for MinGW
2014-10-12 16:40:24 +03:00
Mikhail Paulyshka
514045b259 add settings for MSVC
small reorganizing in /CMakeLists.txt
2014-10-12 16:38:53 +03:00
Mikhail Paulyshka
53e2719ca4 update cotire 2014-10-12 16:37:10 +03:00
josch
9bef590960 use system version of minizip 2014-09-02 17:00:20 +02:00
beegee1
12126754fb - added all SDL2 directories to CMake (in case if any SDL2 module is installed somewhere else) 2014-08-04 20:35:23 +02:00
Ivan Savenko
c23261ac0a Removed references to WoG files from CMake 2014-07-26 11:51:44 +03:00
Ivan Savenko
4fca583062 Merge pull request #29 from Mixaill/nsis
CMake: add NSIS generator settings
2014-07-18 00:56:46 +03:00
Michael Pavlyshko
a6e590f220 cpack/nsis: do not strip files 2014-07-17 23:11:09 +03:00
NikolayIT
3d3713ae7f Added optimization flag (-O1) for the GCC compiler on Windows platform to prevent "CGameState.cpp.obj: too many sections" compile error 2014-07-16 11:37:57 +03:00
Michael Pavlyshko
88316f93d1 add NSIS generator settings 2014-07-14 01:23:57 +03:00
Michael Pavlyshko
83aff2d68e * remove static linking for libgcc
* fix clang warnings
2014-07-12 14:10:44 +03:00
Michael Pavlyshko
3b461cfa02 disable one more warning (type-limits) 2014-07-11 22:54:50 +03:00
Michael Pavlyshko
2145eae128 disable one more warning (strict-aliasing) 2014-07-11 21:35:19 +03:00
Michael Pavlyshko
dbb8b6636f Add -Wno-unused-local-typedefs instead of suppress all warnings 2014-07-11 18:26:22 +03:00
Michael Pavlyshko
699919a251 * link VCMI with libgcc statically
* copy winpthread to install folder
* copy libgcc to install folder because Qt5 linked with libgcc dynamically
2014-07-11 17:29:46 +03:00
Michael Pavlyshko
a96cd51c5a suppress extra GCC warnings on Windows 2014-07-11 14:09:14 +03:00
Michael Pavlyshko
2a18a09d12 install dlls on Windows 2014-07-11 14:08:20 +03:00
Michael Pavlyshko
3c36bc9f51 Enable FFmpeg for all platforms 2014-07-11 12:43:24 +03:00
Michael Pavlyshko
457e922cca fix iconv check 2014-07-11 11:25:20 +03:00
Michael Pavlyshko
bad7050096 spaces -> tabulation 2014-07-11 11:01:03 +03:00
Michael Pavlyshko
3b80c52fc4 Oops, reverting CXX_FLAGS back 2014-07-11 01:27:05 +03:00
Michael Pavlyshko
8581cfd5d8 link with iconv only when iconv is found 2014-07-11 00:23:06 +03:00
Michael Pavlyshko
08ee65c3c8 fix .dll and .exe filenames 2014-07-10 01:06:37 +03:00
Michael Pavlyshko
ce5f59e8b6 Fix windows linkage, also, use SYSTEM_LIBS variable for OS-dependent libraries 2014-07-10 00:41:31 +03:00
Michael Pavlyshko
7405066cbd Link with wsock32 lib 2014-07-09 17:36:01 +03:00
Michael Pavlyshko
3443ba5bb3 fix libvcmi linking 2014-07-09 01:43:13 +03:00
Michael Pavlyshko
e0134aed0b Delete unused include 2014-07-08 02:00:11 +03:00
Michael Pavlyshko
2957377360 Fix *_DIR variables for windows 2014-07-07 23:21:59 +03:00
Michael Pavlyshko
476c7c32dc CMake/SDL2: add ability to find SDL2 without pkg-config 2014-07-05 21:47:03 +03:00
AlexVinS
195eae48ca Merge branch 'develop' into SDL2
Conflicts:
	client/CPlayerInterface.cpp
2014-07-02 17:15:12 +04:00
Ivan Savenko
4441bd12db (linux) version set to 0.96 2014-07-01 21:02:03 +03:00
AlexVinS
3b8d0e44d4 Merge branch 'develop' into SDL2 2014-06-24 14:09:44 +04:00