GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — ModifiersCoreQuest/CMakeLists.txt at main · BeatLeader/ModifiersCoreQuest Expand file tree/ Copy pathCMakeLists.txtMore file actions 108 lines (87 loc) · 3.93 KB / Copy pathCMakeLists.txtFile metadata and controls108 lines (87 loc) · 3.93 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 # include some defines automatically made by qpm include(qpm_defines.cmake) # override mod id set(MOD_ID "ModifiersCoreQuest") # Enable link time optimization # In my experience, this can be highly unstable but it nets a huge size optimization and likely performance # However, the instability was seen using Android.mk/ndk-build builds. With Ninja + CMake, this problem seems to have been solved. # As always, test thoroughly # - Fern # set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) cmake_minimum_required(VERSION 3.21) project(${COMPILE_ID}) # c++ standard set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED 20) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # define that stores the actual source directory set(SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src) set(INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include) # stop symbol leaking add_link_options(-Wl,--exclude-libs,ALL) # compile options used add_compile_options(-frtti -fexceptions) add_compile_options(-O3) # compile definitions used add_compile_definitions(VERSION=\"${MOD_VERSION}\") add_compile_definitions(MOD_ID=\"${MOD_ID}\") add_compile_definitions(USE_CODEGEN_FIELDS) # recursively get all src files RECURSE_FILES(cpp_file_list ${SOURCE_DIR}/*.cpp) RECURSE_FILES(c_file_list ${SOURCE_DIR}/*.c) RECURSE_FILES(src_inline_hook_beatsaber_hook_local_extra_c ${EXTERN_DIR}/includes/beatsaber-hook/shared/inline-hook/*.c) RECURSE_FILES(src_inline_hook_beatsaber_hook_local_extra_cpp ${EXTERN_DIR}/includes/beatsaber-hook/shared/inline-hook/*.cpp) # add all src files to compile add_library( ${COMPILE_ID} SHARED ${cpp_file_list} ${c_file_list} ${src_inline_hook_beatsaber_hook_local_extra_c} ${src_inline_hook_beatsaber_hook_local_extra_cpp} ) target_include_directories(${COMPILE_ID} PRIVATE .) # add src dir as include dir target_include_directories(${COMPILE_ID} PRIVATE ${SOURCE_DIR}) # add include dir as include dir target_include_directories(${COMPILE_ID} PRIVATE ${INCLUDE_DIR}) # add shared dir as include dir target_include_directories(${COMPILE_ID} PUBLIC ${SHARED_DIR}) # codegen includes target_include_directories(${COMPILE_ID} PRIVATE ${EXTERN_DIR}/includes/${CODEGEN_ID}/include) target_link_libraries(${COMPILE_ID} PRIVATE -llog) # add extern stuff like libs and other includes include(extern.cmake) add_custom_command(TARGET ${COMPILE_ID} POST_BUILD COMMAND ${CMAKE_STRIP} -d --strip-all "lib${COMPILE_ID}.so" -o "stripped_lib${COMPILE_ID}.so" COMMENT "Strip debug symbols done on final binary.") add_custom_command(TARGET ${COMPILE_ID} POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory debug COMMENT "Make directory for debug symbols" ) add_custom_command(TARGET ${COMPILE_ID} POST_BUILD COMMAND ${CMAKE_COMMAND} -E rename lib${COMPILE_ID}.so debug/lib${COMPILE_ID}.so COMMENT "Rename the lib to debug_ since it has debug symbols" ) # strip debug symbols from the .so and all dependencies add_custom_command(TARGET ${COMPILE_ID} POST_BUILD COMMAND ${CMAKE_COMMAND} -E rename stripped_lib${COMPILE_ID}.so lib${COMPILE_ID}.so COMMENT "Rename the stripped lib to regular" ) foreach(so_file ${so_list}) cmake_path(GET so_file FILENAME file) add_custom_command(TARGET ${COMPILE_ID} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${so_file} debug/${file} COMMENT "Copy so files for ndk stack" ) add_custom_command(TARGET ${COMPILE_ID} POST_BUILD COMMAND ${CMAKE_STRIP} -g -S -d --strip-all ${so_file} -o ${file} COMMENT "Strip debug symbols from the dependencies") endforeach() foreach(a_file ${a_list}) cmake_path(GET a_file FILENAME file) add_custom_command(TARGET ${COMPILE_ID} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${a_file} debug/${file} COMMENT "Copy a files for ndk stack") endforeach() |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |