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