Skip to content

Wip windows#1

Draft
Osyotr wants to merge 71 commits intomasterfrom
wip-windows
Draft

Wip windows#1
Osyotr wants to merge 71 commits intomasterfrom
wip-windows

Conversation

@Osyotr
Copy link
Copy Markdown
Owner

@Osyotr Osyotr commented Apr 9, 2024

No description provided.

@Osyotr Osyotr marked this pull request as ready for review April 9, 2024 22:42
@Osyotr Osyotr force-pushed the wip-windows branch 7 times, most recently from 7e87848 to 7ea5d3d Compare April 9, 2024 23:40
@Osyotr Osyotr force-pushed the wip-windows branch 11 times, most recently from 55e42d8 to 674eafd Compare May 1, 2024 14:31
@vaanwd
Copy link
Copy Markdown

vaanwd commented Nov 17, 2024

Hello!
Do you have some instrunctions of how to build Organic Maps on Windows?
Thank`s!

@Osyotr
Copy link
Copy Markdown
Owner Author

Osyotr commented Nov 17, 2024

The build steps are there: https://github.com/Osyotr/organicmaps/blob/wip-windows/.github/workflows/windows-check.yaml
The important step is to skip some submodules.

PS: windows builds are not usable at this moment due to organicmaps#7838

@vaanwd
Copy link
Copy Markdown

vaanwd commented Nov 19, 2024

The build steps are there: https://github.com/Osyotr/organicmaps/blob/wip-windows/.github/workflows/windows-check.yaml The important step is to skip some submodules.

PS: windows builds are not usable at this moment due to organicmaps#7838

Yes, i have the same problem(Black screen) in Arch Linux with QT 6.8.
There is a posibility to downgrade QT in vcpkg?

@Osyotr
Copy link
Copy Markdown
Owner Author

Osyotr commented Nov 19, 2024

Yes but I think the OpenGL issue is deeper because with Qt 6.6 it will crash 9/10 times.
https://learn.microsoft.com/en-us/vcpkg/consume/lock-package-versions?tabs=inspect-powershell#5---force-a-specific-version

biodranik and others added 26 commits August 4, 2025 17:10
Signed-off-by: Alexander Borsuk <me@alex.bio>
Co-authored-by: Alexander Gabilondo <alexgabi@openmailbox.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jaŭhien <j.kisliakou@gmail.com>
Co-authored-by: Jim Kats <jim-kats@hotmail.com>
Co-authored-by: Sketch6580 <sketch6580@users.noreply.hosted.weblate.org>
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com>
Signed-off-by: Alexander Gabilondo <alexgabi@openmailbox.org>
Signed-off-by: Jaŭhien <j.kisliakou@gmail.com>
Signed-off-by: Jim Kats <jim-kats@hotmail.com>
Signed-off-by: Sketch6580 <sketch6580@users.noreply.hosted.weblate.org>
Signed-off-by: Максим Горпиніч <gorpinicmaksim0@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/be/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/el/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/eu/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/uk/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/countries/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/be/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/el/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/uk/
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
The bug is quite rare and happens when the user taps on the edit (pencil) button on the PlacePage. It seems like the tap happens during the PP data object reloading the and the object type has changed. It is better to avoid failing in such cases because we cannot prevent user interaction during the pp reloading.

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
> При уходе с тропы если язык подсказок русский, говорит - «преращик маршрута».

Signed-off-by: Alexander Borsuk <me@alex.bio>
Co-authored-by: Ghost of Sparta <makesocialfoss32@keemail.me>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jim Kats <jim-kats@hotmail.com>
Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com>
Signed-off-by: Ghost of Sparta <makesocialfoss32@keemail.me>
Signed-off-by: Jim Kats <jim-kats@hotmail.com>
Signed-off-by: Sveinn í Felli <sv1@fellsnet.is>
Signed-off-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Signed-off-by: Максим Горпиніч <gorpinicmaksim0@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/el/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/hu/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/is/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/uk/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/af/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/ar/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/da/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/hi/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/ia/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/id/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/ja/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/ro/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/sv/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/tr/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/el/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/hu/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/is/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/uk/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/tts/en_GB/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/tts/ia/
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
Windows is performing path normalization anyways.
Fixes some unit tests that expect the output to contain forward slashes.

Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
It's going to be maximized anyway.
@@ -227,15 +227,15 @@ void AsciiToUpper(std::string & s)

void Trim(std::string & s)
{
boost::trim_if(s, ::isspace);
boost::trim_if(s, [](unsigned char c){ return std::isspace(c); });
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[clang-format] reported by reviewdog 🐶

Suggested change
boost::trim_if(s, [](unsigned char c){ return std::isspace(c); });
boost::trim_if(s, [](unsigned char c) { return std::isspace(c); });

Comment thread libs/base/timegm.cpp
Comment on lines +51 to +52
std::tm tmp = tm;
return _mkgmtime(&tmp);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[clang-format] reported by reviewdog 🐶

Suggested change
std::tm tmp = tm;
return _mkgmtime(&tmp);
std::tm tmp = tm;
return _mkgmtime(&tmp);

Comment thread libs/base/timegm.cpp
std::tm tmp = tm;
return _mkgmtime(&tmp);
#else
return timegm(&tm);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[clang-format] reported by reviewdog 🐶

Suggested change
return timegm(&tm);
return timegm(&tm);

@@ -54,7 +54,7 @@ void TransliterateHiraganaToKatakana(UniString & s)

size_t GetMaxErrorsForToken(UniString const & token)
{
bool const digitsOnly = std::all_of(token.begin(), token.end(), ::isdigit);
bool const digitsOnly = std::all_of(token.begin(), token.end(), [](unsigned char c){ return std::isdigit(c); });
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[clang-format] reported by reviewdog 🐶

Suggested change
bool const digitsOnly = std::all_of(token.begin(), token.end(), [](unsigned char c){ return std::isdigit(c); });
bool const digitsOnly = std::all_of(token.begin(), token.end(), [](unsigned char c) { return std::isdigit(c); });

@@ -75,6 +75,9 @@ class DesktopLocationService
#if defined(OMIM_OS_LINUX)
m_services.push_back(CreateQtLocationService(*this, "geoclue2"));
#endif // OMIM_OS_LINUX
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[clang-format] reported by reviewdog 🐶

Suggested change
#endif // OMIM_OS_LINUX
#endif // OMIM_OS_LINUX

@@ -29,7 +29,7 @@ auto GetNextDayAtNight(int32_t startTimeZoneUTC)
std::tm * nextDayDate = std::localtime(&nextDay);

long constexpr kSecondsInHour = 3600;
int const curUTCOffset = static_cast<int>(nextDayDate->tm_gmtoff / kSecondsInHour);
int const curUTCOffset = static_cast<int>(0 / kSecondsInHour); // TODO
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[clang-format] reported by reviewdog 🐶

Suggested change
int const curUTCOffset = static_cast<int>(0 / kSecondsInHour); // TODO
int const curUTCOffset = static_cast<int>(0 / kSecondsInHour); // TODO

};
dataSource.ForEachInScale(fn, scales::GetUpperScale());
int count = 0;
auto const fn = [&](FeatureType & ft) {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[clang-format] reported by reviewdog 🐶

Suggested change
auto const fn = [&](FeatureType & ft) {
auto const fn = [&](FeatureType & ft)
{

@@ -25,6 +25,10 @@
#include <CoreFoundation/CoreFoundation.h>
#endif

#ifdef OMIM_OS_WINDOWS
# include <windows.h>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[clang-format] reported by reviewdog 🐶

Suggested change
# include <windows.h>
#include <windows.h>

Comment thread qt/main.cpp
@@ -239,7 +239,7 @@ int main(int argc, char * argv[])
#endif // BUILD_DESIGNER

Framework framework(frameworkParams);
qt::MainWindow w(framework, std::move(screenshotParams), QApplication::primaryScreen()->geometry()
qt::MainWindow w(framework, std::move(screenshotParams)
#ifdef BUILD_DESIGNER
,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[clang-format] reported by reviewdog 🐶

Suggested change
,
,

android:padding="@dimen/margin_quarter_plus">
<ImageView
android:gravity="center">
<LinearLayout
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [Android Lint] reported by reviewdog 🐶
UseCompoundDrawables: This tag and its children can be replaced by one <TextView/> and a compound drawable

android:padding="@dimen/margin_quarter_plus">
<ImageView
android:gravity="center">
<LinearLayout
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [Android Lint] reported by reviewdog 🐶
UseCompoundDrawables: This tag and its children can be replaced by one <TextView/> and a compound drawable

<ImageView
android:gravity="center"
android:orientation="vertical">
<LinearLayout
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [Android Lint] reported by reviewdog 🐶
UseCompoundDrawables: This tag and its children can be replaced by one <TextView/> and a compound drawable

<ImageView
android:gravity="center"
android:orientation="vertical">
<LinearLayout
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [Android Lint] reported by reviewdog 🐶
UseCompoundDrawables: This tag and its children can be replaced by one <TextView/> and a compound drawable

app:tint="?elevationProfilePropIconTint" />
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [Android Lint] reported by reviewdog 🐶
ContentDescription: Missing contentDescription attribute on image

<dimen name="elevation_profile_peek_height">260dp</dimen>
<dimen name="elevation_profile_chart_min_height">144dp</dimen>
<dimen name="elevation_profile_chart_info_min_height">68dp</dimen>
<dimen name="elevation_profile_chart_info_min_height">54dp</dimen>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [Android Lint] reported by reviewdog 🐶
UnusedResources: The resource R.dimen.elevation_profile_chart_info_min_height appears to be unused

<dimen name="text_size_body_3">14sp</dimen>
<dimen name="text_size_body_4">12sp</dimen>
<dimen name="text_size_body_5">10sp</dimen>
<dimen name="text_size_body_6">8sp</dimen>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [Android Lint] reported by reviewdog 🐶
UnusedResources: The resource R.dimen.text_size_body_6 appears to be unused

<item name="android:textColor">?android:textColorSecondary</item>
</style>

<style name="MwmTextAppearance.Body6">
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [Android Lint] reported by reviewdog 🐶
UnusedResources: The resource R.style.MwmTextAppearance_Body6 appears to be unused

android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?ppBackground">
<ImageView
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [Android Lint] reported by reviewdog 🐶
ContentDescription: Missing contentDescription attribute on image

android:paddingEnd="@dimen/margin_quarter"
android:textAllCaps="false"
tools:text="@string/categories" />
<ImageView
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [Android Lint] reported by reviewdog 🐶
ContentDescription: Missing contentDescription attribute on image

Osyotr pushed a commit that referenced this pull request Apr 25, 2026
The previous port matched ephemeral client ports range
and led to failures like this one on Linux CI:

```
4/35 Test  #1: OmimStartTestServer ..............***Failed    0.27 sec
Traceback (most recent call last):
  File "/home/runner/work/organicmaps/organicmaps/tools/python/test_server/start_server.py", line 62, in <module>
    with urllib.request.urlopen(READY_URL, timeout=1.0) as response:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/urllib/request.py", line 215, in urlopen
    return opener.open(url, data, timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/urllib/request.py", line 515, in open
    response = self._open(req, data)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/urllib/request.py", line 532, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/urllib/request.py", line 492, in _call_chain
    result = func(*args)
             ^^^^^^^^^^^
  File "/usr/lib/python3.12/urllib/request.py", line 1373, in http_open
    return self.do_open(http.client.HTTPConnection, req)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/urllib/request.py", line 1348, in do_open
    r = h.getresponse()
        ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/http/client.py", line 1448, in getresponse
    response.begin()
  File "/usr/lib/python3.12/http/client.py", line 336, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/http/client.py", line 318, in _read_status
    raise BadStatusLine(line)
http.client.BadStatusLine: GET /id HTTP/1.1
```

Signed-off-by: Alexander Borsuk <me@alex.bio>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.