[CMake] How to refer to *.so files in Android NDK?

Gregor Jasny gjasny at googlemail.com
Mon Jun 26 15:38:09 EDT 2017


On 6/22/17 4:01 PM, Robert Dailey wrote:
> In my toolchain file for Android NDK, I specify the following *.so
> paths manually:
> 
> set( ANDROID_PREBUILT_LIBRARIES
>     ${CMAKE_ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/libgnustl_shared.so
>     ${CMAKE_ANDROID_NDK}/platforms/android-15/arch-x86/usr/lib/libz.so
> )
> 
> However, I'd like a better way to find these files: I already
> configure CMake 3.8 using built-in Android support. It's able to
> configure my toolchain just fine. Can I leverage some built-in
> functionality to get the path to these files? I'm worried with the way
> it is, if I change the other variables that the paths won't be valid
> anymore and I'll have to update them manually again.

I would suggest that you dump all cmake variables and have a look what's
matching your paths:

get_cmake_property(_variableNames VARIABLES)
foreach (_variableName ${_variableNames})
    message(STATUS "${_variableName}=${${_variableName}}")
endforeach()

Hope that helps!

Cheers,
Gregor


More information about the CMake mailing list