mirror of
https://github.com/barry-ran/QtScrcpy.git
synced 2025-04-20 03:25:02 +00:00
Fix CMake errors under Linux
This commit is contained in:
parent
6547dc07ce
commit
f18e4b38fa
1 changed files with 16 additions and 12 deletions
|
@ -198,16 +198,18 @@ if(WIN32)
|
|||
# ******************** Unix-like OSs ********************
|
||||
elseif(UNIX)
|
||||
set(QS_LIB_PATH "${PROJECT_SOURCE_DIR}/third_party/ffmpeg/lib")
|
||||
link_directories(${QS_LIB_PATH})
|
||||
|
||||
# ==================== macOS ====================
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
message(STATUS "[QtScrcpy] Make for macOS.")
|
||||
target_link_directories(${CMAKE_PROJECT_NAME} PRIVATE ${QS_LIB_PATH})
|
||||
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/output/mac/debug")
|
||||
set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/output/mac/debug")
|
||||
else()
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/output/mac/release")
|
||||
set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/output/mac/release")
|
||||
endif()
|
||||
|
||||
# Icon file stored in Contents/Resources
|
||||
|
@ -244,30 +246,33 @@ elseif(UNIX)
|
|||
# =============== Non-Mac OSs (Linux, BSD, etc.) ===============
|
||||
else()
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/output/linux/debug")
|
||||
set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/output/linux/debug")
|
||||
else()
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/output/linux/release")
|
||||
set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/output/linux/release")
|
||||
endif()
|
||||
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
message(STATUS "[QtScrcpy] Make for non-Apple Unix-like OS.")
|
||||
message(STATUS "[QtScrcpy] Make for non-Mac Unix-like OS.")
|
||||
set(INSTALLED_FFMPEG_FOUND false)
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(PkgConfig_FOUND)
|
||||
pkg_check_modules(FFmpeg ffmpeg>=4)
|
||||
pkg_check_modules(FFmpeg libavformat>=58 libavcodec>=58 libavutil>=56 libswscale>=5)
|
||||
if(FFmpeg_FOUND)
|
||||
set(INSTALLED_FFMPEG_FOUND true)
|
||||
message(STATUS "[QtScrcpy] Development files of FFmpeg ${FFmpeg_VERSION} were detected in your OS and will be used.")
|
||||
target_link_options(${CMAKE_PROJECT_NAME} "${FFmpeg_LIBRARIES}")
|
||||
target_compile_options(${CMAKE_PROJECT_NAME} "${FFmpeg_CFLAGS}")
|
||||
set(QS_EXTERNAL_LIBS_FFMPEG PkgConfig::FFmpeg)
|
||||
message(STATUS "[QtScrcpy] Development files of FFmpeg were detected in your OS and will be used.")
|
||||
target_link_options(${CMAKE_PROJECT_NAME} PRIVATE ${FFmpeg_LDFLAGS})
|
||||
target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE ${FFmpeg_CFLAGS})
|
||||
set(QS_EXTERNAL_LIBS_FFMPEG ${FFmpeg_LIBRARIES})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT INSTALLED_FFMPEG_FOUND)
|
||||
message(STATUS "[QtScrcpy] Development files of FFmpeg were not detected in your OS. Files within third_party/ffmpeg/ will be used.")
|
||||
target_link_directories(${CMAKE_PROJECT_NAME} PRIVATE ${QS_LIB_PATH})
|
||||
set(QS_EXTERNAL_LIBS_FFMPEG
|
||||
avformat
|
||||
avcodec
|
||||
|
@ -308,7 +313,6 @@ target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE
|
|||
util
|
||||
)
|
||||
|
||||
|
||||
if(QT_VERSION_MAJOR EQUAL 6)
|
||||
qt_finalize_executable(${CMAKE_PROJECT_NAME})
|
||||
endif()
|
||||
|
|
Loading…
Add table
Reference in a new issue