Skip to content

Clang 11.0.x compilation error #4733

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
2 tasks
sergiud opened this issue Apr 11, 2025 · 13 comments · May be fixed by #4736
Open
2 tasks

Clang 11.0.x compilation error #4733

sergiud opened this issue Apr 11, 2025 · 13 comments · May be fixed by #4736
Labels
kind: bug solution: proposed fix a fix for the issue has been proposed and waits for confirmation

Comments

@sergiud
Copy link

sergiud commented Apr 11, 2025

Description

Library tests fail to compile using Clang 11.0.x due to

#ifdef JSON_HAS_CPP_20
const std::u8string s = p.u8string();

because even in C++20 mode std::filesystem::path::u8string does not return std::u8string but a std::string.

A related issue occurs during conversion in the opposite direction here:

#ifdef JSON_HAS_CPP_20
p = std_fs::path(std::u8string_view(reinterpret_cast<const char8_t*>(s.data()), s.size()));

Reproduction steps

Godbolt reproducer.

Expected vs. actual results

No compilation errors.

Minimal code example

Error messages

Compiler and operating system

Clang 11.0.x

Library version

3.12.0

Validation

@sergiud
Copy link
Author

sergiud commented Apr 11, 2025

A possible fix would be to use type deduction instead of explicitly specifying std::u8string as the s type.

@gregmarr
Copy link
Contributor

This is a libc++ issue, it works fine with the default libstdc++ in Clang 11: https://www.godbolt.org/z/7Wb45Gxfd

C++20 requires u8string to return a std::u8string.

@sergiud
Copy link
Author

sergiud commented Apr 11, 2025

That would be true if libc++ supported the full set of library features corresponding to the language standard. In practice, this is clearly not always the case, see https://libcxx.llvm.org/Status/Cxx20.html. This is also the reason library feature test macros exist with __cpp_lib_char8_t likely being relevant here.

@sergiud sergiud linked a pull request Apr 11, 2025 that will close this issue
5 tasks
@gregmarr
Copy link
Contributor

So the

#ifdef JSON_HAS_CPP_20

check should probably be replaced with

#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811

@sergiud
Copy link
Author

sergiud commented Apr 11, 2025

According to above references __cpp_lib_char8_t should be 201907L. See also the linked PR. 201811L is the version for the language support feature __cpp_char8_t not the library support.

@gregmarr
Copy link
Contributor

https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations#__cpp_lib_char8_t says that 201811 includes the change to the return type of the library, and 201907 is just some backwards compat issues in https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1423r3.html

@sergiud
Copy link
Author

sergiud commented Apr 11, 2025

I see. Let me update the PR.

@sergiud
Copy link
Author

sergiud commented Apr 11, 2025

Unfortunately, guarding against 201811L still results in compilation errors.

@jelly
Copy link

jelly commented Apr 12, 2025

This seems like the same issue I have compiling the latest nlohmann against openrct2 with GCC 14

@nlohmann
Copy link
Owner

Can anyone check if the fix from the PR is helping?

@sergiud
Copy link
Author

sergiud commented Apr 12, 2025

I did. It does (after some additonal but unrelated modifications to OpenRCT2's CMake setup).

> g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++,rust --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 14.2.1 20250207 (GCC) 
> cmake -S . -B build/ -DCMAKE_PREFIX_PATH=$HOME/Projects/json/build
-- Found nlohmann_json: /home/sergiu/Projects/json/build/nlohmann_jsonConfig.cmake (found suitable version "3.12.0", minimum required is "3.12.0")
-- Found CCache: /usr/bin/ccache (found version "4.11.2")
-- The CXX compiler identification is GNU 14.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "2.4.3")
-- CMAKE_BUILD_TYPE not explicitly set. Not enabling IPO.
CMake Warning at cmake/LibFindMacros.cmake:263 (message):
  WARNING: MISSING PACKAGE

  We could not find development headers for DISCORDRPC.  Do you have the
  necessary dev package installed? This package is NOT REQUIRED and you may
  ignore this warning but by doing so you may miss some functionality of
  openrct2.

  Relevant CMake configuration variables:

    DISCORDRPC_INCLUDE_DIR=<not found>
    DISCORDRPC_LIBRARY=<not found>

  You may use CMake GUI, cmake -D or ccmake to modify the values.  Delete
  CMakeCache.txt to discard all values and force full re-detection if
  necessary.

Call Stack (most recent call first):
  cmake/FindDiscordRPC.cmake:25 (libfind_process)
  CMakeLists.txt:220 (find_package)


-- Performing Test CXX_WARN_SUGGEST_OVERRIDE
-- Performing Test CXX_WARN_SUGGEST_OVERRIDE - Success
-- Performing Test CXX_WARN_DUPLICATED_COND
-- Performing Test CXX_WARN_DUPLICATED_COND - Success
-- Performing Test CXX_WARN_NON_VIRTUAL_DTOR
-- Performing Test CXX_WARN_NON_VIRTUAL_DTOR - Success
-- Performing Test CXX_WARN_MISSING_VARIABLE_DECLARATIONS
-- Performing Test CXX_WARN_MISSING_VARIABLE_DECLARATIONS - Failed
-- Unsupported CXXFLAG: -Wmissing-variable-declarations
-- Performing Test CXX_WARN_DUPLICATED_BRANCHES
-- Performing Test CXX_WARN_DUPLICATED_BRANCHES - Success
-- Performing Test CXX_WARN_RESTRICT
-- Performing Test CXX_WARN_RESTRICT - Success
-- Performing Test CXX_WARN_MISSING_FIELD_INITIALIZERS
-- Performing Test CXX_WARN_MISSING_FIELD_INITIALIZERS - Success
-- Performing Test CXX_WARN_UNREACHABLE_CODE_BREAK
-- Performing Test CXX_WARN_UNREACHABLE_CODE_BREAK - Failed
-- Unsupported CXXFLAG: -Wunreachable-code-break
-- Performing Test CXX_WARN_LOGICAL_OP
-- Performing Test CXX_WARN_LOGICAL_OP - Success
-- Performing Test CXX_WARN_RANGE_LOOP_ANALYSIS
-- Performing Test CXX_WARN_RANGE_LOOP_ANALYSIS - Failed
-- Unsupported CXXFLAG: -Wrange-loop-analysis
-- Performing Test CXX_WARN_TAUTOLOGICAL_ZERO_COMPARE
-- Performing Test CXX_WARN_TAUTOLOGICAL_ZERO_COMPARE - Failed
-- Unsupported CXXFLAG: -Wtautological-unsigned-zero-compare
-- Performing Test CXX_WARN_OLD_STYLE_CAST
-- Performing Test CXX_WARN_OLD_STYLE_CAST - Success
-- Performing Test CXX_WARN_UNUSED_CONST_VARIABLE
-- Performing Test CXX_WARN_UNUSED_CONST_VARIABLE - Success
-- Performing Test CXX_WNO_CLOBBERED
-- Performing Test CXX_WNO_CLOBBERED - Success
-- Performing Test CXX_WARN_REDUNDANT_DECLS
-- Performing Test CXX_WARN_REDUNDANT_DECLS - Success
-- Performing Test CXX_WARN_NULL_DEREFERENCE
-- Performing Test CXX_WARN_NULL_DEREFERENCE - Success
-- Performing Test CXX_WARN_SUGGEST_FINAL_TYPES
-- Performing Test CXX_WARN_SUGGEST_FINAL_TYPES - Success
-- Performing Test CXX_WARN_SUGGEST_FINAL_METHODS
-- Performing Test CXX_WARN_SUGGEST_FINAL_METHODS - Success
-- Performing Test CXX_WARN_IGNORED_QUALIFIERS
-- Performing Test CXX_WARN_IGNORED_QUALIFIERS - Success
-- Performing Test CXX_WARN_STRICT_OVERFLOW
-- Performing Test CXX_WARN_STRICT_OVERFLOW - Success
-- Found OpenSSL: /usr/lib/libcrypto.so (found suitable version "3.5.0", minimum required is "1.0.0")
-- Checking for module 'libcurl'
--   Found libcurl, version 8.13.0
-- Checking for module 'fontconfig'
--   Found fontconfig, version 2.16.2
-- Checking for module 'freetype2'
--   Found freetype2, version 26.2.20
-- Checking for module 'libzip>=1.0'
--   Found libzip, version 1.11.3
-- Checking for module 'zlib'
--   Found zlib, version 1.3.1
-- Checking for module 'libpng>=1.6'
--   Found libpng, version 1.6.47
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found ICU: /usr/include (found suitable version "76.1", minimum required is "59.0") found components: uc
-- Checking for module 'sdl2'
--   Found sdl2, version 2.32.54
-- Checking for module 'speexdsp'
--   Found speexdsp, version 1.2.1
-- Checking for module 'flac'
--   Found flac, version 1.5.0
-- Checking for module 'ogg'
--   Found ogg, version 1.3.5
-- Checking for module 'vorbisfile'
--   Found vorbisfile, version 1.3.7
-- Checking for module 'gl'
--   Found gl, version 1.2
-- Configuring done (3.0s)
-- Generating done (0.0s)
-- Build files have been written to: /home/sergiu/Projects/OpenRCT2/build
> cmake --build build/
[1/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/Diagnostic.cpp.o
[2/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/Cheats.cpp.o
[3/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/AssetPack.cpp.o
[4/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/AssetPackManager.cpp.o
[5/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/Date.cpp.o
[6/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/OpenRCT2.cpp.o
[7/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/FileClassifier.cpp.o
[8/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/Input.cpp.o
[9/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/CommandLineSprite.cpp.o
[10/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/PlatformEnvironment.cpp.o
[11/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/TrackImporter.cpp.o
[12/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/Context.cpp.o
[13/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/Editor.cpp.o
[14/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/EditorObjectSelectionSession.cpp.o
[15/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/Game.cpp.o
[16/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/GameState.cpp.o
[17/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/GameStateSnapshots.cpp.o
[18/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ParkImporter.cpp.o
[19/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ReplayManager.cpp.o
[20/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/Version.cpp.o
[21/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/BalloonPressAction.cpp.o
[22/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/BannerPlaceAction.cpp.o
[23/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/BannerRemoveAction.cpp.o
[24/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/BannerSetColourAction.cpp.o
[25/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/BannerSetNameAction.cpp.o
[26/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/BannerSetStyleAction.cpp.o
[27/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/CheatSetAction.cpp.o
[28/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/ClearAction.cpp.o
[29/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/CustomAction.cpp.o
[30/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/FootpathAdditionPlaceAction.cpp.o
[31/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/FootpathAdditionRemoveAction.cpp.o
[32/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/FootpathLayoutPlaceAction.cpp.o
[33/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/FootpathPlaceAction.cpp.o
[34/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/FootpathRemoveAction.cpp.o
[35/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/GameAction.cpp.o
[36/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/GameActionRegistry.cpp.o
[37/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/GameActionResult.cpp.o
[38/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/GameSetSpeedAction.cpp.o
[39/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/GuestSetFlagsAction.cpp.o
[40/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/GuestSetNameAction.cpp.o
[41/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/LandBuyRightsAction.cpp.o
[42/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/LandLowerAction.cpp.o
[43/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/LandRaiseAction.cpp.o
[44/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/LandSetHeightAction.cpp.o
[45/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/LandSetRightsAction.cpp.o
[46/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/LandSmoothAction.cpp.o
[47/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/LargeSceneryPlaceAction.cpp.o
[48/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/LargeSceneryRemoveAction.cpp.o
[49/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/LargeScenerySetColourAction.cpp.o
[50/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/LoadOrQuitAction.cpp.o
[51/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/MapChangeSizeAction.cpp.o
[52/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/MazePlaceTrackAction.cpp.o
[53/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/MazeSetTrackAction.cpp.o
[54/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/NetworkModifyGroupAction.cpp.o
[55/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/ParkEntrancePlaceAction.cpp.o
[56/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/ParkEntranceRemoveAction.cpp.o
[57/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/ParkMarketingAction.cpp.o
[58/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/ParkSetDateAction.cpp.o
[59/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/ParkSetEntranceFeeAction.cpp.o
[60/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/ParkSetLoanAction.cpp.o
[61/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/ParkSetNameAction.cpp.o
[62/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/ParkSetParameterAction.cpp.o
[63/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/ParkSetResearchFundingAction.cpp.o
[64/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/PauseToggleAction.cpp.o
[65/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/PeepPickupAction.cpp.o
[66/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/PeepSpawnPlaceAction.cpp.o
[67/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/PlayerKickAction.cpp.o
[68/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/PlayerSetGroupAction.cpp.o
[69/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/RideCreateAction.cpp.o
[70/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/RideDemolishAction.cpp.o
[71/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/RideEntranceExitPlaceAction.cpp.o
[72/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/RideEntranceExitRemoveAction.cpp.o
[73/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/RideFreezeRatingAction.cpp.o
[74/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/RideSetAppearanceAction.cpp.o
[75/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/RideSetColourSchemeAction.cpp.o
[76/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/RideSetNameAction.cpp.o
[77/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/RideSetPriceAction.cpp.o
[78/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/RideSetSettingAction.cpp.o
[79/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/RideSetStatusAction.cpp.o
[80/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/RideSetVehicleAction.cpp.o
[81/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/ScenarioSetSettingAction.cpp.o
[82/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/ScenerySetRestrictedAction.cpp.o
[83/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/SignSetNameAction.cpp.o
[84/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/SignSetStyleAction.cpp.o
[85/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/SmallSceneryPlaceAction.cpp.o
[86/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/SmallSceneryRemoveAction.cpp.o
[87/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/SmallScenerySetColourAction.cpp.o
[88/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/StaffFireAction.cpp.o
[89/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/StaffHireNewAction.cpp.o
[90/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/StaffSetColourAction.cpp.o
[91/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/StaffSetCostumeAction.cpp.o
[92/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/StaffSetNameAction.cpp.o
[93/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/StaffSetOrdersAction.cpp.o
[94/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/StaffSetPatrolAreaAction.cpp.o
[95/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/SurfaceSetStyleAction.cpp.o
[96/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/TileModifyAction.cpp.o
[97/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/TrackDesignAction.cpp.o
[98/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/TrackPlaceAction.cpp.o
[99/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/TrackRemoveAction.cpp.o
[100/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/TrackSetBrakeSpeedAction.cpp.o
[101/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/WallPlaceAction.cpp.o
[102/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/WallRemoveAction.cpp.o
[103/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/WallSetColourAction.cpp.o
[104/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/WaterLowerAction.cpp.o
[105/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/WaterRaiseAction.cpp.o
[106/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/actions/WaterSetHeightAction.cpp.o
[107/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/audio/Audio.cpp.o
[108/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/audio/DummyAudioContext.cpp.o
[109/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/command_line/CommandLine.cpp.o
[110/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/command_line/ConvertCommand.cpp.o
[111/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/command_line/ParkInfoCommands.cpp.o
[112/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/command_line/ScreenshotCommands.cpp.o
[113/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/command_line/RootCommands.cpp.o
[114/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/command_line/SimulateCommands.cpp.o
[115/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/command_line/SpriteCommands.cpp.o
[116/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/command_line/UriHandler.cpp.o
[117/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/config/Config.cpp.o
[118/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/config/IniReader.cpp.o
[119/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/config/IniWriter.cpp.o
[120/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/ChecksumStream.cpp.o
[121/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/Compression.cpp.o
[122/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/Console.cpp.o
[123/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/Crypt.CNG.cpp.o
[124/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/Crypt.OpenRCT2.cpp.o
[125/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/Crypt.OpenSSL.cpp.o
[126/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/Diagnostics.cpp.o
[127/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/File.cpp.o
[128/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/FileScanner.cpp.o
[129/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/FileStream.cpp.o
[130/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/FileWatcher.cpp.o
[131/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/Http.Android.cpp.o
[132/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/Http.WinHttp.cpp.o
[133/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/Guard.cpp.o
[134/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/Http.cURL.cpp.o
[135/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/IStream.cpp.o
[136/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/Imaging.cpp.o
[137/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/JobPool.cpp.o
[138/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/MemoryStream.cpp.o
[139/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/Path.cpp.o
[140/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/RTL.FriBidi.cpp.o
[141/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/RTL.ICU.cpp.o
[142/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/SawyerCoding.cpp.o
[143/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/String.cpp.o
[144/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/StringBuilder.cpp.o
[145/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/StringReader.cpp.o
[146/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/UTF8.cpp.o
[147/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/UnitConversion.cpp.o
[148/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/ZipAndroid.cpp.o
[149/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/Json.cpp.o
[150/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/core/Zip.cpp.o
[151/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/AVX2Drawing.cpp.o
[152/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/Drawing.Sprite.BMP.cpp.o
[153/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/Drawing.Sprite.RLE.cpp.o
[154/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/Drawing.Sprite.cpp.o
[155/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/Drawing.String.cpp.o
[156/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/Drawing.cpp.o
[157/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/Font.cpp.o
[158/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/Image.cpp.o
[159/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/Line.cpp.o
[160/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/Rect.cpp.o
[161/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/ImageImporter.cpp.o
[162/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/LightFX.cpp.o
[163/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/NewDrawing.cpp.o
[164/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/SSE41Drawing.cpp.o
[165/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/ScrollingText.cpp.o
[166/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/TTF.cpp.o
[167/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/TTFSDLPort.cpp.o
[168/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/Text.cpp.o
[169/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/Weather.cpp.o
[170/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/drawing/X8DrawingEngine.cpp.o
[171/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/entity/Balloon.cpp.o
[172/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/entity/Duck.cpp.o
[173/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/entity/EntityBase.cpp.o
[174/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/entity/EntityRegistry.cpp.o
[175/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/entity/EntityTweener.cpp.o
[176/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/entity/Fountain.cpp.o
[177/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/entity/Guest.cpp.o
[178/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/entity/Litter.cpp.o
[179/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/entity/MoneyEffect.cpp.o
[180/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/entity/Particle.cpp.o
[181/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/entity/PatrolArea.cpp.o
[182/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/entity/Peep.cpp.o
[183/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/entity/Staff.cpp.o
[184/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/interface/Chat.cpp.o
[185/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/interface/Colour.cpp.o
[186/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/interface/Cursors.cpp.o
[187/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/interface/FontFamilies.cpp.o
[188/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/interface/Fonts.cpp.o
[189/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/interface/InteractiveConsole.cpp.o
[190/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/interface/Screenshot.cpp.o
[191/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/interface/StdInOutConsole.cpp.o
[192/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/interface/Viewport.cpp.o
[193/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/interface/Window.cpp.o
[194/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/interface/WindowBase.cpp.o
[195/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/interface/ZoomLevel.cpp.o
[196/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/localisation/Currency.cpp.o
[197/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/localisation/FormatCodes.cpp.o
[198/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/localisation/Formatter.cpp.o
[199/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/localisation/Formatting.cpp.o
[200/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/localisation/Language.cpp.o
[201/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/localisation/LanguagePack.cpp.o
[202/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/localisation/Localisation.Date.cpp.o
[203/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/localisation/LocalisationService.cpp.o
[204/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/network/DiscordService.cpp.o
[205/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/management/Award.cpp.o
[206/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/management/Finance.cpp.o
[207/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/management/Marketing.cpp.o
[208/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/management/NewsItem.cpp.o
[209/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/management/Research.cpp.o
[210/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/network/NetworkAction.cpp.o
[211/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/network/NetworkClient.cpp.o
[212/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/network/NetworkConnection.cpp.o
[213/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/network/NetworkGroup.cpp.o
[214/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/network/NetworkKey.cpp.o
[215/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/network/NetworkPacket.cpp.o
[216/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/network/NetworkPlayer.cpp.o
[217/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/network/NetworkServer.cpp.o
[218/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/network/Socket.cpp.o
[219/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/AudioObject.cpp.o
[220/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/network/NetworkBase.cpp.o
[221/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/network/NetworkServerAdvertiser.cpp.o
[222/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/network/NetworkUser.cpp.o
[223/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/network/ServerList.cpp.o
[224/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/AudioSampleTable.cpp.o
[225/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/BannerObject.cpp.o
[226/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/ClimateObject.cpp.o
[227/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/DefaultObjects.cpp.o
[228/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/EntranceObject.cpp.o
[229/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/FootpathObject.cpp.o
[230/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/FootpathRailingsObject.cpp.o
[231/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/FootpathSurfaceObject.cpp.o
[232/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/ImageTable.cpp.o
[233/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/Object.cpp.o
[234/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/ObjectEntryManager.cpp.o
[235/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/LargeSceneryObject.cpp.o
[236/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/MusicObject.cpp.o
[237/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/ObjectFactory.cpp.o
[238/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/ObjectList.cpp.o
[239/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/ObjectManager.cpp.o
[240/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/ObjectRepository.cpp.o
[241/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/ObjectTypes.cpp.o
[242/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/PathAdditionObject.cpp.o
[243/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/PeepAnimationsObject.cpp.o
[244/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/PeepNamesObject.cpp.o
[245/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/ResourceTable.cpp.o
[246/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/RideObject.cpp.o
[247/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/ScenarioTextObject.cpp.o
[248/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/SceneryGroupObject.cpp.o
[249/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/SmallSceneryObject.cpp.o
[250/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/StationObject.cpp.o
[251/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/StringTable.cpp.o
[252/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/WallSceneryEntry.cpp.o
[253/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/openrct2_pch.cpp.o
[254/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/TerrainEdgeObject.cpp.o
[255/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/TerrainSurfaceObject.cpp.o
[256/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/WallObject.cpp.o
[257/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/object/WaterObject.cpp.o
[258/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/Paint.Entity.cpp.o
[259/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/Paint.cpp.o
[260/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/PaintHelpers.cpp.o
[261/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/Painter.cpp.o
[262/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/VirtualFloor.cpp.o
[263/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/support/MetalSupports.cpp.o
[264/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/support/WoodenSupports.cpp.o
[265/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/tile_element/Paint.Banner.cpp.o
[266/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/tile_element/Paint.Entrance.cpp.o
[267/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp.o
[268/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/tile_element/Paint.Path.cpp.o
[269/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/tile_element/Paint.PathAddition.cpp.o
[270/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp.o
[271/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/tile_element/Paint.Tunnel.cpp.o
[272/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/tile_element/Paint.Surface.cpp.o
[273/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/tile_element/Paint.TileElement.cpp.o
[274/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/tile_element/Paint.Wall.cpp.o
[275/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/AirPoweredVerticalCoaster.cpp.o
[276/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/AlpineCoaster.cpp.o
[277/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/BobsleighCoaster.cpp.o
[278/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/ClassicStandUpRollerCoaster.cpp.o
[279/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/ClassicWoodenRollerCoaster.cpp.o
[280/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/ClassicWoodenTwisterRollerCoaster.cpp.o
[281/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/CompactInvertedCoaster.cpp.o
[282/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/CorkscrewRollerCoaster.cpp.o
[283/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/FlyingRollerCoaster.cpp.o
[284/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/FlyingRollerCoasterInverted.cpp.o
[285/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/HeartlineTwisterCoaster.cpp.o
[286/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/HybridCoaster.cpp.o
[287/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/InvertedHairpinCoaster.cpp.o
[288/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/InvertedImpulseCoaster.cpp.o
[289/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/InvertedRollerCoaster.cpp.o
[290/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/JuniorRollerCoaster.cpp.o
[291/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/LatticeTriangleTrack.cpp.o
[292/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/LatticeTriangleTrackAlt.cpp.o
[293/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/LayDownRollerCoasterInverted.cpp.o
[294/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/LimLaunchedRollerCoaster.cpp.o
[295/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/LoopingRollerCoaster.cpp.o
[296/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/MineRide.cpp.o
[297/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/MineTrainCoaster.cpp.o
[298/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/MiniRollerCoaster.cpp.o
[299/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/MiniSuspendedCoaster.cpp.o
[300/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/MultiDimensionRollerCoaster.cpp.o
[301/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/ReverseFreefallCoaster.cpp.o
[302/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/ReverserRollerCoaster.cpp.o
[303/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/SideFrictionRollerCoaster.cpp.o
[304/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/SingleRailRollerCoaster.cpp.o
[305/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/StandUpRollerCoaster.cpp.o
[306/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/Steeplechase.cpp.o
[307/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/SuspendedSwingingCoaster.cpp.o
[308/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/TwisterRollerCoaster.cpp.o
[309/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/VirginiaReel.cpp.o
[310/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/WildMouse.cpp.o
[311/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/WoodenWildMouse.cpp.o
[312/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/gentle/CarRide.cpp.o
[313/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/gentle/Circus.cpp.o
[314/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/gentle/CrookedHouse.cpp.o
[315/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/gentle/Dodgems.cpp.o
[316/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/gentle/FerrisWheel.cpp.o
[317/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/gentle/FlyingSaucers.cpp.o
[318/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/gentle/GhostTrain.cpp.o
[319/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/gentle/HauntedHouse.cpp.o
[320/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/gentle/Maze.cpp.o
[321/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/coaster/WoodenRollerCoaster.cpp.o
[322/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/gentle/MerryGoRound.cpp.o
[323/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/gentle/MiniGolf.cpp.o
[324/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/gentle/MiniHelicopters.cpp.o
[325/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/gentle/MonorailCycles.cpp.o
[326/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/gentle/ObservationTower.cpp.o
[327/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/gentle/SpaceRings.cpp.o
[328/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/gentle/SpiralSlide.cpp.o
[329/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/shops/Facility.cpp.o
[330/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/shops/Shop.cpp.o
[331/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/thrill/3dCinema.cpp.o
[332/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/thrill/Enterprise.cpp.o
[333/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/thrill/GoKarts.cpp.o
[334/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/thrill/LaunchedFreefall.cpp.o
[335/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/thrill/MagicCarpet.cpp.o
[336/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/thrill/MotionSimulator.cpp.o
[337/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/thrill/RotoDrop.cpp.o
[338/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/thrill/SwingingInverterShip.cpp.o
[339/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/thrill/SwingingShip.cpp.o
[340/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/thrill/TopSpin.cpp.o
[341/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/thrill/Twist.cpp.o
[342/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/transport/Chairlift.cpp.o
[343/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/transport/Lift.cpp.o
[344/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/transport/MiniatureRailway.cpp.o
[345/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/transport/Monorail.cpp.o
[346/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/transport/SuspendedMonorail.cpp.o
[347/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/water/BoatHire.cpp.o
[348/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/water/DinghySlide.cpp.o
[349/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/water/DinghySlideCovered.cpp.o
[350/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/water/LogFlume.cpp.o
[351/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/water/RiverRapids.cpp.o
[352/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/water/SplashBoats.cpp.o
[353/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/track/water/SubmarineRide.cpp.o
[354/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/vehicle/Vehicle.LaunchedFreefall.cpp.o
[355/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/vehicle/Vehicle.MiniGolf.cpp.o
[356/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/vehicle/Vehicle.ObservationTower.cpp.o
[357/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/vehicle/Vehicle.ReverserRollerCoaster.cpp.o
[358/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/vehicle/Vehicle.RiverRapids.cpp.o
[359/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/vehicle/Vehicle.RotoDrop.cpp.o
[360/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/vehicle/Vehicle.SplashBoats.cpp.o
[361/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/vehicle/Vehicle.Submarine.cpp.o
[362/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/vehicle/Vehicle.VirginaReel.cpp.o
[363/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/paint/vehicle/VehiclePaint.cpp.o
[364/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/park/Legacy.cpp.o
[365/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/park/ParkPreview.cpp.o
[366/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/peep/GuestPathfinding.cpp.o
[367/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/peep/PeepAnimations.cpp.o
[368/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/peep/PeepThoughts.cpp.o
[369/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/peep/RideUseSystem.cpp.o
[370/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/platform/Crash.cpp.o
[371/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/platform/Platform.Android.cpp.o
[372/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/platform/Platform.Common.cpp.o
[373/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/platform/Platform.Linux.cpp.o
[374/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/platform/Platform.Posix.cpp.o
[375/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/platform/Platform.Win32.cpp.o
[376/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/park/ParkFile.cpp.o
[377/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/profiling/Profiling.cpp.o
[378/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/rct1/Csg.cpp.o
[379/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/rct1/S4Importer.cpp.o
[380/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/rct1/T4Importer.cpp.o
[381/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/rct1/Tables.cpp.o
[382/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/rct12/CSStringConverter.cpp.o
[383/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/rct12/RCT12.cpp.o
[384/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/rct12/SawyerChunk.cpp.o
[385/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/rct12/SawyerChunkReader.cpp.o
[386/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/rct12/SawyerChunkWriter.cpp.o
[387/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/rct2/RCT2.cpp.o
[388/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/rct2/SeaDecrypt.cpp.o
[389/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/rct12/ScenarioPatcher.cpp.o
[390/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/rct2/S6Importer.cpp.o
[391/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/rct2/T6Exporter.cpp.o
[392/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/rct2/T6Importer.cpp.o
[393/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/CableLift.cpp.o
[394/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/CarEntry.cpp.o
[395/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/MazeCost.cpp.o
[396/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/RideAudio.cpp.o
[397/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/RideConstruction.cpp.o
[398/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/RideData.cpp.o
[399/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/RideManager.cpp.o
[400/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/ShopItem.cpp.o
[401/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/Ride.cpp.o
[402/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/RideRatings.cpp.o
[403/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/Station.cpp.o
[404/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/Track.cpp.o
[405/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/TrackData.cpp.o
[406/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/TrackDesign.cpp.o
[407/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/TrackDesignRepository.cpp.o
[408/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/TrackDesignSave.cpp.o
[409/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/TrackPaint.cpp.o
[410/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/TrackStyle.cpp.o
[411/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/TrainManager.cpp.o
[412/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/Vehicle.cpp.o
[413/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/VehicleData.cpp.o
[414/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/VehicleRiderControl.cpp.o
[415/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenario/ScenarioSources.cpp.o
[416/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenes/game/GameScene.cpp.o
[417/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenes/intro/IntroScene.cpp.o
[418/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenes/title/Command/End.cpp.o
[419/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenes/title/Command/LoadPark.cpp.o
[420/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ride/VehicleSubpositionData.cpp.o
[421/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenario/Scenario.cpp.o
[422/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenario/ScenarioRepository.cpp.o
[423/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenes/Scene.cpp.o
[424/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenes/preloader/PreloaderScene.cpp.o
[425/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenes/title/Command/FollowEntity.cpp.o
[426/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenes/title/Command/LoadScenario.cpp.o
[427/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenes/title/Command/Restart.cpp.o
[428/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenes/title/Command/RotateView.cpp.o
[429/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenes/title/Command/SetLocation.cpp.o
[430/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenes/title/Command/SetSpeed.cpp.o
[431/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenes/title/Command/SetZoom.cpp.o
[432/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenes/title/Command/Wait.cpp.o
[433/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenes/title/TitleScene.cpp.o
[434/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenes/title/TitleSequence.cpp.o
[435/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scenes/title/TitleSequenceManager.cpp.o
[436/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/HookEngine.cpp.o
[437/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/Plugin.cpp.o
[438/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/entity/ScGuest.cpp.o
[439/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/entity/ScLitter.cpp.o
[440/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/entity/ScParticle.cpp.o
[441/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/entity/ScStaff.cpp.o
[442/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/entity/ScVehicle.cpp.o
[443/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/network/ScNetwork.cpp.o
[444/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/network/ScPlayer.cpp.o
[445/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/network/ScPlayerGroup.cpp.o
[446/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/object/ScInstalledObject.cpp.o
[447/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/object/ScObjectManager.cpp.o
[448/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/ride/ScRideStation.cpp.o
[449/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/ScriptEngine.cpp.o
[450/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/ride/ScRide.cpp.o
[451/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/ride/ScTrackIterator.cpp.o
[452/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/ride/ScTrackSegment.cpp.o
[453/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/world/ScMap.cpp.o
[454/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/world/ScPark.cpp.o
[455/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/world/ScParkMessage.cpp.o
[456/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/world/ScResearch.cpp.o
[457/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/world/ScTile.cpp.o
[458/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/scripting/bindings/world/ScTileElement.cpp.o
[459/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ui/DummyUiContext.cpp.o
[460/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/ui/DummyWindowManager.cpp.o
[461/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/util/Util.cpp.o
[462/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/windows/Intent.cpp.o
[463/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/Banner.cpp.o
[464/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/Climate.cpp.o
[465/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/ConstructionClearance.cpp.o
[466/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/Entrance.cpp.o
[467/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/Footpath.cpp.o
[468/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/MapAnimation.cpp.o
[469/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/QuarterTile.cpp.o
[470/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/SurfaceData.cpp.o
[471/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/Map.cpp.o
[472/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/Park.cpp.o
[473/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/Scenery.cpp.o
[474/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/TileInspector.cpp.o
[475/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/Wall.cpp.o
[476/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/map_generator/MapGen.cpp.o
[477/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/map_generator/MapHelpers.cpp.o
[478/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/map_generator/PngTerrainGenerator.cpp.o
[479/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/map_generator/SimplexNoise.cpp.o
[480/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/map_generator/SurfaceSelection.cpp.o
[481/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/map_generator/TreePlacement.cpp.o
[482/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/tile_element/BannerElement.cpp.o
[483/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/tile_element/EntranceElement.cpp.o
[484/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/tile_element/LargeSceneryElement.cpp.o
[485/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/tile_element/PathElement.cpp.o
[486/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/tile_element/SmallSceneryElement.cpp.o
[487/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/tile_element/SurfaceElement.cpp.o
[488/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/tile_element/TileElement.cpp.o
[489/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/tile_element/TileElementBase.cpp.o
[490/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/tile_element/WallElement.cpp.o
[491/629] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/world/tile_element/TrackElement.cpp.o
[492/629] Building CXX object CMakeFiles/libopenrct2.dir/src/thirdparty/duktape/duktape.cpp.o
[493/629] Building CXX object CMakeFiles/openrct2-cli.dir/src/openrct2-cli/Cli.cpp.o
[494/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/CursorData.cpp.o
[495/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/CursorRepository.cpp.o
[496/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/ProvisionalElements.cpp.o
[497/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/SDLException.cpp.o
[498/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/TextComposition.cpp.o
[499/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/Ui.cpp.o
[500/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/UiContext.Android.cpp.o
[501/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/UiContext.Linux.cpp.o
[502/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/UiContext.Win32.cpp.o
[503/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/audio/AudioChannel.cpp.o
[504/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/UiContext.cpp.o
[505/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/WindowManager.cpp.o
[506/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/audio/AudioContext.cpp.o
[507/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/audio/AudioMixer.cpp.o
[508/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/audio/FlacAudioSource.cpp.o
[509/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/audio/MemoryAudioSource.cpp.o
[510/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/audio/OggAudioSource.cpp.o
[511/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/audio/SDLAudioSource.cpp.o
[512/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/audio/WavAudioSource.cpp.o
[513/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/drawing/BitmapReader.cpp.o
[514/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/drawing/engines/HardwareDisplayDrawingEngine.cpp.o
[515/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/drawing/engines/SoftwareDrawingEngine.cpp.o
[516/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/drawing/engines/opengl/ApplyPaletteShader.cpp.o
[517/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/drawing/engines/opengl/ApplyTransparencyShader.cpp.o
[518/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/drawing/engines/opengl/DrawLineShader.cpp.o
[519/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/drawing/engines/opengl/DrawRectShader.cpp.o
[520/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/drawing/engines/opengl/OpenGLAPI.cpp.o
[521/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/drawing/engines/opengl/OpenGLFramebuffer.cpp.o
[522/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/drawing/engines/opengl/OpenGLShaderProgram.cpp.o
[523/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/drawing/engines/opengl/SwapFramebuffer.cpp.o
[524/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/drawing/engines/opengl/OpenGLDrawingEngine.cpp.o
[525/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/drawing/engines/opengl/TextureCache.cpp.o
[526/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/drawing/engines/opengl/TransparencyDepth.cpp.o
[527/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/input/InputManager.cpp.o
[528/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/input/MouseInput.cpp.o
[529/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/input/ShortcutInput.cpp.o
[530/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/input/Shortcuts.cpp.o
[531/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/interface/FileBrowser.cpp.o
[532/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/interface/Graph.cpp.o
[533/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/interface/InGameConsole.cpp.o
[534/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/interface/LandTool.cpp.o
[535/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/interface/Objective.cpp.o
[536/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/interface/ViewportQuery.cpp.o
[537/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/interface/Widget.cpp.o
[538/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/input/ShortcutManager.cpp.o
[539/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/interface/Theme.cpp.o
[540/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/interface/ViewportInteraction.cpp.o
[541/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/interface/Window.cpp.o
[542/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/ride/Construction.cpp.o
[543/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/ride/VehicleSounds.cpp.o
[544/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/scripting/CustomImages.cpp.o
[545/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/scripting/CustomListView.cpp.o
[546/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/scripting/CustomMenu.cpp.o
[547/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/AssetPacks.cpp.o
[548/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/scripting/CustomWindow.cpp.o
[549/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/title/TitleSequencePlayer.cpp.o
[550/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/About.cpp.o
[551/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Banner.cpp.o
[552/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Changelog.cpp.o
[553/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Cheats.cpp.o
[554/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/ClearScenery.cpp.o
[555/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/CustomCurrency.cpp.o
[556/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/DebugPaint.cpp.o
[557/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/DemolishRidePrompt.cpp.o
[558/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Dropdown.cpp.o
[559/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/EditorBottomToolbar.cpp.o
[560/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/scripting/UiExtensions.cpp.o
[561/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/EditorInventionsList.cpp.o
[562/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/EditorObjectSelection.cpp.o
[563/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/EditorObjectiveOptions.cpp.o
[564/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/EditorParkEntrance.cpp.o
[565/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/EditorScenarioOptions.cpp.o
[566/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Error.cpp.o
[567/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Finances.cpp.o
[568/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Footpath.cpp.o
[569/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/GameBottomToolbar.cpp.o
[570/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Guest.cpp.o
[571/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/GuestList.cpp.o
[572/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/InstallTrack.cpp.o
[573/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Land.cpp.o
[574/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/LandRights.cpp.o
[575/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/LoadSave.cpp.o
[576/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Main.cpp.o
[577/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Map.cpp.o
[578/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/MapGen.cpp.o
[579/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/MapTooltip.cpp.o
[580/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/MazeConstruction.cpp.o
[581/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Multiplayer.cpp.o
[582/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/NetworkStatus.cpp.o
[583/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/NewCampaign.cpp.o
[584/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/NewRide.cpp.o
[585/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/News.cpp.o
[586/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/NewsOptions.cpp.o
[587/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Options.cpp.o
[588/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/OverwritePrompt.cpp.o
[589/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Park.cpp.o
[590/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/PatrolArea.cpp.o
[591/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Player.cpp.o
[592/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/ProgressWindow.cpp.o
[593/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/RefurbishRidePrompt.cpp.o
[594/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/ObjectLoadError.cpp.o
[595/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Research.cpp.o
[596/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Ride.cpp.o
[597/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/RideConstruction.cpp.o
[598/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/RideList.cpp.o
[599/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/SavePrompt.cpp.o
[600/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/ScenarioSelect.cpp.o
[601/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Scenery.cpp.o
[602/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/SceneryScatter.cpp.o
[603/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/ServerList.cpp.o
[604/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/ServerStart.cpp.o
[605/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/ShortcutKeys.cpp.o
[606/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Sign.cpp.o
[607/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Staff.cpp.o
[608/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/StaffFirePrompt.cpp.o
[609/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/StaffList.cpp.o
[610/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/TextInput.cpp.o
[611/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Themes.cpp.o
[612/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/TileInspector.cpp.o
[613/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/TitleExit.cpp.o
[614/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/TitleLogo.cpp.o
[615/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/TitleOptions.cpp.o
[616/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Tooltip.cpp.o
[617/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/TitleMenu.cpp.o
[618/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/TitleVersion.cpp.o
[619/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/TrackDesignManage.cpp.o
[620/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/TopToolbar.cpp.o
[621/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/TrackList.cpp.o
[622/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/ViewClipping.cpp.o
[623/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Transparency.cpp.o
[624/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Viewport.cpp.o
[625/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/TrackDesignPlace.cpp.o
[626/629] Building CXX object CMakeFiles/openrct2.dir/src/openrct2-ui/windows/Water.cpp.o
[627/629] Linking CXX static library libopenrct2.a
[628/629] Linking CXX executable openrct2-cli
[629/629] Linking CXX executable openrct2

The OpenRCT2 CMake patch for those interested:

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5ee06f91ac..eda797a88e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,8 @@
 # CMAKE project for openrct2
 cmake_minimum_required(VERSION 3.24)
 
+find_package (nlohmann_json 3.12.0 REQUIRED NO_MODULE)
+
 if (CMAKE_BINARY_DIR STREQUAL CMAKE_SOURCE_DIR)
     message(FATAL_ERROR "Building in-source is not supported! Create a build dir and remove ${CMAKE_SOURCE_DIR}/CMakeCache.txt")
 endif()
diff --git a/src/openrct2/CMakeLists.txt b/src/openrct2/CMakeLists.txt
index 548922df70..7e2939ba03 100644
--- a/src/openrct2/CMakeLists.txt
+++ b/src/openrct2/CMakeLists.txt
@@ -20,6 +20,7 @@ if (ENABLE_SCRIPTING)
 endif ()
 
 add_library(libopenrct2 ${OPENRCT2_CORE_SOURCES} ${OPENRCT2_CORE_MM_SOURCES} ${OPENRCT2_DUKTAPE_SOURCES})
+target_link_libraries(libopenrct2 nlohmann_json::nlohmann_json)
 if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "13")
 	message(WARNING "Buggy GCC 12 detected! Disabling some warnings")
 	set_source_files_properties("${CMAKE_CURRENT_LIST_DIR}/localisation/FormatCodes.cpp" PROPERTIES COMPILE_FLAGS "-Wno-restrict")

@marc2k3
Copy link

marc2k3 commented Apr 13, 2025

You cannot depend on language support because there are options to opt out of char8_t entirely. I use MSVC and I opt out with the /Zc:char8_t- compiler switch. I don't use other compilers but a quick google suggests clang/gcc have -fno-char8_t so others might run in to this as well.

Image

In the MSVC STL, u8string is only exposed when __cpp_lib_char8_t is defined.

https://github.com/microsoft/STL/blob/main/stl/inc/xstring#L3380-L3382

#ifdef __cpp_lib_char8_t
_EXPORT_STD using u8string = basic_string<char8_t, char_traits<char8_t>, allocator<char8_t>>;
#endif // defined(__cpp_lib_char8_t)

@mrmbernardi
Copy link

Like @marc2k3 is alluding to, the issue arises when building OpenRCT2 because OpenRCT2 uses -fno-char8_t

The code introduced in 11aa5f9 doesn't work with this compiler flag, but I checked the parent commit and that also doesn't work either. Perhaps more work would be required to make this library compatible with no-char8_t ?

@nlohmann nlohmann added the solution: proposed fix a fix for the issue has been proposed and waits for confirmation label Apr 14, 2025
@nlohmann nlohmann added this to the Release 3.12.1 milestone Apr 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: bug solution: proposed fix a fix for the issue has been proposed and waits for confirmation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants