Home | History | Annotate | Download | only in android-cmake
      1 # Copyright (c) 2014, Pavel Rojtberg
      2 # All rights reserved.
      3 #
      4 # Redistribution and use in source and binary forms, with or without
      5 # modification, are permitted provided that the following conditions are met:
      6 #
      7 # 1. Redistributions of source code must retain the above copyright notice,
      8 # this list of conditions and the following disclaimer.
      9 #
     10 # 2. Redistributions in binary form must reproduce the above copyright notice,
     11 # this list of conditions and the following disclaimer in the documentation
     12 # and/or other materials provided with the distribution.
     13 #
     14 # 3. Neither the name of the copyright holder nor the names of its
     15 # contributors may be used to endorse or promote products derived from this
     16 # software without specific prior written permission.
     17 #
     18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     19 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     20 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     21 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
     22 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     23 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     24 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     25 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     26 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     27 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     28 # POSSIBILITY OF SUCH DAMAGE.
     29 
     30 macro(android_ndk_import_module_cpufeatures)
     31     if(ANDROID)
     32         include_directories(${ANDROID_NDK}/sources/android/cpufeatures)
     33         add_library(cpufeatures ${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c)
     34         target_link_libraries(cpufeatures dl)
     35     endif()
     36 endmacro()
     37 
     38 macro(android_ndk_import_module_native_app_glue)
     39     if(ANDROID)
     40         include_directories(${ANDROID_NDK}/sources/android/native_app_glue)
     41         add_library(native_app_glue ${ANDROID_NDK}/sources/android/native_app_glue/android_native_app_glue.c)
     42         target_link_libraries(native_app_glue log)
     43     endif()
     44 endmacro()
     45 
     46 macro(android_ndk_import_module_ndk_helper)
     47     if(ANDROID)
     48         android_ndk_import_module_cpufeatures()
     49         android_ndk_import_module_native_app_glue()
     50         
     51         include_directories(${ANDROID_NDK}/sources/android/ndk_helper)
     52         file(GLOB _NDK_HELPER_SRCS ${ANDROID_NDK}/sources/android/ndk_helper/*.cpp ${ANDROID_NDK}/sources/android/ndk_helper/gl3stub.c)
     53         add_library(ndk_helper ${_NDK_HELPER_SRCS})
     54         target_link_libraries(ndk_helper log android EGL GLESv2 cpufeatures native_app_glue)
     55         
     56         unset(_NDK_HELPER_SRCS)
     57     endif()
     58 endmacro()