1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-26 22:57:00 +02:00
Commit Graph

341 Commits

Author SHA1 Message Date
Andrey Filipenkov
92dd6d8c17 define app version only in CMakeLists
now it's propagated to code via macros
2022-10-04 12:29:38 +03:00
Andrey Filipenkov
af1f35779d raise app version in CMakeLists 2022-10-04 11:47:29 +03:00
Andrii Danylchenko
d07586ccf6
Merge pull request #1022 from kambala-decapitator/apple-set-app-version
[Apple] set proper app and build versions
2022-10-01 20:48:37 +03:00
Andrey Filipenkov
b766edb6af [iOS] don't nest AI and scripting libs under subdirectories
3rd party signing tools may ignore such directory layout
2022-10-01 12:36:48 +03:00
Andrey Filipenkov
4e1b441399 [macOS] set app and bundle version in app bundle's Info.plist generated by CPack 2022-09-30 13:25:14 +03:00
Andrey Filipenkov
3f61e6f964 [iOS] allow setting custom app name 2022-09-30 12:33:37 +03:00
Andrey Filipenkov
95e3400eb9 raise iOS deployment target to 12.0 2022-09-27 06:31:06 +03:00
Andrey Filipenkov
a5b62104d4 remove solved TODOs 2022-09-25 14:11:11 +03:00
nordsoft
d32898b39b Merge remote-tracking branch 'upstream/develop' into cpp-map-editor
# Conflicts:
#	CMakeLists.txt
2022-09-25 00:58:43 +04:00
Andrey Filipenkov
5f0a8419d3 install scripts directory only when scripting modules are enabled 2022-09-24 15:55:25 +03:00
Andrey Filipenkov
605d5b6481 add dedicated macro when building as single process
fix kambala-decapitator/vcmi#40
2022-09-24 15:55:25 +03:00
Andrey Filipenkov
2af7c29163 enable Foundation assertions only in Debug build 2022-09-24 15:55:24 +03:00
Andrey Filipenkov
e1c9903a45 extract iOS helpers into a shared lib 2022-09-24 15:55:24 +03:00
Andrey Filipenkov
7b411a5fc4 fix building vcmiERM for iOS 2022-09-24 15:55:24 +03:00
Andrey Filipenkov
902de3af7c CMake cleanup 2022-09-24 15:55:24 +03:00
Andrey Filipenkov
8dcd3146e7 generate zip with ipa structure using cpack
fix kambala-decapitator/vcmi#6
2022-09-24 15:55:23 +03:00
Andrey Filipenkov
e0244c69a3 add CMake presets for iOS 2022-09-24 15:55:23 +03:00
Andrey Filipenkov
1bb6a20b76 get rid of the custom toolchain 2022-09-24 15:55:23 +03:00
Andrey Filipenkov
5e838008df merge launcher and client
launcher is a static lib now
2022-09-24 15:55:22 +03:00
Andrey Filipenkov
c6e51852d0 add ability to build VCMI as single process
"Client process -> shared VCMI lib <- Server process" is turned into "shared Client-VCMI lib -> process <- static Server-VCMI lib"
- adds lib_client and lib_server targets that define distinct namespaces
- lib_client is a dynamic library which is shared with AI libs, lib_server is static
2022-09-24 15:55:21 +03:00
Andrey Filipenkov
ede9f33328 fix linking with FFmpeg 2022-09-24 15:55:20 +03:00
Andrey Filipenkov
3388583089 use component-based install to copy only what's needed for every app 2022-09-24 15:55:20 +03:00
Andrey Filipenkov
fae295da88 allow building without codesigning 2022-09-24 15:55:20 +03:00
Andrey Filipenkov
67ef0c234d build Qt launcher, launch Client with it
kambala-decapitator/vcmi#17
2022-09-24 15:55:19 +03:00
Andrey Filipenkov
497bf58d32 disable modules 2022-09-24 15:55:19 +03:00
Andrey Filipenkov
5f97bf0be8 debug config in Xcode shouldn't produce dSYM files 2022-09-24 15:55:18 +03:00
Andrey Filipenkov
59fe73e454 some random cleanup 2022-09-24 15:55:18 +03:00
Andrey Filipenkov
7def214740 more Xcode-compatible Info.plist 2022-09-24 15:55:17 +03:00
Andrey Filipenkov
6e41e3154c fix running on device from Xcode
proper codesigning
2022-09-24 15:55:17 +03:00
Andrey Filipenkov
cfa22c33ad use rpath properly 2022-09-24 15:55:17 +03:00
Andrey Filipenkov
b6c4126bed install files after building server/client
package required files inside app bundle
2022-09-24 15:55:17 +03:00
Andrey Filipenkov
92a7936202 add Info.plist to sources 2022-09-24 15:55:17 +03:00
Andrey Filipenkov
fa90fc0aa4 cosmetics 2022-09-24 15:55:16 +03:00
Andrey Filipenkov
d6a92f23aa fix leading whitespace 2022-09-24 15:55:16 +03:00
Andrey Filipenkov
7a50620e61 enable clang modules and framework auto-linking 2022-09-24 15:55:16 +03:00
Andrey Filipenkov
b824a90295 initial iOS support to fix building
tested with Xcode and Unix Makefiles
2022-09-24 15:55:15 +03:00
Andrii Danylchenko
735c4f149a Update vcpkg, fix QT paths 2022-09-24 10:53:09 +03:00
nordsoft
89d0de53da Merge remote-tracking branch 'upstream/develop' into features/cpp-map-editor
# Conflicts:
#	.github/workflows/github.yml
#	launcher/modManager/cmodlist.cpp
#	lib/CModHandler.cpp
#	lib/CModHandler.h
2022-09-22 17:09:47 +04:00
Andrii Danylchenko
b4d3445559
Merge pull request #971 from kambala-decapitator/fix-warnings
Fix most project warnings
2022-09-22 16:05:32 +03:00
Andrey Filipenkov
635d8c7883 silence varargs warning from fuzzylite 2022-09-22 11:54:10 +03:00
Andrey Filipenkov
7e6ed0583c disable all scripting code when configuring without scripting modules 2022-09-21 19:31:42 +03:00
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
Ivan Savenko
13bc4cb24f Added -fvisibility=hidden parameter for gcc.
Should help a bit with endless missing DLL_LINKAGE attributes and
(according to gcc docs) help a bit with library loading times.
2014-06-24 00:05:53 +03:00
Ivan Savenko
8eb661461c - vcmi compiles with SDL2 on Linux, video player is disabled for now 2014-06-13 07:55:45 +04:00
stopiccot
7356145c3a updated LD_RUNPATH_SEARCH_PATHS 2014-03-04 03:51:17 +00:00
Ivan Savenko
5563db9145 - my part of chagelog + some formatting
- version bump on Linux side
- enabled PCH by default in cmake
2014-02-26 14:19:14 +00:00
beegee1
95034b9fa0 - Updated PCH to use our StdInc.h as the prefix header (not generated one from cotire) -> no exclude headers from ffmpeg/etc... statements required
- Fixed compilation error (VCAI ResourceSet logging)
2014-02-05 20:25:36 +00:00
beegee1
df0a28d9cb - added PCH compilation for CMake using cotire module (PCH is OFF per default, can be enabled with ENABLE_PCH=ON) 2014-02-01 13:37:26 +00:00
Ivan Savenko
f6c1dace6c Minors:
- By default, cmake will keep debug info
- removed warnings from adventure map infobox (part of #1636)
- adventure map infobox will refresh on artifact changes (part of #1636)
- moved terrain music files to terrains.json file
- player should act before AI in all games, not only campaigns
2013-12-28 18:57:08 +00:00
stopiccot
c5e0e48d98 Some OS X related fixes 2013-12-13 11:51:15 +00:00
Ivan Savenko
2b6cdd5f41 - (linux) launcher will be available in OS start menu/launchers as
"VCMI" and client will be present as "VCMI Client"
2013-11-16 18:13:30 +00:00
Ivan Savenko
2b3405fa50 - minor optimizations
- fixed incorrect error reporting in launcher
- set WoG version to "0.0.0" so full version will be installed from repo
in future
- updated debian required packages list
- launcher will be enabled by default
2013-11-14 13:21:09 +00:00
Ivan Savenko
55577d0ac4 - fixed missing DLL_LINKAGE
- use precalculated checksum for zip files
- UNUSED macro to silence some warnings
2013-11-09 13:49:36 +00:00
Ivan Savenko
ee6cdbeffe went through the rest of cppcheck warnings, mostly harmless 2013-11-07 12:48:41 +00:00
Ivan Savenko
c4716d0a9a - reordered files in cmake so files with long compile times will be
compiled first.
- changed format of modSettings.json, VCMI should properly update file
on the first run.
- implemented property "defaultTavern" that acts as default value for
"tavern" entry in hero class and town formats.
2013-11-03 12:07:23 +00:00
beegee1
9ebd4a5c00 Changes due to boost locale:
- Updated README.linux
- Fixed missing boost locale include when compiling with unit tests
- Updated RPM spec (increased minimum boost version, added boost locale requirement)
2013-11-02 17:16:07 +00:00
Ivan Savenko
e2c037402c Unicode support.
- boost-locale library is now required (boost 1.48 or higher)
- Unicode namespace that contains UTF-8 handling
- All non-ASCII strings from H3 data will be converted to UTF-8 during loading
- All JSON files MUST use UTF-8. 
- H3 data encoding can be selected via launcher or directly in config file
2013-10-25 21:45:14 +00:00
stopiccot
cbc8cde10a some OS X fixes 2013-10-07 01:19:02 +00:00
Ivan Savenko
c9e3192419 (linux) version set to 0.94 2013-10-01 19:03:09 +00:00
beegee1
a13d72b636 - Fixed GCC warning
- Small refactoring
- Added RPM spec to SVN again (it's better to keep it there :) )
2013-08-19 18:20:11 +00:00
Ivan Savenko
5654fef901 - ZipArchive namespace for operations with zip archives, located in CZipLoader.h/cpp.
- new fields in mod format, for use with mod manager (check config/shemas/mod.json for details)
- removed some 0.92 compatibility from mods loading
- several compile fixes
2013-08-19 11:50:53 +00:00
beegee1
1ac328635a - Added handler classes CRmgTemplateStorage and CTerrainViewPatternConfig to LibClasses
- Re-organized CMapGenerator
- Created CZone and CTemplate objects in the heap and used pointers
- Added stub classes CZoneGraphGenerator and CZonePlacer (include warnings of unused variables, please ignore them)
- Fixed CRandomGenerator bug that always the same number was produced
- Better structure of Visual Studio project files with using filters
- Updated project files (VS, CMake)
- Excluded compiler warning mismatched-tags (false positive)
- Fixed a bug when compiling with unit tests enabled
2013-08-17 12:46:48 +00:00
Ivan Savenko
1d9139303a introduced zip support into vcmi
- minizip library is now part of sources, located at lib/minizip
- cmakefiles will compile minizip as dynamic library (Note: only 2 files used by vcmi are included in minizip.so)
- zip files can be loaded similar to other archives via filesystem.json
- mods can use Content.zip instead of Content/ directory. Files in directory will replace files in archive.
2013-07-30 15:02:55 +00:00
Ivan Savenko
f82122d9be second part of c++11 update. gcc 4.5 and VS 2010 are no longer supported
- BOOST_FOREACH -> for
- replaced several boost classes with std (e.g. unordered)
- removed gcc-4.5 workarounds
- ran clang c++11 migration tool to detect some cases:
- - pointer initialized with "0" to nullptr
- - replace for with iterators with range-based for
- - use auto in some situations (type name specified twice, avoid long iterators type names)
2013-06-29 13:05:48 +00:00
Ivan Savenko
b3c5757f2e (linux) version set to 0.93 2013-05-31 23:11:50 +00:00
Ivan Savenko
8be801a6dc - CMappedFileLoader class to remap WoG files to h3 names
- WoG should be optional, all remapped files are listed in WoG/config/wogFileOverrides.json
- fixed several cases of incorrect positioning of creatures in battles
- some missing sounds for battle effects
- negative luck support, disabled by default
- a bit hackish detection of WoG presence, VCMI should work on SoD-only installs
2013-05-04 13:14:23 +00:00
beegee1
dd78205ce8 -Added test subfolder and updated CMakeLists for unit testing - Added a test case for the DrawTerrainOperation class(does not pass all tests successfully, 6 failures left to fix) - Fixed a few bugs 2013-04-22 14:49:28 +00:00
beegee1
b1428bcd24 - Compile fix for editor - Renamed /Editor to /editor and Scripting/ERM to scripting/erm - Removed unused ipch folder and format file - Removed ancient lua folder 2013-04-13 11:07:32 +00:00
Ivan Savenko
0cf969d508 - console logger by default uses same format as previously (no extra data)
- a lot of changes in configs;
- - update to creature format - abilities are now json structure
- - multiple bugfixes revealed by validation
- made schemas a bit more strict
- creatures data can be replaced via mods
- it is possible to validate vcmi configs using schemas (disabled)
2013-04-11 19:24:14 +00:00
Ivan Savenko
63cfb5de7e (linux) version set to 0.92 2013-03-01 21:51:38 +00:00
Michał W. Urbańczyk
8c7c4789ca Attempt to apply patch from stopiccot. 2013-03-01 21:32:26 +00:00
Ivan Savenko
57d23c74ee patches from qdii 2013-02-25 19:17:36 +00:00
Ivan Savenko
9fa59276c9 - OSX patch from stoppicot 2013-02-21 17:32:50 +00:00
Ivan Savenko
b169326940 disable by default cmake file for editor, seems to be working
- requires Qt 5
- requires cmake 2.8.7
2013-02-16 21:14:36 +00:00
Ivan Savenko
6a5af58aed (linux) version bump to 0.91 2013-02-01 08:58:14 +00:00
Ivan Savenko
9caa21a51c - fix for #1189 (h3 text parsing fix)
- fix for #1188 (replaced ffmpeg detection with module from KDE)
2013-01-26 19:39:54 +00:00
Ivan Savenko
e023b7d6bc another OS X patch from stopiccot 2012-12-27 09:21:30 +00:00
Ivan Savenko
8824f5e2d5 - H3 creatures use subset of mod creature format (todo - unify code)
- creatures configs moved into confg/creatures files, similar to factions.
 - creatures ID's use same camelCase format as the rest of the game
2012-12-22 16:47:12 +00:00
Ivan Savenko
a1c7beeb83 cmake fix 2012-12-12 15:13:26 +00:00
Ivan Savenko
16b72ee89b minor:
- siege tower shooters use string ID's
- cmake will install vcmibuilder with correct permissions
- vcmibuilder will not extract outdated config files from core.zip
2012-12-10 20:08:00 +00:00
Ivan Savenko
85a23e298c - generic string ID -> numeric ID resolution system
- - hero army and creature upgrade names are resolved using new system
- - faction names and creatures in towns are resolved using new system
- (linux) replaced build_data.sh with hopefully better vcmibuilder script
- minor fixes
2012-12-03 16:00:17 +00:00
Ivan Savenko
2643762f08 Mac OS patch from stopiccot 2012-12-01 06:30:52 +00:00
Ivan Savenko
fc85e08a64 - clang and gcc 4.5 compatibility
- autotools update
- debian build system fixes
2012-11-03 19:31:16 +00:00
Ivan Savenko
fcc66b7bb9 - fixed RPATH in cmake
- minor fixes
2012-10-08 15:21:59 +00:00
beegee1
3f0c225880 * Fixed building, installing on Fedora * Updated RPM spec 2012-10-06 16:09:20 +00:00
Ivan Savenko
c071a03a8a - fix for #1135
- merged wall_pos.json into town config
- removed tower_shooter field from creatures.json
2012-10-05 18:03:49 +00:00
Ivan Savenko
f113f9573d - CPack support. Works on my side, needs tweaks for Win 2012-10-05 12:38:17 +00:00
Ivan Savenko
061ed69c63 - fixed seer hut issue (#1073)
- separate archive types in filesystem for lod\vid\snd
2012-09-17 17:25:54 +00:00
Ivan Savenko
d72c44e4c3 - fixed modifiers keys behaviour in TextInput
- erm compilation is optional in cmake (too memory-consuming for old systems)
-  minor fixes
2012-08-10 08:49:18 +00:00
Ivan Savenko
e4c88d5088 - moved ParseBonus to JsonNode.cpp (linkage errors)
- fixes to CMakeLists - vcmi can be compiled and started with cmake
- gcc\clang warnings fixes
2012-07-19 18:52:44 +00:00
ddaroo
69de38bf1d Tweaks for cmake build system: data dir definitions, flags for clang (not tested), missing CQuestLog.cpp file for the client, naming convention of few binaries same for autotools and cmake 2012-07-15 16:05:41 +00:00
ddaroo
758fb0679e Stub for a CMake build system. 2012-07-01 14:27:41 +00:00