Files
FEX-Emu--FEX/Source/Tools/FEXServer/CMakeLists.txt
T
Ryan Houdek 5fe6afc270 FEXServer: Adds new FEXServer service
This is a relatively invasive change since multiple things needed to
happen at once.

* Socket based logging is removed
  * Logging has been replaced to only support stdout, stderr, and server
  * Server is now default and replaces what FEXLogServer did
  * Server logging now uses a pipe instead of a socket
  * Can be faster than stderr and stdout since the application doesn't
    need to wait on terminal output

* FEXMountDaemon has been removed
  * Functionality has been merged in to FEXServer

* FEXServer is always executed on FEX initialization time
  * Similar in behaviour to Wine's wineserver
  * Can explicitly start this before using FEX for logging purposes
  * Stays around until all instances of FEX exit
  * Will stick around for a short amount of time in case of spurious
    execution

* FEXServer will soon be extended to do more than logging and squashfs
  mounting

* FEX rootfs scripts will need to be updated to support this path
  * Just means rbinding the /tmp folder and forcing a FEXServer instance
    to be alive
* Pressure-vessel works fine in this case since FEXServer will already
  be running
  * It already rbinds the host /tmp folder which is why this works
2022-06-23 07:51:56 -07:00

30 lines
608 B
CMake

set(NAME FEXServer)
set(SRCS Main.cpp
ArgumentLoader.cpp
Logger.cpp
PipeScanner.cpp
ProcessPipe.cpp
SquashFS.cpp)
add_executable(${NAME} ${SRCS})
target_include_directories(${NAME} PRIVATE
${CMAKE_BINARY_DIR}/generated
${CMAKE_SOURCE_DIR}/Source/)
target_link_libraries(${NAME} PRIVATE FEXCore Common ${STATIC_PIE_OPTIONS} ${PTHREAD_LIB})
if (CMAKE_BUILD_TYPE MATCHES "RELEASE")
target_link_options(${NAME}
PRIVATE
"LINKER:--gc-sections"
"LINKER:--strip-all"
"LINKER:--as-needed"
)
endif()
install(TARGETS ${NAME}
RUNTIME
DESTINATION bin
COMPONENT runtime)