diff --git a/zipline/build.gradle.kts b/zipline/build.gradle.kts index b087e02bcc..97a91ee83f 100644 --- a/zipline/build.gradle.kts +++ b/zipline/build.gradle.kts @@ -182,7 +182,11 @@ cklib { listOf( //"-DDUMP_LEAKS=1", // For local testing ONLY! "-DKONAN_MI_MALLOC=1", - "-DCONFIG_VERSION=\"${quickJsVersion()}\"", + if (isWindows()) { + "-DCONFIG_VERSION=\"\\\"${quickJsVersion()}\\\"\"" + } else { + "-DCONFIG_VERSION=\"${quickJsVersion()}\"" + }, "-Wno-unknown-pragmas", "-ftls-model=initial-exec", "-Wno-unused-function", @@ -212,9 +216,13 @@ android { externalNativeBuild { cmake { - arguments("-DANDROID_TOOLCHAIN=clang", "-DANDROID_STL=c++_static") - cFlags("-fstrict-aliasing", "-DCONFIG_VERSION=\\\"${quickJsVersion()}\\\"") - cppFlags("-fstrict-aliasing", "-DCONFIG_VERSION=\\\"${quickJsVersion()}\\\"") + arguments( + "-DANDROID_TOOLCHAIN=clang", + "-DANDROID_STL=c++_static", + "-DQUICKJS_VERSION=${quickJsVersion()}" + ) + cFlags("-fstrict-aliasing") + cppFlags("-fstrict-aliasing") } } @@ -285,6 +293,11 @@ android { fun quickJsVersion(): String { return File(projectDir, "native/quickjs/VERSION").readText().trim() } +fun isWindows(): Boolean { + return System.getProperty("os.name")?.contains("windows", ignoreCase = true) == true +} + + configure { configure( diff --git a/zipline/src/androidMain/CMakeLists.txt b/zipline/src/androidMain/CMakeLists.txt index a79db32c46..c871f8236a 100644 --- a/zipline/src/androidMain/CMakeLists.txt +++ b/zipline/src/androidMain/CMakeLists.txt @@ -3,6 +3,10 @@ cmake_minimum_required(VERSION 3.4.1) set(CMAKE_C_STANDARD 99) set(CMAKE_CXX_STANDARD 11) +if(DEFINED QUICKJS_VERSION) + add_compile_definitions(CONFIG_VERSION="${QUICKJS_VERSION}") +endif() + file(GLOB_RECURSE sources "../../native/*.c" "../../native/*.cpp") add_library(quickjs SHARED ${sources})