mirror of
https://github.com/LizardByte/Sunshine.git
synced 2025-03-30 07:20:52 +00:00
Compile on Windows
This commit is contained in:
parent
b5fe713848
commit
1129aa6dfd
@ -4,62 +4,50 @@ project(Sunshine)
|
||||
# set up include-directories
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
find_package(Threads REQUIRED)
|
||||
find_package(OpenSSL REQUIRED)
|
||||
find_package(FFMpeg REQUIRED)
|
||||
find_package(Boost COMPONENTS filesystem REQUIRED)
|
||||
|
||||
add_subdirectory(Simple-Web-Server)
|
||||
add_subdirectory(moonlight-common-c/enet)
|
||||
|
||||
find_package(X11 REQUIRED)
|
||||
set(PLATFORM_TARGET_FILES
|
||||
sunshine/platform/linux.cpp
|
||||
sunshine/platform/linux_evdev.cpp)
|
||||
|
||||
set(PLATFORM_LIBRARIES
|
||||
Xfixes
|
||||
Xtst
|
||||
xcb
|
||||
xcb-shm
|
||||
xcb-xfixes
|
||||
${X11_LIBRARIES}
|
||||
evdev
|
||||
pulse
|
||||
pulse-simple)
|
||||
|
||||
set(PLATFORM_INCLUDE_DIRS
|
||||
${X11_INCLUDE_DIR}
|
||||
/usr/include/libevdev-1.0)
|
||||
|
||||
if(WIN32)
|
||||
set(PLATFORM_TARGET_FILES
|
||||
sunshine/platform/windows.cpp)
|
||||
set(PLATFORM_LIBRARIES
|
||||
winmm
|
||||
wsock32
|
||||
ws2_32)
|
||||
else()
|
||||
find_package(X11 REQUIRED)
|
||||
set(PLATFORM_TARGET_FILES
|
||||
sunshine/platform/linux.cpp
|
||||
sunshine/platform/linux_evdev.cpp)
|
||||
|
||||
set(PLATFORM_LIBRARIES
|
||||
Xfixes
|
||||
Xtst
|
||||
xcb
|
||||
xcb-shm
|
||||
xcb-xfixes
|
||||
${X11_LIBRARIES}
|
||||
evdev
|
||||
pulse
|
||||
pulse-simple)
|
||||
|
||||
set(PLATFORM_INCLUDE_DIRS
|
||||
${X11_INCLUDE_DIR}
|
||||
/usr/include/libevdev-1.0)
|
||||
endif()
|
||||
set(SUNSHINE_TARGET_FILES
|
||||
moonlight-common-c/reedsolomon/rs.c
|
||||
moonlight-common-c/reedsolomon/rs.h
|
||||
moonlight-common-c/src/AudioStream.c
|
||||
moonlight-common-c/src/ByteBuffer.c
|
||||
moonlight-common-c/src/ByteBuffer.h
|
||||
moonlight-common-c/src/Connection.c
|
||||
moonlight-common-c/src/ControlStream.c
|
||||
moonlight-common-c/src/FakeCallbacks.c
|
||||
moonlight-common-c/src/Input.h
|
||||
moonlight-common-c/src/InputStream.c
|
||||
moonlight-common-c/src/Limelight.h
|
||||
moonlight-common-c/src/Limelight-internal.h
|
||||
moonlight-common-c/src/LinkedBlockingQueue.c
|
||||
moonlight-common-c/src/LinkedBlockingQueue.h
|
||||
moonlight-common-c/src/Misc.c
|
||||
moonlight-common-c/src/Platform.c
|
||||
moonlight-common-c/src/Platform.h
|
||||
moonlight-common-c/src/PlatformSockets.c
|
||||
moonlight-common-c/src/PlatformSockets.h
|
||||
moonlight-common-c/src/PlatformThreads.h
|
||||
moonlight-common-c/src/RtpFecQueue.c
|
||||
moonlight-common-c/src/RtpFecQueue.h
|
||||
moonlight-common-c/src/RtpReorderQueue.c
|
||||
moonlight-common-c/src/RtpReorderQueue.h
|
||||
moonlight-common-c/src/RtspConnection.c
|
||||
moonlight-common-c/src/Rtsp.h
|
||||
moonlight-common-c/src/RtspParser.c
|
||||
moonlight-common-c/src/SdpGenerator.c
|
||||
moonlight-common-c/src/SimpleStun.c
|
||||
moonlight-common-c/src/VideoDepacketizer.c
|
||||
moonlight-common-c/src/Video.h
|
||||
moonlight-common-c/src/VideoStream.c
|
||||
sunshine/utility.h
|
||||
sunshine/uuid.h
|
||||
sunshine/config.h
|
||||
@ -98,14 +86,11 @@ include_directories(
|
||||
${PLATFORM_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
find_package(Threads REQUIRED)
|
||||
find_package(OpenSSL REQUIRED)
|
||||
find_package(FFmpeg REQUIRED)
|
||||
|
||||
list(APPEND SUNSHINE_COMPILE_OPTIONS -fPIC -Wall -Wno-missing-braces -Wno-maybe-uninitialized -Wno-sign-compare)
|
||||
string(TOUPPER ${CMAKE_BUILD_TYPE} BUILD_TYPE)
|
||||
if("x${BUILD_TYPE}" STREQUAL "xDEBUG")
|
||||
list(APPEND SUNSHINE_COMPILE_OPTIONS -O0 -pedantic -ggdb3)
|
||||
#list(APPEND SUNSHINE_COMPILE_OPTIONS -O0 -pedantic -ggdb3)
|
||||
list(APPEND SUNSHINE_COMPILE_OPTIONS -O0)
|
||||
else()
|
||||
add_definitions(-DNDEBUG)
|
||||
list(APPEND SUNSHINE_COMPILE_OPTIONS -O3)
|
||||
@ -117,6 +102,7 @@ list(APPEND SUNSHINE_EXTERNAL_LIBRARIES
|
||||
enet
|
||||
opus
|
||||
${FFMPEG_LIBRARIES}
|
||||
${Boost_LIBRARIES}
|
||||
${PLATFORM_LIBRARIES})
|
||||
|
||||
add_definitions(-DSUNSHINE_ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets")
|
||||
|
@ -56,7 +56,7 @@ MACRO(FFMPEG_FIND varname shortname headername)
|
||||
ELSE()
|
||||
MESSAGE(STATUS "Found ${shortname} include dirs: ${${varname}_INCLUDE_DIR}")
|
||||
|
||||
# GET_DIRECTORY_PROPERTY(FFMPEG_PARENT DIRECTORY ${${varname}_INCLUDE_DIR} PARENT_DIRECTORY)
|
||||
#GET_DIRECTORY_PROPERTY(FFMPEG_PARENT DIRECTORY ${${varname}_INCLUDE_DIR} PARENT_DIRECTORY)
|
||||
GET_FILENAME_COMPONENT(FFMPEG_PARENT ${${varname}_INCLUDE_DIR} PATH)
|
||||
MESSAGE(STATUS "Using FFMpeg dir parent as hint: ${FFMPEG_PARENT}")
|
||||
|
||||
@ -64,8 +64,8 @@ MACRO(FFMPEG_FIND varname shortname headername)
|
||||
FIND_LIBRARY(${varname}_LIBRARIES NAMES ${shortname}
|
||||
HINTS ${PC_${varname}_LIBDIR} ${PC_${varname}_LIBRARY_DIR} ${FFMPEG_PARENT})
|
||||
ELSE()
|
||||
# FIND_PATH(${varname}_LIBRARIES "${shortname}.dll.a" HINTS ${FFMPEG_PARENT})
|
||||
FILE(GLOB_RECURSE ${varname}_LIBRARIES "${FFMPEG_PARENT}/*${shortname}.lib")
|
||||
FIND_PATH(${varname}_LIBRARIES "${shortname}.dll.a" HINTS ${FFMPEG_PARENT})
|
||||
# FILE(GLOB_RECURSE ${varname}_LIBRARIES "${FFMPEG_PARENT}/*${shortname}.lib")
|
||||
# GLOBing is very bad... but windows sux, this is the only thing that works
|
||||
ENDIF()
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
# cert = /dir/cert.pem
|
||||
|
||||
# The name displayed by Moonlight
|
||||
# sunshine_name = sunshine
|
||||
sunshine_name = Sunshine
|
||||
|
||||
# The origin of the remote endpoint address that is not denied for HTTP method /pin
|
||||
# Could be any of the following values:
|
||||
|
@ -2,6 +2,8 @@
|
||||
// Created by loki on 5/30/19.
|
||||
//
|
||||
|
||||
#include "process.h"
|
||||
|
||||
#include <thread>
|
||||
#include <filesystem>
|
||||
#include <iostream>
|
||||
@ -9,7 +11,6 @@
|
||||
#include "nvhttp.h"
|
||||
#include "stream.h"
|
||||
#include "config.h"
|
||||
#include "process.h"
|
||||
#include "thread_pool.h"
|
||||
|
||||
extern "C" {
|
||||
|
@ -2,6 +2,8 @@
|
||||
// Created by loki on 6/3/19.
|
||||
//
|
||||
|
||||
#include "process.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <filesystem>
|
||||
|
||||
@ -21,7 +23,6 @@
|
||||
#include "stream.h"
|
||||
#include "nvhttp.h"
|
||||
#include "platform/common.h"
|
||||
#include "process.h"
|
||||
#include "network.h"
|
||||
|
||||
|
||||
|
@ -2,6 +2,8 @@
|
||||
// Created by loki on 12/14/19.
|
||||
//
|
||||
|
||||
#include "process.h"
|
||||
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
@ -9,7 +11,6 @@
|
||||
#include <boost/property_tree/ptree.hpp>
|
||||
#include <boost/property_tree/json_parser.hpp>
|
||||
|
||||
#include "process.h"
|
||||
#include "config.h"
|
||||
#include "utility.h"
|
||||
#include "platform/common.h"
|
||||
@ -295,4 +296,4 @@ void refresh(const std::string &file_name) {
|
||||
proc = std::move(*proc_opt);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -5,6 +5,10 @@
|
||||
#ifndef SUNSHINE_PROCESS_H
|
||||
#define SUNSHINE_PROCESS_H
|
||||
|
||||
#ifndef __kernel_entry
|
||||
#define __kernel_entry
|
||||
#endif
|
||||
|
||||
#include <unordered_map>
|
||||
#include <optional>
|
||||
|
||||
|
@ -1,6 +1,9 @@
|
||||
//
|
||||
// Created by loki on 6/5/19.
|
||||
//
|
||||
|
||||
#include "process.h"
|
||||
|
||||
#include <boost/version.hpp>
|
||||
#if ((BOOST_VERSION / 1000) >= 107)
|
||||
#define EXECUTOR(x) (x->get_executor())
|
||||
@ -32,7 +35,6 @@ extern "C" {
|
||||
#include "thread_safe.h"
|
||||
#include "crypto.h"
|
||||
#include "input.h"
|
||||
#include "process.h"
|
||||
|
||||
#define IDX_START_A 0
|
||||
#define IDX_REQUEST_IDR_FRAME 0
|
||||
|
@ -568,7 +568,8 @@ struct endianness {
|
||||
defined(__ARMEB__) || \
|
||||
defined(__THUMBEB__) || \
|
||||
defined(__AARCH64EB__) || \
|
||||
defined(_MIBSEB) || defined(__MIBSEB) || defined(__MIBSEB__)
|
||||
defined(_MIBSEB) || defined(__MIBSEB) || defined(__MIBSEB__) || \
|
||||
defined(WIN32)
|
||||
// It's a big-endian target architecture
|
||||
little = false,
|
||||
#elif defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN || \
|
||||
|
Loading…
x
Reference in New Issue
Block a user