File tree Expand file tree Collapse file tree 2 files changed +20
-14
lines changed
Expand file tree Collapse file tree 2 files changed +20
-14
lines changed Original file line number Diff line number Diff line change @@ -145,6 +145,7 @@ if(NOT BUILDCACHE_EXE)
145145 endif ()
146146endif ()
147147
148+ find_program (7Z_EXE NAMES ${PREFERRED_7Z_NAMES} 7z )
148149find_program (BLACK_EXE NAMES ${PREFERRED_BLACK_NAMES} black )
149150find_program (CLANG_FORMAT_EXE NAMES ${PREFERRED_CLANG_FORMAT_NAMES} clang-format )
150151find_program (CLANG_TIDY_EXE NAMES ${PREFERRED_CLANG_TIDY_NAMES} clang-tidy )
Original file line number Diff line number Diff line change @@ -350,20 +350,25 @@ else()
350350 file (MAKE_DIRECTORY ${PACKAGE_DIR} )
351351
352352 if (WIN32 )
353- execute_process (COMMAND ${CMAKE_AR} /NOLOGO /LIST ${PACKAGE}
354- OUTPUT_VARIABLE PACKAGE_FILES
355- OUTPUT_STRIP_TRAILING_WHITESPACE )
356-
357- string (REPLACE "\n " ";" PACKAGE_FILES ${PACKAGE_FILES} )
358-
359- foreach (PACKAGE_FILE ${PACKAGE_FILES} )
360- string (REGEX MATCH ".*\\ ${CMAKE_CXX_OUTPUT_EXTENSION} $" IS_OBJECT_FILE ${PACKAGE_FILE} )
361-
362- if (IS_OBJECT_FILE)
363- execute_process (COMMAND ${CMAKE_AR} /NOLOGO /EXTRACT:${PACKAGE_FILE} ${PACKAGE}
364- WORKING_DIRECTORY ${PACKAGE_DIR} )
365- endif ()
366- endforeach ()
353+ if (7Z_EXE)
354+ execute_process (COMMAND ${7Z_EXE} e ${PACKAGE} -bso0
355+ WORKING_DIRECTORY ${PACKAGE_DIR} )
356+ else ()
357+ execute_process (COMMAND ${CMAKE_AR} /NOLOGO /LIST ${PACKAGE}
358+ OUTPUT_VARIABLE PACKAGE_FILES
359+ OUTPUT_STRIP_TRAILING_WHITESPACE )
360+
361+ string (REPLACE "\n " ";" PACKAGE_FILES ${PACKAGE_FILES} )
362+
363+ foreach (PACKAGE_FILE ${PACKAGE_FILES} )
364+ string (REGEX MATCH ".*\\ ${CMAKE_CXX_OUTPUT_EXTENSION} $" IS_OBJECT_FILE ${PACKAGE_FILE} )
365+
366+ if (IS_OBJECT_FILE)
367+ execute_process (COMMAND ${CMAKE_AR} /NOLOGO /EXTRACT:${PACKAGE_FILE} ${PACKAGE}
368+ WORKING_DIRECTORY ${PACKAGE_DIR} )
369+ endif ()
370+ endforeach ()
371+ endif ()
367372 else ()
368373 execute_process (COMMAND ${CMAKE_AR} -x ${PACKAGE}
369374 WORKING_DIRECTORY ${PACKAGE_DIR} )
You can’t perform that action at this time.
0 commit comments