diff --git a/.github/workflows/Java.yml b/.github/workflows/Java.yml index 92866d6c4..676d6eaa5 100644 --- a/.github/workflows/Java.yml +++ b/.github/workflows/Java.yml @@ -463,6 +463,7 @@ jobs: shell: cmd run: | call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" + dumpbin.exe /imports build\release\libduckdb_java.so_windows_amd64 dumpbin.exe /exports build\release\libduckdb_java.so_windows_amd64 - name: Java Tests @@ -544,15 +545,15 @@ jobs: shell: cmd run: | call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsarm64.bat" + dumpbin.exe /imports build\release\libduckdb_java.so_windows_arm64 dumpbin.exe /exports build\release\libduckdb_java.so_windows_arm64 - # Test runs are failing because windows_arm64 extensions are missing - name: Java Tests if: ${{ inputs.skip_tests != 'true' }} shell: bash run: | java -version - make test || true + make test - name: Deploy shell: bash diff --git a/CMakeLists.txt b/CMakeLists.txt index 0ea89a890..1f01fbe90 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,6 +11,7 @@ cmake_minimum_required(VERSION 3.5...3.29) set(CMAKE_CXX_STANDARD "11" CACHE STRING "C++ standard to enforce") set(CMAKE_VERBOSE_MAKEFILE OFF) set(CMAKE_POSITION_INDEPENDENT_CODE ON) +set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") if(NOT JNI_FOUND OR NOT Java_FOUND) message(FATAL_ERROR "No compatible Java/JNI found") @@ -634,10 +635,7 @@ target_compile_definitions(duckdb_java PRIVATE -DDUCKDB_EXTENSION_AUTOLOAD_DEFAULT -DDUCKDB_EXTENSION_AUTOINSTALL_DEFAULT) -if(MSVC) - target_compile_definitions(duckdb_java PRIVATE - -D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR) -else() +if(NOT MSVC) target_compile_definitions(duckdb_java PRIVATE -DDUCKDB_EXTENSION_JEMALLOC_LINKED) endif() diff --git a/CMakeLists.txt.in b/CMakeLists.txt.in index 48b018d21..d5c1d9d6c 100644 --- a/CMakeLists.txt.in +++ b/CMakeLists.txt.in @@ -11,6 +11,7 @@ cmake_minimum_required(VERSION 3.5...3.29) set(CMAKE_CXX_STANDARD "11" CACHE STRING "C++ standard to enforce") set(CMAKE_VERBOSE_MAKEFILE OFF) set(CMAKE_POSITION_INDEPENDENT_CODE ON) +set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") if(NOT JNI_FOUND OR NOT Java_FOUND) message(FATAL_ERROR "No compatible Java/JNI found") @@ -152,10 +153,7 @@ target_compile_definitions(duckdb_java PRIVATE -DDUCKDB_EXTENSION_AUTOLOAD_DEFAULT -DDUCKDB_EXTENSION_AUTOINSTALL_DEFAULT) -if(MSVC) - target_compile_definitions(duckdb_java PRIVATE - -D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR) -else() +if(NOT MSVC) target_compile_definitions(duckdb_java PRIVATE -DDUCKDB_EXTENSION_JEMALLOC_LINKED) endif()