diff options
author | Léo Lam <leo@leolam.fr> | 2019-06-30 13:29:52 +0200 |
---|---|---|
committer | FearlessTobi <thm.frey@gmail.com> | 2020-01-19 12:52:09 +0100 |
commit | f98cd210abb40e487b30952db25c97e28726dbb4 (patch) | |
tree | cfdbfd5909003102a58c33d157e6a4cf635e1919 /src/CMakeLists.txt | |
parent | 51c8aea9793075f28b8f9515c37c077ce8de4e8d (diff) |
CMake: Create thin archives on Linux
This significantly reduces unnecessary disk writes and space usage
when building Citra.
libcore.a is now only ~1MB rather than several hundred megabytes.
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r-- | src/CMakeLists.txt | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f18239edb..9d0af02fd 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -77,6 +77,15 @@ else() add_compile_options("-static") endif() endif() + + if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR MINGW) + # GNU ar: Create thin archive files. + # Requires binutils-2.19 or later. + set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> qcTP <TARGET> <LINK_FLAGS> <OBJECTS>") + set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> qTP <TARGET> <LINK_FLAGS> <OBJECTS>") + set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> qcTP <TARGET> <LINK_FLAGS> <OBJECTS>") + set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> qTP <TARGET> <LINK_FLAGS> <OBJECTS>") + endif() endif() add_subdirectory(common) |