2024-07-02 10:23:56 +00:00
|
|
|
# Synergy -- mouse and keyboard sharing utility
|
|
|
|
|
# Copyright (C) 2012-2024 Symless Ltd.
|
|
|
|
|
# Copyright (C) 2009-2012 Nick Bolton
|
|
|
|
|
#
|
2012-06-10 16:50:54 +00:00
|
|
|
# This package is free software; you can redistribute it and/or
|
|
|
|
|
# modify it under the terms of the GNU General Public License
|
2015-05-03 02:33:52 +00:00
|
|
|
# found in the file LICENSE that should have accompanied this file.
|
2024-07-02 10:23:56 +00:00
|
|
|
#
|
2012-06-10 16:50:54 +00:00
|
|
|
# This package is distributed in the hope that it will be useful,
|
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
|
#
|
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
2024-06-28 09:35:18 +00:00
|
|
|
set(target unittests)
|
|
|
|
|
|
2021-10-13 10:01:27 +00:00
|
|
|
file(GLOB_RECURSE headers "*.h" "languages/*.h")
|
|
|
|
|
file(GLOB_RECURSE sources "*.cpp" "languages/*.cpp")
|
2012-06-10 16:50:54 +00:00
|
|
|
|
2016-08-12 13:22:06 +00:00
|
|
|
file(GLOB_RECURSE remove_platform "platform/*")
|
|
|
|
|
list(REMOVE_ITEM headers ${remove_platform})
|
|
|
|
|
list(REMOVE_ITEM sources ${remove_platform})
|
|
|
|
|
|
2024-07-17 08:22:46 +00:00
|
|
|
file(GLOB_RECURSE shared_headers "../../test/shared/*.h")
|
|
|
|
|
file(GLOB_RECURSE shared_sources "../../test/shared/*.cpp")
|
2014-02-28 13:56:07 +00:00
|
|
|
|
2024-07-17 08:22:46 +00:00
|
|
|
list(APPEND headers ${shared_headers})
|
|
|
|
|
list(APPEND sources ${shared_sources})
|
2014-02-28 13:56:07 +00:00
|
|
|
|
|
|
|
|
file(GLOB_RECURSE mock_headers "../../test/mock/*.h")
|
|
|
|
|
file(GLOB_RECURSE mock_sources "../../test/mock/*.cpp")
|
|
|
|
|
|
|
|
|
|
list(APPEND headers ${mock_headers})
|
|
|
|
|
list(APPEND sources ${mock_sources})
|
|
|
|
|
|
2024-07-16 08:30:35 +00:00
|
|
|
set(gui_dir "../../gui/src")
|
|
|
|
|
file(GLOB_RECURSE gui_sources "${gui_dir}/*.cpp")
|
|
|
|
|
|
|
|
|
|
file(GLOB activation_sources "${gui_dir}/*Activation*" "${gui_dir}/*License*")
|
|
|
|
|
if(NOT ENABLE_LICENSING)
|
|
|
|
|
list(REMOVE_ITEM gui_sources ${activation_sources})
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
# remove main gui as the test already has its own main.
|
|
|
|
|
file(GLOB gui_main "${gui_dir}/main.cpp")
|
|
|
|
|
list(REMOVE_ITEM gui_sources ${gui_main})
|
|
|
|
|
|
|
|
|
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
|
|
|
|
file(GLOB mac_gui_sources "${gui_dir}/*.mm")
|
|
|
|
|
list(APPEND gui_sources ${mac_gui_sources})
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
list(APPEND sources ${gui_sources})
|
|
|
|
|
|
2016-08-12 13:22:06 +00:00
|
|
|
# platform
|
2024-07-02 10:23:56 +00:00
|
|
|
if(WIN32)
|
|
|
|
|
file(GLOB platform_sources "platform/MSWindows*.cpp")
|
|
|
|
|
file(GLOB platform_headers "platform/MSWindows*.h")
|
|
|
|
|
elseif(APPLE)
|
|
|
|
|
file(GLOB platform_sources "platform/OSX*.cpp")
|
|
|
|
|
file(GLOB platform_headers "platform/OSX*.h")
|
|
|
|
|
elseif(UNIX)
|
|
|
|
|
file(GLOB platform_sources "platform/XWindows*.cpp")
|
|
|
|
|
file(GLOB platform_headers "platform/XWindows*.h")
|
2016-08-12 13:22:06 +00:00
|
|
|
endif()
|
|
|
|
|
|
2021-09-21 06:51:49 +00:00
|
|
|
list(APPEND sources ${platform_sources})
|
|
|
|
|
list(APPEND headers ${platform_headers})
|
2016-08-12 13:22:06 +00:00
|
|
|
|
2024-07-16 08:30:35 +00:00
|
|
|
set(ext_dir "../../../ext")
|
|
|
|
|
|
|
|
|
|
include_directories(
|
|
|
|
|
"../.."
|
|
|
|
|
"../../lib"
|
|
|
|
|
${ext_dir}
|
|
|
|
|
${gui_dir}
|
|
|
|
|
"${ext_dir}/gtest/include"
|
|
|
|
|
"${ext_dir}/gmock/include")
|
2012-06-10 16:50:54 +00:00
|
|
|
|
2024-07-02 10:23:56 +00:00
|
|
|
if(SYNERGY_ADD_HEADERS)
|
|
|
|
|
list(APPEND sources ${headers})
|
2014-02-26 17:46:02 +00:00
|
|
|
endif()
|
|
|
|
|
|
2024-07-02 10:23:56 +00:00
|
|
|
if(WIN32)
|
|
|
|
|
list(APPEND sources ${CMAKE_BINARY_DIR}/src/version.rc)
|
2024-06-28 09:35:18 +00:00
|
|
|
endif()
|
|
|
|
|
|
2024-07-16 08:30:35 +00:00
|
|
|
set(CMAKE_AUTOMOC ON)
|
|
|
|
|
set(CMAKE_AUTORCC ON)
|
|
|
|
|
set(CMAKE_AUTOUIC ON)
|
|
|
|
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|
|
|
|
|
|
|
|
|
find_package(
|
|
|
|
|
Qt6
|
|
|
|
|
COMPONENTS Core Widgets Network Test
|
|
|
|
|
REQUIRED)
|
|
|
|
|
|
2024-06-28 09:35:18 +00:00
|
|
|
add_executable(${target} ${sources})
|
2024-07-16 08:30:35 +00:00
|
|
|
|
2024-07-02 10:23:56 +00:00
|
|
|
target_link_libraries(
|
|
|
|
|
${target}
|
|
|
|
|
arch
|
|
|
|
|
base
|
|
|
|
|
client
|
|
|
|
|
server
|
|
|
|
|
common
|
|
|
|
|
io
|
|
|
|
|
net
|
|
|
|
|
platform
|
|
|
|
|
server
|
|
|
|
|
synlib
|
|
|
|
|
mt
|
|
|
|
|
ipc
|
|
|
|
|
gtest
|
|
|
|
|
gmock
|
|
|
|
|
shared
|
2024-07-16 08:30:35 +00:00
|
|
|
Qt6::Core
|
|
|
|
|
Qt6::Widgets
|
|
|
|
|
Qt6::Network
|
|
|
|
|
Qt6::Test
|
2024-07-02 10:23:56 +00:00
|
|
|
${libs})
|