MantisBT - CMake
View Issue Details
0015998CMakeCMakepublic2016-03-02 00:262016-06-10 14:21
huiyiqun 
 
normalminoralways
closedno change required 
Android OSAndroid6.0
CMake 3.4.1 
 
0015998: Add variable to cmake in order to decide whether building is for android
I'm build a cmake project(YouCompleteMe) under Android. Everything works well except that ld try to link librt wrongly, which has been integrated into Bionic and not available under Android System.

I have googled for a while to look for a solution to detect android system in cmake, but there is none.

If I am building a program for Mac OS X, there is a variable APPLE to tell me that this is a Mac OS X instead of normal BSD. But there is no variable ANDROID to tell me that this is a Android System instead of normal Linux. In my opinion, these two scenes are similar.

Of course, I could define a variable to differ Android from normal Linux. but I guess we need an official way to do this.
No tags attached.
Issue History
2016-03-02 00:26huiyiqunNew Issue
2016-03-07 11:25Brad KingNote Added: 0040637
2016-03-07 11:25Brad KingStatusnew => resolved
2016-03-07 11:25Brad KingResolutionopen => no change required
2016-06-10 14:21Kitware RobotNote Added: 0041236
2016-06-10 14:21Kitware RobotStatusresolved => closed

Notes
(0040637)
Brad King   
2016-03-07 11:25   
When cross-compiling to Android one typically uses a toolchain file that sets CMAKE_SYSTEM_NAME to "Android". This value can be tested by project code to check the target system.
(0041236)
Kitware Robot   
2016-06-10 14:21   
This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page.