From 0b6fed32e3a250cffc07d6bc6d513fea9e14f233 Mon Sep 17 00:00:00 2001 From: Andrey Kamaev Date: Wed, 13 Jul 2011 14:48:16 +0000 Subject: [PATCH] Allowed spaces in Android NDK path --- OpenCVPCHSupport.cmake | 2 +- android/android.toolchain.cmake | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/OpenCVPCHSupport.cmake b/OpenCVPCHSupport.cmake index b72783f..476f7b7 100644 --- a/OpenCVPCHSupport.cmake +++ b/OpenCVPCHSupport.cmake @@ -53,7 +53,7 @@ MACRO(_PCH_GET_COMPILE_FLAGS _out_compile_flags) GET_DIRECTORY_PROPERTY(DIRINC INCLUDE_DIRECTORIES ) FOREACH(item ${DIRINC}) - LIST(APPEND ${_out_compile_flags} "${_PCH_include_prefix}${item}") + LIST(APPEND ${_out_compile_flags} "${_PCH_include_prefix}\"${item}\"") ENDFOREACH(item) GET_DIRECTORY_PROPERTY(_directory_flags DEFINITIONS) diff --git a/android/android.toolchain.cmake b/android/android.toolchain.cmake index 667248d..7c7fe21 100644 --- a/android/android.toolchain.cmake +++ b/android/android.toolchain.cmake @@ -98,6 +98,7 @@ # - modified July 2011 Andrey Kamaev andrey.kamaev@itseez.com # [~] fixed options caching # [~] search for all supported NDK versions +# [~] allowed spaces in NDK path # ---------------------------------------------------------------------------- # this one is important @@ -319,6 +320,13 @@ endif() if( BUILD_WITH_ANDROID_NDK ) set( CMAKE_CXX_FLAGS "--sysroot='${ANDROID_NDK_SYSROOT}' ${CMAKE_CXX_FLAGS}" ) set( CMAKE_C_FLAGS "--sysroot='${ANDROID_NDK_SYSROOT}' ${CMAKE_C_FLAGS}" ) + if (ANDROID_NDK_SYSROOT MATCHES "[ ]") + # workaround for ugly cmake bug - compiler identification replaces all spaces in compiler flags with ; symbol + # as result identification fails if ANDROID_NDK_SYSROOT contain spaces + include(CMakeForceCompiler) + CMAKE_FORCE_C_COMPILER("${CMAKE_C_COMPILER}" GNU) + CMAKE_FORCE_CXX_COMPILER("${CMAKE_CXX_COMPILER}" GNU) + endif() endif() if( ARMEABI_V7A ) -- 2.7.4