From 7d087b46d22b59da6426b164d29887212533a840 Mon Sep 17 00:00:00 2001 From: "pavel.sergeev" Date: Wed, 9 Apr 2025 19:38:33 +0200 Subject: [PATCH 1/4] fix macos build --- CMakeLists.txt | 5 +++-- macos/CMakeLists.txt | 2 +- shared/cc/StringUTF16.cc | 6 ++++-- shared/cc/StringUTF16.hh | 4 ++-- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5b64230f..eef5f806 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 4.0) project(jwm-project LANGUAGES CXX) #################################################################### @@ -15,7 +15,8 @@ if(APPLE) message(STATUS "Configure macos platform module") endif() + if (UNIX AND NOT APPLE) add_subdirectory(linux) message(STATUS "Configure linux platform module") -endif() \ No newline at end of file +endif() diff --git a/macos/CMakeLists.txt b/macos/CMakeLists.txt index 8cde6112..09c932da 100644 --- a/macos/CMakeLists.txt +++ b/macos/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 4.0) project(jwm LANGUAGES CXX OBJC) set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) diff --git a/shared/cc/StringUTF16.cc b/shared/cc/StringUTF16.cc index a3b54b56..9facdccf 100644 --- a/shared/cc/StringUTF16.cc +++ b/shared/cc/StringUTF16.cc @@ -70,14 +70,16 @@ jwm::StringUTF16::StringUTF16(const uint32_t *str) { } jwm::JNILocal jwm::StringUTF16::toJString(JNIEnv* env) const { - return jwm::JNILocal(env, env->NewString(c_str(), static_cast(length()))); + return jwm::JNILocal(env, env->NewString((const jchar*)c_str(), static_cast(length()))); } jwm::StringUTF16 jwm::StringUTF16::makeFromJString(JNIEnv* env, jstring js) { jwm::StringUTF16 result; jsize length = env->GetStringLength(js); const jchar* chars = env->GetStringChars(js, nullptr); - result = jwm::StringUTF16(chars, length); + + const char16_t* signed_chars = (const char16_t*)(chars); + result = jwm::StringUTF16(signed_chars, length); env->ReleaseStringChars(js, chars); return result; } diff --git a/shared/cc/StringUTF16.hh b/shared/cc/StringUTF16.hh index cf58976a..e2ebeae6 100644 --- a/shared/cc/StringUTF16.hh +++ b/shared/cc/StringUTF16.hh @@ -10,9 +10,9 @@ namespace jwm /** * @brief std::string which uses jchar as a character type */ - class StringUTF16: public std::basic_string { + class StringUTF16: public std::basic_string { public: - using std::basic_string::basic_string; + using std::basic_string::basic_string; /** * Constructs StringUTF16 from C style string. From 25bedaf60fe186f12cf27b79d3596e70bc4da999 Mon Sep 17 00:00:00 2001 From: "pavel.sergeev" Date: Thu, 10 Apr 2025 12:25:59 +0200 Subject: [PATCH 2/4] we not ready to cmake 4.0 yet --- CMakeLists.txt | 2 +- macos/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index eef5f806..a452ea62 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 4.0) +cmake_minimum_required(VERSION 3.9) project(jwm-project LANGUAGES CXX) #################################################################### diff --git a/macos/CMakeLists.txt b/macos/CMakeLists.txt index 09c932da..8cde6112 100644 --- a/macos/CMakeLists.txt +++ b/macos/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 4.0) +cmake_minimum_required(VERSION 3.9) project(jwm LANGUAGES CXX OBJC) set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) From 97c38358ec7128ef739bd99e5f83b91fdec9fb84 Mon Sep 17 00:00:00 2001 From: Pavel Date: Thu, 10 Apr 2025 22:14:04 +0200 Subject: [PATCH 3/4] Update shared/cc/StringUTF16.cc Co-authored-by: Alex2772 --- shared/cc/StringUTF16.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/cc/StringUTF16.cc b/shared/cc/StringUTF16.cc index 9facdccf..81d1dd2d 100644 --- a/shared/cc/StringUTF16.cc +++ b/shared/cc/StringUTF16.cc @@ -70,7 +70,7 @@ jwm::StringUTF16::StringUTF16(const uint32_t *str) { } jwm::JNILocal jwm::StringUTF16::toJString(JNIEnv* env) const { - return jwm::JNILocal(env, env->NewString((const jchar*)c_str(), static_cast(length()))); + return jwm::JNILocal(env, env->NewString(reinterpret_cast(c_str()), static_cast(length()))); } jwm::StringUTF16 jwm::StringUTF16::makeFromJString(JNIEnv* env, jstring js) { From 069bffcc32da98c6643f33af864c7cf01398faf9 Mon Sep 17 00:00:00 2001 From: Pavel Date: Thu, 10 Apr 2025 22:14:14 +0200 Subject: [PATCH 4/4] Update shared/cc/StringUTF16.cc Co-authored-by: Alex2772 --- shared/cc/StringUTF16.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/cc/StringUTF16.cc b/shared/cc/StringUTF16.cc index 81d1dd2d..2fc240e5 100644 --- a/shared/cc/StringUTF16.cc +++ b/shared/cc/StringUTF16.cc @@ -78,7 +78,7 @@ jwm::StringUTF16 jwm::StringUTF16::makeFromJString(JNIEnv* env, jstring js) { jsize length = env->GetStringLength(js); const jchar* chars = env->GetStringChars(js, nullptr); - const char16_t* signed_chars = (const char16_t*)(chars); + const char16_t* signed_chars = reinterpret_cast(chars); result = jwm::StringUTF16(signed_chars, length); env->ReleaseStringChars(js, chars); return result;