changeset 1978 | 8aa416c2647a |
parent 1977 | 12b6619171bb |
1977:12b6619171bb | 1978:8aa416c2647a |
---|---|
37 |
37 |
38 |
38 |
39 ==== Notes ==== |
39 ==== Notes ==== |
40 |
40 |
41 # Other dependencies are linked with the SDL2 libraries, but not specifically used in Hedgewars. They may include: |
41 # Other dependencies are linked with the SDL2 libraries, but not specifically used in Hedgewars. They may include: |
42 * FreeType |
42 * !FreeType |
43 * FLAC |
43 * FLAC |
44 * Opus |
44 * Opus |
45 * GLEW |
45 * GLEW |
46 * modplug |
46 * modplug |
47 * mpg123 |
47 * mpg123 |
48 * webp |
48 * webp |
49 # Good places to find required frameworks are found in the development packages for the various SDL2 libraries. They are found in the `Frameworks` subdirectory within the .framework itself. Example: `SDL2_ttf.framework/Frameworks/FreeType.framework` |
49 # Good places to find required frameworks are found in the development packages for the various SDL2 libraries. They are found in the `Frameworks` subdirectory within the .framework itself. Example: `SDL2_ttf.framework/Frameworks/FreeType.framework` |
50 # Another good place for the frameworks/libraries are in the Hedgewars.app of a previous version (E.g. Hedgewars 1.0.0 Beta 2) |
50 # Another good place for the frameworks/libraries are in the `Hedgewars.app` of a previous version (E.g. Hedgewars 1.0.0 Beta 2) |
51 |
51 |
52 === Optional Dependencies === |
52 === Optional Dependencies === |
53 |
53 |
54 By default, the following optional features are turned on in the build system, and require the following dependencies. |
54 By default, the following optional features are turned on in the build system, and require the following dependencies: |
55 |
55 |
56 * Video recording |
56 * Video recording |
57 * ffmpeg 4.2 (later versions are untested) |
57 * ffmpeg 4.2 (later versions are untested) |
58 * yasm 1.3+ |
58 * yasm 1.3+ |
59 * Automatic updates |
59 * Automatic updates |
84 }}} |
84 }}} |
85 * (Optional) Load haskell environment: |
85 * (Optional) Load haskell environment: |
86 {{{ |
86 {{{ |
87 source ~/.ghcup/env |
87 source ~/.ghcup/env |
88 }}} |
88 }}} |
89 * Create (mkdir) a `build` subdirectory in the Hedgewars source code |
89 * Create (`mkdir`) a `build` subdirectory in the Hedgewars source code |
90 |
90 |
91 |
91 |
92 === Build === |
92 === Build === |
93 |
93 |
94 CMake is used to manage the build process, and is run with different flags depending on which optional dependencies you have elected to install. |
94 CMake is used to manage the build process, and is run with different flags depending on which optional dependencies you have elected to install. |
110 |
110 |
111 ==== Notes ==== |
111 ==== Notes ==== |
112 |
112 |
113 * To build a debug build, use the flag `-DCMAKE_BUILD_TYPE=Debug` instead of the `Release` one |
113 * To build a debug build, use the flag `-DCMAKE_BUILD_TYPE=Debug` instead of the `Release` one |
114 * To build a minimum-features build, use the additional flags of `-DNOSERVER=1`, `-DNOVIDEOREC=1`, and `-DNOAUTOUPDATE=1`, for disabling of hedgewars-server, video recording, and Sparkle autoupdating, respectively. |
114 * To build a minimum-features build, use the additional flags of `-DNOSERVER=1`, `-DNOVIDEOREC=1`, and `-DNOAUTOUPDATE=1`, for disabling of hedgewars-server, video recording, and Sparkle autoupdating, respectively. |
115 * The build uses CMake BundleUtilities which automatically deploys all libraries and dependencies into the `.app`, and repairs the `RPATH` of each library and binary as needed. If there is a missing dependency, the `make install` portion of the build will fail. The fix is usually to find the correct `.framework` and put in on library path, then run `make dmg` again. |
115 * The build uses CMake !BundleUtilities which automatically deploys all libraries and dependencies into the `.app`, and repairs the `RPATH` of each library and binary as needed. If there is a missing dependency, the `make install` portion of the build will fail. The fix is usually to find the correct `.framework` and put in on library path, then run `make dmg` again. |
116 |
116 |
117 Enjoy! |
117 Enjoy! |