Przeglądaj źródła

UseJava: Fix classpath separator on WIN32 cross compilation (#15206)

The condition to use ";" as classpath separator includes a check for the
switch "WIN32" which is a target switch.  When cross-compiling for a
non-windows target, this switch is not present and the separator
defaults to ":".  It should check for "CMAKE_HOST_WIN32" instead.
Lorenz Witte 11 lat temu
rodzic
commit
7a373d5e55
1 zmienionych plików z 1 dodań i 1 usunięć
  1. 1 1
      Modules/UseJava.cmake

+ 1 - 1
Modules/UseJava.cmake

@@ -398,7 +398,7 @@ function(add_jar _TARGET_NAME)
         ${CMAKE_JAVA_LIBRARY_OUTPUT_PATH}
     )
 
-    if (WIN32 AND NOT CYGWIN AND CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
+    if (CMAKE_HOST_WIN32 AND NOT CYGWIN AND CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
         set(CMAKE_JAVA_INCLUDE_FLAG_SEP ";")
     else ()
         set(CMAKE_JAVA_INCLUDE_FLAG_SEP ":")