diff options
| -rw-r--r-- | tunnel/tools/CMakeLists.txt | 34 | ||||
| m--------- | tunnel/tools/elf-cleaner | 0 |
2 files changed, 26 insertions, 8 deletions
diff --git a/tunnel/tools/CMakeLists.txt b/tunnel/tools/CMakeLists.txt index b62a163c..cd0ab948 100644 --- a/tunnel/tools/CMakeLists.txt +++ b/tunnel/tools/CMakeLists.txt @@ -31,14 +31,32 @@ add_custom_target(libwg-go.so WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/lib ) # Strip unwanted ELF sections to prevent DT_FLAGS_1 warnings on old Android versions -file(GLOB ELF_CLEANER_SOURCES elf-cleaner/*.c elf-cleaner/*.cpp) -add_custom_target(elf-cleaner COMMENT "Building elf-cleaner" VERBATIM COMMAND cc - -O2 -DPACKAGE_NAME="elf-cleaner" -DPACKAGE_VERSION="" -DCOPYRIGHT="" - -o "${CMAKE_CURRENT_BINARY_DIR}/elf-cleaner" ${ELF_CLEANER_SOURCES} +include(ExternalProject) + +ExternalProject_Add(elf_cleaner_build + SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/elf-cleaner + BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/elf-cleaner-build + CONFIGURE_COMMAND ${CMAKE_COMMAND} -S ${CMAKE_CURRENT_SOURCE_DIR}/elf-cleaner -B ${CMAKE_CURRENT_BINARY_DIR}/elf-cleaner-build + -DPACKAGE_NAME=termux-elf-cleaner + BUILD_COMMAND ${CMAKE_COMMAND} --build ${CMAKE_CURRENT_BINARY_DIR}/elf-cleaner-build + INSTALL_COMMAND "" +) + +add_custom_target(elf-cleaner + DEPENDS elf_cleaner_build + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/elf-cleaner-build/termux-elf-cleaner ${CMAKE_CURRENT_BINARY_DIR}/elf-cleaner + COMMENT "Building and staging elf-cleaner" +) + +add_custom_command(TARGET libwg.so POST_BUILD VERBATIM + COMMAND "${CMAKE_CURRENT_BINARY_DIR}/elf-cleaner" + --api-level "${ANDROID_NATIVE_API_LEVEL}" "$<TARGET_FILE:libwg.so>" +) + +add_custom_command(TARGET libwg-quick.so POST_BUILD VERBATIM + COMMAND "${CMAKE_CURRENT_BINARY_DIR}/elf-cleaner" + --api-level "${ANDROID_NATIVE_API_LEVEL}" "$<TARGET_FILE:libwg-quick.so>" ) -add_custom_command(TARGET libwg.so POST_BUILD VERBATIM COMMAND "${CMAKE_CURRENT_BINARY_DIR}/elf-cleaner" - --api-level "${ANDROID_NATIVE_API_LEVEL}" "$<TARGET_FILE:libwg.so>") + add_dependencies(libwg.so elf-cleaner) -add_custom_command(TARGET libwg-quick.so POST_BUILD VERBATIM COMMAND "${CMAKE_CURRENT_BINARY_DIR}/elf-cleaner" - --api-level "${ANDROID_NATIVE_API_LEVEL}" "$<TARGET_FILE:libwg-quick.so>") add_dependencies(libwg-quick.so elf-cleaner) diff --git a/tunnel/tools/elf-cleaner b/tunnel/tools/elf-cleaner -Subproject 7efc05090675ec6161b7def862728086a26c3b1 +Subproject 3da3eeab96e57fa794c5ea0feb2eed4903545de |
