Build by CMake

This commit is contained in:
sman 2021-01-03 21:17:46 +08:00
parent 192fbd8450
commit d447dc99b0
3 changed files with 94 additions and 0 deletions

63
app/src/CMakeLists.txt Normal file
View file

@ -0,0 +1,63 @@
cmake_minimum_required(VERSION 3.17)
project(scrcpy)
set(CMAKE_C_FLAGS "-std=c11")
SET(ROUT_DIR ${PROJECT_SOURCE_DIR})
SET(ANDROID_DIR ${PROJECT_SOURCE_DIR}/android)
SET(UTIL_DIR ${PROJECT_SOURCE_DIR}/util)
include_directories(${ROUT_DIR} ${ANDROID_DIR} ${UTIL_DIR})
AUX_SOURCE_DIRECTORY(${PROJECT_SOURCE_DIR} FILES)
find_path(AVFORMAT_INCLUDE_DIR libavformat/avformat.h)
find_library(AVFORMAT_LIBRARY avformat)
find_path(AVCODEC_INCLUDE_DIR libavcodec/avcodec.h)
find_library(AVCODEC_LIBRARY avcodec)
find_path(AVUTIL_INCLUDE_DIR libavutil/avutil.h)
find_library(AVUTIL_LIBRARY avutil)
find_package(sdl2 REQUIRED)
SET(THIRD_INCLUDE_DIR ${AVFORMAT_INCLUDE_DIR} ${AVCODEC_INCLUDE_DIR} ${AVUTIL_INCLUDE_DIR} ${SDL2_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${THIRD_INCLUDE_DIR})
SET(THIRD_LIBS ${AVFORMAT_LIBRARY} ${AVCODEC_LIBRARY} ${AVUTIL_LIBRARY} ${SDL2_LIBRARIES})
ADD_SUBDIRECTORY(util)
IF (CMAKE_SYSTEM_NAME MATCHES "Windows")
set(SOURCE ${PROJECT_SOURCE_DIR}/sys/win)
aux_source_directory(${SOURCE} FILE)
SET(SRC ${FILES} ${FILE})
ADD_EXECUTABLE(${PROJECT_NAME} ${SRC})
else()
set(SOURCE ${PROJECT_SOURCE_DIR}/sys/unix)
aux_source_directory(${SOURCE} FILE)
SET(SRC ${FILES} ${FILE})
ADD_EXECUTABLE(${PROJECT_NAME} ${SRC})
endif (CMAKE_SYSTEM_NAME MATCHES "Windows")
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${THIRD_LIBS} util)
# FOR CONFIG.H
SET(DEFAULT_BIT_RATE 8000000)
SET(DEFAULT_LOCAL_PORT_RANGE_FIRST 27183)
SET(DEFAULT_LOCAL_PORT_RANGE_LAST 27199)
SET(DEFAULT_MAX_SIZE 0)
SET(DEFAULT_LOCK_VIDEO_ORIENTATION -1)
SET(PREFIX \"\")
SET(SCRCPY_VERSION \"V1.16\")
OPTION(HIDPI_SUPPORT "hidpi support" ON)
OPTION(NDEBUG "build type" OFF)
OPTION(SERVER_DEBUGGER "server debugger" ON)
OPTION(SERVER_DEBUGGER_METHOD_NEW "server_debugger_method" ON)
OPTION(WINDOWS_NOCONSOLE, "WINDOWS NOCONSOLE" OFF)
configure_file (
"${PROJECT_SOURCE_DIR}/config.h.in"
"${PROJECT_SOURCE_DIR}/config.h"
)

23
app/src/config.h.in Normal file
View file

@ -0,0 +1,23 @@
#define DEFAULT_BIT_RATE @DEFAULT_BIT_RATE@
#define DEFAULT_LOCAL_PORT_RANGE_FIRST @DEFAULT_LOCAL_PORT_RANGE_FIRST@
#define DEFAULT_LOCAL_PORT_RANGE_LAST @DEFAULT_LOCAL_PORT_RANGE_LAST@
#define DEFAULT_LOCK_VIDEO_ORIENTATION @DEFAULT_LOCK_VIDEO_ORIENTATION@
#define DEFAULT_MAX_SIZE @DEFAULT_MAX_SIZE@
#define PREFIX @PREFIX@
#define SCRCPY_VERSION @SCRCPY_VERSION@
#cmakedefine HIDPI_SUPPORT
#cmakedefine NDEBUG
#cmakedefine SERVER_DEBUGGER
#cmakedefine SERVER_DEBUGGER_METHOD_NEW
#cmakedefine WINDOWS_NOCONSOLE

View file

@ -0,0 +1,8 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.17)
PROJECT(util)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR} ${ROOT_DIR})
AUX_SOURCE_DIRECTORY(${PROJECT_SOURCE_DIR} FILES)
ADD_LIBRARY(${PROJECT_NAME} ${FILES})