summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-06-10 13:17:39 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2014-06-10 13:17:39 (GMT)
commit2944bf164edf0e7a896bd47f5b8659c6469f6693 (patch)
treee762d942b780540690620178e5364c11103c2dd4
parentf1b91a8af6216c86c04a074b9d30ba8268ddd77b (diff)
parent42f74df6d4ffca8f6f08dfe191e441173be0f270 (diff)
downloadCMake-2944bf164edf0e7a896bd47f5b8659c6469f6693.zip
CMake-2944bf164edf0e7a896bd47f5b8659c6469f6693.tar.gz
CMake-2944bf164edf0e7a896bd47f5b8659c6469f6693.tar.bz2
Merge topic 'android-platform'
42f74df6 Add basic Android platform module
-rw-r--r--Modules/Platform/Android.cmake9
-rw-r--r--Source/cmTarget.cxx1
2 files changed, 10 insertions, 0 deletions
diff --git a/Modules/Platform/Android.cmake b/Modules/Platform/Android.cmake
new file mode 100644
index 0000000..e6d4fcf
--- /dev/null
+++ b/Modules/Platform/Android.cmake
@@ -0,0 +1,9 @@
+include(Platform/Linux)
+
+# Android has soname, but binary names must end in ".so" so we cannot append
+# a version number. Also we cannot portably represent symlinks on the host.
+set(CMAKE_PLATFORM_NO_VERSIONED_SONAME 1)
+
+# Android reportedly ignores RPATH, and we cannot predict the install
+# location anyway.
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "")
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 058e661..01edde9 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -4320,6 +4320,7 @@ void cmTarget::GetLibraryNames(std::string& name,
const char* version = this->GetProperty("VERSION");
const char* soversion = this->GetProperty("SOVERSION");
if(!this->HasSOName(config) ||
+ this->Makefile->IsOn("CMAKE_PLATFORM_NO_VERSIONED_SONAME") ||
this->IsFrameworkOnApple())
{
// Versioning is supported only for shared libraries and modules,