diff options
author | lat9nq <22451773+lat9nq@users.noreply.github.com> | 2021-02-05 18:03:20 -0500 |
---|---|---|
committer | lat9nq <22451773+lat9nq@users.noreply.github.com> | 2021-02-05 18:06:57 -0500 |
commit | 830612ef9e1f2f1e45288fd083a165ade4c3fdfe (patch) | |
tree | 687fcdc98d5bc17306c75a80592932a790ccbdfd | |
parent | b7e6eca8b21cdfee5bec6734657314822bccb2e1 (diff) |
CMakeLists: Fixes for linux-fresh
Tells CMake to look for either nasm or yasm as it is required to build
FFmpeg. Avoids a compile-time error by checking for it during
configuration.
Adds a workaround for Ubuntu Bionic's old version of make not
communicating jobserver details properly.
-rw-r--r-- | CMakeLists.txt | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index fc3e93f80..6cd7e3e92 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -391,6 +391,10 @@ if (YUZU_USE_BUNDLED_FFMPEG) # Build FFmpeg from externals message(STATUS "Using FFmpeg from externals") + # FFmpeg has source that requires one of nasm or yasm to assemble it. + # REQUIRED throws an error if not found here during configuration rather than during compilation. + find_program(ASSEMBLER NAMES nasm yasm REQUIRED) + set(FFmpeg_PREFIX ${PROJECT_SOURCE_DIR}/externals/ffmpeg) set(FFmpeg_BUILD_DIR ${PROJECT_BINARY_DIR}/externals/ffmpeg) set(FFmpeg_MAKEFILE ${FFmpeg_BUILD_DIR}/Makefile) @@ -448,11 +452,19 @@ if (YUZU_USE_BUNDLED_FFMPEG) ${FFmpeg_BUILD_DIR} ) + # Workaround for Ubuntu 18.04's older version of make not being able to call make as a child + # with context of the jobserver. Also helps ninja users. + execute_process( + COMMAND + nproc + OUTPUT_VARIABLE + SYSTEM_THREADS) + add_custom_command( OUTPUT ${FFmpeg_LIBRARIES} COMMAND - make + make -j${SYSTEM_THREADS} WORKING_DIRECTORY ${FFmpeg_BUILD_DIR} ) |