summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar lat9nq2021-02-05 18:03:20 -0500
committerGravatar lat9nq2021-02-05 18:06:57 -0500
commit830612ef9e1f2f1e45288fd083a165ade4c3fdfe (patch)
tree687fcdc98d5bc17306c75a80592932a790ccbdfd
parentAddress reviewer comments (diff)
downloadyuzu-830612ef9e1f2f1e45288fd083a165ade4c3fdfe.tar.gz
yuzu-830612ef9e1f2f1e45288fd083a165ade4c3fdfe.tar.xz
yuzu-830612ef9e1f2f1e45288fd083a165ade4c3fdfe.zip
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.txt14
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)
391 # Build FFmpeg from externals 391 # Build FFmpeg from externals
392 message(STATUS "Using FFmpeg from externals") 392 message(STATUS "Using FFmpeg from externals")
393 393
394 # FFmpeg has source that requires one of nasm or yasm to assemble it.
395 # REQUIRED throws an error if not found here during configuration rather than during compilation.
396 find_program(ASSEMBLER NAMES nasm yasm REQUIRED)
397
394 set(FFmpeg_PREFIX ${PROJECT_SOURCE_DIR}/externals/ffmpeg) 398 set(FFmpeg_PREFIX ${PROJECT_SOURCE_DIR}/externals/ffmpeg)
395 set(FFmpeg_BUILD_DIR ${PROJECT_BINARY_DIR}/externals/ffmpeg) 399 set(FFmpeg_BUILD_DIR ${PROJECT_BINARY_DIR}/externals/ffmpeg)
396 set(FFmpeg_MAKEFILE ${FFmpeg_BUILD_DIR}/Makefile) 400 set(FFmpeg_MAKEFILE ${FFmpeg_BUILD_DIR}/Makefile)
@@ -448,11 +452,19 @@ if (YUZU_USE_BUNDLED_FFMPEG)
448 ${FFmpeg_BUILD_DIR} 452 ${FFmpeg_BUILD_DIR}
449 ) 453 )
450 454
455 # Workaround for Ubuntu 18.04's older version of make not being able to call make as a child
456 # with context of the jobserver. Also helps ninja users.
457 execute_process(
458 COMMAND
459 nproc
460 OUTPUT_VARIABLE
461 SYSTEM_THREADS)
462
451 add_custom_command( 463 add_custom_command(
452 OUTPUT 464 OUTPUT
453 ${FFmpeg_LIBRARIES} 465 ${FFmpeg_LIBRARIES}
454 COMMAND 466 COMMAND
455 make 467 make -j${SYSTEM_THREADS}
456 WORKING_DIRECTORY 468 WORKING_DIRECTORY
457 ${FFmpeg_BUILD_DIR} 469 ${FFmpeg_BUILD_DIR}
458 ) 470 )