mirror of
https://github.com/LSPosed/LSPlant.git
synced 2025-05-05 14:06:37 +08:00
Add CMakeLists.txt
This commit is contained in:
parent
c3b885b6a3
commit
68c6b5f96b
@ -55,10 +55,45 @@ android {
|
|||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdk = androidMinSdkVersion
|
minSdk = androidMinSdkVersion
|
||||||
targetSdk = androidTargetSdkVersion
|
targetSdk = androidTargetSdkVersion
|
||||||
|
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
ndkBuild {
|
cmake {
|
||||||
arguments += "-j${Runtime.getRuntime().availableProcessors()}"
|
abiFilters("arm64-v8a", "armeabi-v7a", "x86", "x86_64")
|
||||||
|
val flags = arrayOf(
|
||||||
|
"-Wall",
|
||||||
|
"-Werror",
|
||||||
|
"-Qunused-arguments",
|
||||||
|
"-Wno-gnu-string-literal-operator-template",
|
||||||
|
"-fno-rtti",
|
||||||
|
"-fvisibility=hidden",
|
||||||
|
"-fvisibility-inlines-hidden",
|
||||||
|
"-fno-exceptions",
|
||||||
|
"-fno-stack-protector",
|
||||||
|
"-fomit-frame-pointer",
|
||||||
|
"-Wno-builtin-macro-redefined",
|
||||||
|
"-Wl,--strip-all",
|
||||||
|
"-ffunction-sections",
|
||||||
|
"-fdata-sections",
|
||||||
|
"-Wno-unused-value",
|
||||||
|
"-Wl,--gc-sections",
|
||||||
|
"-D__FILE__=__FILE_NAME__",
|
||||||
|
"-Wl,--exclude-libs,ALL",
|
||||||
|
)
|
||||||
|
cppFlags("-std=c++20", *flags)
|
||||||
|
cFlags("-std=c18", *flags)
|
||||||
|
arguments += "-DCMAKE_VERBOSE_MAKEFILE=ON"
|
||||||
|
arguments += "-DANDROID_STL=c++_shared"
|
||||||
|
val configFlags = arrayOf(
|
||||||
|
"-Oz",
|
||||||
|
"-DNDEBUG"
|
||||||
|
).joinToString(" ")
|
||||||
|
arguments.addAll(
|
||||||
|
arrayOf(
|
||||||
|
"-DCMAKE_CXX_FLAGS_RELEASE=$configFlags",
|
||||||
|
"-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=$configFlags",
|
||||||
|
"-DCMAKE_C_FLAGS_RELEASE=$configFlags",
|
||||||
|
"-DCMAKE_C_FLAGS_RELWITHDEBINFO=$configFlags"
|
||||||
|
)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -69,8 +104,8 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
ndkBuild {
|
cmake {
|
||||||
path("jni/Android.mk")
|
path("jni/CMakeLists.txt")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
30
library/jni/CMakeLists.txt
Normal file
30
library/jni/CMakeLists.txt
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.4.1)
|
||||||
|
project(lsplant)
|
||||||
|
|
||||||
|
add_definitions(-std=c++20)
|
||||||
|
|
||||||
|
set(SOURCES lsplant.cc)
|
||||||
|
|
||||||
|
add_subdirectory(external/dex_builder)
|
||||||
|
|
||||||
|
add_library(${PROJECT_NAME} SHARED ${SOURCES})
|
||||||
|
add_library(${PROJECT_NAME}_static STATIC ${SOURCES})
|
||||||
|
|
||||||
|
target_include_directories(${PROJECT_NAME} PUBLIC include)
|
||||||
|
target_include_directories(${PROJECT_NAME}_static PUBLIC include)
|
||||||
|
|
||||||
|
target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
target_include_directories(${PROJECT_NAME}_static PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
|
set(CFLAGS
|
||||||
|
-flto
|
||||||
|
)
|
||||||
|
|
||||||
|
target_compile_options(${PROJECT_NAME} PRIVATE ${CFLAGS})
|
||||||
|
target_link_options(${PROJECT_NAME} PRIVATE -flto)
|
||||||
|
|
||||||
|
target_compile_options(${PROJECT_NAME}_static PRIVATE ${CFLAGS})
|
||||||
|
|
||||||
|
target_link_libraries(${PROJECT_NAME} PUBLIC dex_builder log)
|
||||||
|
target_link_libraries(${PROJECT_NAME}_static PRIVATE dex_builder_static)
|
||||||
|
target_link_libraries(${PROJECT_NAME}_static PUBLIC log)
|
2
library/jni/external/dex_builder
vendored
2
library/jni/external/dex_builder
vendored
@ -1 +1 @@
|
|||||||
Subproject commit 850add0912f11dc9b52fd13e4b52e5a4b20733eb
|
Subproject commit 2546d413f3dfe38b633fbba5aaa022959638035b
|
Loading…
x
Reference in New Issue
Block a user