diff --git a/server/shadow/CMakeLists.txt b/server/shadow/CMakeLists.txt index 1d7818f09..d90f83807 100644 --- a/server/shadow/CMakeLists.txt +++ b/server/shadow/CMakeLists.txt @@ -124,17 +124,10 @@ set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Server/shadow") # command-line executable -set(MODULE_NAME "freerdp-shadow-cli") - -set(SRCS shadow.c) - -addtargetwithresourcefile(${MODULE_NAME} TRUE "${FREERDP_VERSION}" SRCS) - -list(APPEND LIBS freerdp-shadow-subsystem freerdp-shadow freerdp winpr) - -target_link_libraries(${MODULE_NAME} PRIVATE ${LIBS}) - -install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT server) +option(WITH_SERVER_SHADOW_CLI "Build shadow server cli tool" ON) +if(WITH_SERVER_SHADOW_CLI) + add_subdirectory(cli) +endif() set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Server/shadow") @@ -144,8 +137,6 @@ cleaning_configure_file( ${CMAKE_CURRENT_BINARY_DIR}/freerdp-shadow${FREERDP_VERSION_MAJOR}.pc @ONLY ) -generate_and_install_freerdp_man_from_template(${MODULE_NAME} "1" "${FREERDP_API_VERSION}") - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/freerdp-shadow${FREERDP_VERSION_MAJOR}.pc DESTINATION ${PKG_CONFIG_PC_INSTALL_DIR} ) diff --git a/server/shadow/cli/CMakeLists.txt b/server/shadow/cli/CMakeLists.txt new file mode 100644 index 000000000..22fce0f6d --- /dev/null +++ b/server/shadow/cli/CMakeLists.txt @@ -0,0 +1,30 @@ +# FreeRDP: A Remote Desktop Protocol Implementation +# FreeRDP Shadow Server cmake build script +# +# Copyright 2025 Armin Novak +# Copyright Thincast Technologies GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set(MODULE_NAME "freerdp-shadow-cli") + +set(SRCS shadow.c) + +addtargetwithresourcefile(${MODULE_NAME} TRUE "${FREERDP_VERSION}" SRCS) + +list(APPEND LIBS freerdp-shadow-subsystem freerdp-shadow freerdp winpr) + +target_link_libraries(${MODULE_NAME} PRIVATE ${LIBS}) + +install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT server) +generate_and_install_freerdp_man_from_template(${MODULE_NAME} "1" "${FREERDP_API_VERSION}") diff --git a/server/shadow/freerdp-shadow-cli.1.in b/server/shadow/cli/freerdp-shadow-cli.1.in similarity index 100% rename from server/shadow/freerdp-shadow-cli.1.in rename to server/shadow/cli/freerdp-shadow-cli.1.in diff --git a/server/shadow/shadow.c b/server/shadow/cli/shadow.c similarity index 100% rename from server/shadow/shadow.c rename to server/shadow/cli/shadow.c