set(REQUESTSERVER_SOURCE_DIR ${MINERVA_SOURCE_DIR}/Userland/Services/RequestServer) set(CMAKE_AUTOMOC OFF) set(CMAKE_AUTORCC OFF) set(CMAKE_AUTOUIC OFF) set(REQUESTSERVER_SOURCES ${REQUESTSERVER_SOURCE_DIR}/ConnectionFromClient.cpp ${REQUESTSERVER_SOURCE_DIR}/ConnectionCache.cpp ${REQUESTSERVER_SOURCE_DIR}/Request.cpp ${REQUESTSERVER_SOURCE_DIR}/GeminiRequest.cpp ${REQUESTSERVER_SOURCE_DIR}/GeminiProtocol.cpp ${REQUESTSERVER_SOURCE_DIR}/HttpRequest.cpp ${REQUESTSERVER_SOURCE_DIR}/HttpProtocol.cpp ${REQUESTSERVER_SOURCE_DIR}/HttpsRequest.cpp ${REQUESTSERVER_SOURCE_DIR}/HttpsProtocol.cpp ${REQUESTSERVER_SOURCE_DIR}/Protocol.cpp ) add_library(requestserver STATIC ${REQUESTSERVER_SOURCES}) add_executable(RequestServer main.cpp) target_link_libraries(RequestServer PRIVATE requestserver) target_include_directories(requestserver PRIVATE ${MINERVA_SOURCE_DIR}/Userland/Services/) target_include_directories(requestserver PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/..) target_link_libraries(requestserver PUBLIC LibCore LibMain LibCrypto LibFileSystem LibGemini LibHTTP LibIPC LibMain LibTLS LibWebView LibWebSocket LibURL LibThreading) if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS") # Solaris has socket and networking related functions in two extra libraries target_link_libraries(requestserver PUBLIC nsl socket) endif() if (HAIKU) # Haiku has networking related functions in the network library target_link_libraries(RequestServer PRIVATE network) endif()