Hennadii Chernyshchyk
de33eb44f9
Port to OpenDingux handhelds
2022-12-13 03:55:54 +02:00
Ivan Savenko
f97d4c3630
Removed commented-out code
2022-12-12 18:50:14 +02:00
Ivan Savenko
0f2d4f119b
Reverted -Werror due to new warnings in beta branch
2022-12-09 14:43:48 +02:00
Ivan Savenko
3e691d9033
Enable strict compilation by default in order for CI to use it
2022-12-09 14:17:03 +02:00
Ivan Savenko
db2a40600d
Fixed some of the warnings detected by CI run
2022-12-08 23:20:42 +02:00
Ivan Savenko
31ac1e4ab2
Add path to libvcmi.so into RPATH so dynamic linker can find it
2022-12-08 12:46:40 +02:00
Ivan Savenko
4d494b0941
added ENABLE_STRICT_COMPILATION CMake option that sets -werror flag
2022-12-07 23:35:57 +02:00
Ivan Savenko
2855606a88
Enabled & fixed -Woverloaded-virtual warning from gcc/cland
...
- fixed almost all instances of overloaded-virtual warning
- cleared up inheritance & method overrides in code affected by warning
2022-12-07 21:50:45 +02:00
Ivan Savenko
111ac36417
Cleared up warning settings, enabled -werror for gcc/clang
2022-12-07 18:08:13 +02:00
Ivan Savenko
f8c67829a1
Restored single-app build to off by default
2022-12-06 22:30:34 +02:00
Ivan Savenko
2a492261e1
Fix building with cmake older than 3.12
2022-12-06 01:33:00 +02:00
Ivan Savenko
bc1ba2135d
TEST COMMIT, will be reverted after successful Github Action run
2022-12-06 00:02:14 +02:00
Ivan Savenko
fa23965d0b
Renamed for consistency BUILD_SINGLE_APP -> ENABLE_SINGLE_APP_BUILD
2022-12-06 00:00:56 +02:00
Ivan Savenko
5e37ad6836
Changes to single-app build
...
- client version of library is now always called vcmi, like in regular
builds (e.g. libvcmi.so)
- server version of library keeps its separate name
2022-12-05 22:57:43 +02:00
Ivan Savenko
d13bbabf08
Made copying of config & mods directories on build optional
...
Added option COPY_CONFIG_ON_BUILD, if set to OFF then post-process
command that copies config & mods directories to build destination will
be disabled.
This command may be convenient in most cases, but when only config file is
edited CMake won't trigger this command since lib was not changed.
At least on Linux, symlinks are more reliable alternative
2022-12-05 22:26:59 +02:00
Ivan Savenko
98f6173516
BUILD_SINGLE_APP is now CMake option
2022-12-05 22:21:21 +02:00
Ivan Savenko
1e2793af3a
Attempt to fix cmake with older gcc
2022-11-28 23:05:36 +02:00
Ivan Savenko
f5f719b78e
Enabled -Wmismatched-tags warning for gcc/clang since this apparently
...
lead to MSVC linker error
2022-11-28 21:46:24 +02:00
Andrey Filipenkov
c20ae90973
disable tests by default
2022-11-03 11:33:17 +03:00
Andrii Danylchenko
11790c7c02
Merge pull request #1083 from vcmi/fix-android
...
Move version definition into a separate cmake file
2022-10-23 10:39:25 +03:00
Andrii Danylchenko
6ef480971d
Move version definition into a separate cmake file
2022-10-22 20:48:38 +03:00
Andrey Filipenkov
002e09fa2d
[macOS] set copyright to Info.plist
2022-10-22 16:52:47 +03:00
Andrey Filipenkov
c9198311a1
[macOS] set bundle identifier to Info.plist
2022-10-22 16:52:27 +03:00
Andrii Danylchenko
b43e0ff9e4
Merge pull request #972 from vcmi/cpp-map-editor
...
Cpp map editor
2022-10-22 12:42:27 +03:00
Andrey Filipenkov
f10e5e3b99
[Conan] add iOS support
2022-10-16 13:25:38 +03:00
nordsoft
4cb31ea912
Merge remote-tracking branch 'upstream/develop' into cpp-map-editor
2022-10-08 23:24:57 +04:00
Nordsoft91
23f80c58dc
Apply suggestions from code review
...
Co-authored-by: Andrey Filipenkov <decapitator@ukr.net>
2022-10-08 22:55:15 +04:00
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