mirror of
https://github.com/android/ndk-samples
synced 2025-11-07 16:51:54 +08:00
Cleanup santiizers CMakeLists.txt.
Remove all the boiler plate comments and pointless find_library indirection for liblog.
This commit is contained in:
@@ -1,27 +1,8 @@
|
||||
# For more information about using CMake with Android Studio, read the
|
||||
# documentation: https://d.android.com/studio/projects/add-native-code.html
|
||||
|
||||
# Sets the minimum version of CMake required to build the native library.
|
||||
|
||||
cmake_minimum_required(VERSION 3.22.1)
|
||||
project(sanitizers LANGUAGES CXX)
|
||||
|
||||
# Declares and names the project.
|
||||
|
||||
project("sanitizers")
|
||||
|
||||
# Creates and names a library, sets it as either STATIC
|
||||
# or SHARED, and provides the relative paths to its source code.
|
||||
# You can define multiple libraries, and CMake builds them for you.
|
||||
# Gradle automatically packages shared libraries with your APK.
|
||||
|
||||
add_library( # Sets the name of the library.
|
||||
sanitizers
|
||||
|
||||
# Sets the library as a shared library.
|
||||
SHARED
|
||||
|
||||
# Provides a relative path to your source file(s).
|
||||
native-lib.cpp)
|
||||
add_library(sanitizers SHARED native-lib.cpp)
|
||||
target_link_libraries(sanitizers PRIVATE log)
|
||||
|
||||
if(SANITIZE)
|
||||
# For asan and ubsan, we need to copy some files from the NDK into our APK.
|
||||
@@ -40,13 +21,9 @@ if(SANITIZE)
|
||||
endif()
|
||||
|
||||
if(${SANITIZE} STREQUAL "hwasan")
|
||||
message("Using hwasan")
|
||||
|
||||
target_compile_options(sanitizers PUBLIC -fsanitize=hwaddress -fno-omit-frame-pointer)
|
||||
target_link_options(sanitizers PUBLIC -fsanitize=hwaddress)
|
||||
elseif(${SANITIZE} STREQUAL "asan")
|
||||
message("Using asan")
|
||||
|
||||
target_compile_options(sanitizers PUBLIC -fsanitize=address -fno-omit-frame-pointer)
|
||||
target_link_options(sanitizers PUBLIC -fsanitize=address)
|
||||
|
||||
@@ -70,8 +47,6 @@ if(SANITIZE)
|
||||
TARGET sanitizers PRE_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${WRAP} ${WRAP_NAME})
|
||||
elseif(${SANITIZE} STREQUAL "ubsan")
|
||||
message("Using ubsan")
|
||||
|
||||
target_compile_options(sanitizers PUBLIC -fsanitize=undefined -fno-sanitize-recover=undefined)
|
||||
target_link_options(sanitizers PUBLIC -fsanitize=undefined -fno-sanitize-recover=undefined)
|
||||
|
||||
@@ -87,27 +62,3 @@ if(SANITIZE)
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${UBSAN} ${UBSAN_NAME})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Searches for a specified prebuilt library and stores the path as a
|
||||
# variable. Because CMake includes system libraries in the search path by
|
||||
# default, you only need to specify the name of the public NDK library
|
||||
# you want to add. CMake verifies that the library exists before
|
||||
# completing its build.
|
||||
|
||||
find_library( # Sets the name of the path variable.
|
||||
log-lib
|
||||
|
||||
# Specifies the name of the NDK library that
|
||||
# you want CMake to locate.
|
||||
log)
|
||||
|
||||
# Specifies libraries CMake should link to your target library. You
|
||||
# can link multiple libraries, such as libraries you define in this
|
||||
# build script, prebuilt third-party libraries, or system libraries.
|
||||
|
||||
target_link_libraries( # Specifies the target library.
|
||||
sanitizers
|
||||
|
||||
# Links the target library to the log library
|
||||
# included in the NDK.
|
||||
${log-lib})
|
||||
Reference in New Issue
Block a user