mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-27 21:01:06 +01:00
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
30 lines
608 B
CMake
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)
|