implemented ipc "hello" message (to identify client type) integ tests working for hello message, but use of ipc in main program has problem with events.
198 lines
4.4 KiB
CMake
198 lines
4.4 KiB
CMake
# synergy -- mouse and keyboard sharing utility
|
|
# Copyright (C) 2009 Chris Schoeneman, Nick Bolton, Sorin Sbarnea
|
|
#
|
|
# This package is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License
|
|
# found in the file COPYING that should have accompanied this file.
|
|
#
|
|
# 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/>.
|
|
|
|
if (WIN32)
|
|
|
|
set(inc
|
|
CMSWindowsClipboard.h
|
|
CMSWindowsClipboardAnyTextConverter.h
|
|
CMSWindowsClipboardBitmapConverter.h
|
|
CMSWindowsClipboardHTMLConverter.h
|
|
CMSWindowsClipboardTextConverter.h
|
|
CMSWindowsClipboardUTF16Converter.h
|
|
CMSWindowsDesks.h
|
|
CMSWindowsEventQueueBuffer.h
|
|
CMSWindowsKeyState.h
|
|
CMSWindowsScreen.h
|
|
CMSWindowsScreenSaver.h
|
|
CMSWindowsUtil.h
|
|
CMSWindowsRelauncher.h
|
|
CMSWindowsHookLibraryLoader.h
|
|
IMSWindowsClipboardFacade.h
|
|
CMSWindowsDebugOutputter.h
|
|
CMSWindowsXInput.h
|
|
)
|
|
|
|
set(src
|
|
CMSWindowsClipboard.cpp
|
|
CMSWindowsClipboardFacade.cpp
|
|
CMSWindowsClipboardAnyTextConverter.cpp
|
|
CMSWindowsClipboardBitmapConverter.cpp
|
|
CMSWindowsClipboardHTMLConverter.cpp
|
|
CMSWindowsClipboardTextConverter.cpp
|
|
CMSWindowsClipboardUTF16Converter.cpp
|
|
CMSWindowsDesks.cpp
|
|
CMSWindowsEventQueueBuffer.cpp
|
|
CMSWindowsKeyState.cpp
|
|
CMSWindowsScreen.cpp
|
|
CMSWindowsScreenSaver.cpp
|
|
CMSWindowsUtil.cpp
|
|
CMSWindowsRelauncher.cpp
|
|
CMSWindowsHookLibraryLoader.cpp
|
|
CMSWindowsDebugOutputter.cpp
|
|
)
|
|
|
|
set(inc_hook
|
|
CSynergyHook.h
|
|
)
|
|
|
|
set(src_hook
|
|
CSynergyHook.cpp
|
|
)
|
|
|
|
if (GAME_DEVICE_SUPPORT)
|
|
|
|
list(APPEND inc
|
|
CMSWindowsXInput.h
|
|
)
|
|
|
|
list(APPEND src
|
|
CMSWindowsXInput.cpp
|
|
)
|
|
|
|
|
|
set(inc_xinhook
|
|
XInputHook.h
|
|
HookDLL.h
|
|
)
|
|
|
|
set(src_xinhook
|
|
XInputHook.cpp
|
|
HookDLL.cpp
|
|
)
|
|
|
|
set(inc_xinproxy13
|
|
XInput13.h
|
|
XInputProxy13.h
|
|
)
|
|
|
|
set(src_xinproxy13
|
|
XInputProxy13.cpp
|
|
)
|
|
|
|
endif()
|
|
|
|
list(APPEND src
|
|
${inc}
|
|
)
|
|
|
|
elseif (APPLE)
|
|
|
|
set(src
|
|
COSXClipboard.cpp
|
|
COSXClipboardAnyTextConverter.cpp
|
|
COSXClipboardTextConverter.cpp
|
|
COSXClipboardUTF16Converter.cpp
|
|
COSXEventQueueBuffer.cpp
|
|
COSXKeyState.cpp
|
|
COSXScreen.cpp
|
|
COSXScreenSaver.cpp
|
|
COSXScreenSaverUtil.m
|
|
)
|
|
|
|
elseif (UNIX)
|
|
|
|
set(src
|
|
CXWindowsClipboard.cpp
|
|
CXWindowsClipboardAnyBitmapConverter.cpp
|
|
CXWindowsClipboardBMPConverter.cpp
|
|
CXWindowsClipboardHTMLConverter.cpp
|
|
CXWindowsClipboardTextConverter.cpp
|
|
CXWindowsClipboardUCS2Converter.cpp
|
|
CXWindowsClipboardUTF8Converter.cpp
|
|
CXWindowsEventQueueBuffer.cpp
|
|
CXWindowsKeyState.cpp
|
|
CXWindowsScreen.cpp
|
|
CXWindowsScreenSaver.cpp
|
|
CXWindowsUtil.cpp
|
|
)
|
|
|
|
endif()
|
|
|
|
set(inc
|
|
../arch
|
|
../base
|
|
../common
|
|
../mt
|
|
../synergy
|
|
../ipc
|
|
../net
|
|
../io
|
|
)
|
|
|
|
if (UNIX)
|
|
list(APPEND inc
|
|
../../..
|
|
)
|
|
endif()
|
|
|
|
include_directories(${inc})
|
|
add_library(platform STATIC ${src})
|
|
|
|
if (WIN32)
|
|
add_library(synrgyhk SHARED ${inc_hook} ${src_hook})
|
|
|
|
# copy the dlls (and supporting files) from the lib dir to
|
|
# the bin dir, so that synergyc and synergys can easily find them.
|
|
# we should leave the other libraries compiling to the lib dir,
|
|
# so that the bin dir remains tidy. the path is relative to the
|
|
# build dir (in this case, that's: build\src\lib\platform).
|
|
add_custom_command(
|
|
TARGET synrgyhk
|
|
POST_BUILD
|
|
COMMAND xcopy /Y /Q
|
|
..\\..\\..\\..\\lib\\${CMAKE_CFG_INTDIR}\\synrgyhk.*
|
|
..\\..\\..\\..\\bin\\${CMAKE_CFG_INTDIR}\\
|
|
)
|
|
|
|
if (GAME_DEVICE_SUPPORT)
|
|
include_directories($ENV{DXSDK_DIR}/Include)
|
|
add_library(synxinhk SHARED ${inc_xinhook} ${src_xinhook})
|
|
|
|
add_custom_command(
|
|
TARGET synxinhk
|
|
POST_BUILD
|
|
COMMAND xcopy /Y /Q
|
|
..\\..\\..\\..\\lib\\${CMAKE_CFG_INTDIR}\\synxinhk.*
|
|
..\\..\\..\\..\\bin\\${CMAKE_CFG_INTDIR}\\
|
|
)
|
|
|
|
# synergy xinput1_3.dll proxy
|
|
include_directories($ENV{DXSDK_DIR}/Include)
|
|
add_library(sxinpx13 SHARED ${inc_xinproxy13} ${src_xinproxy13})
|
|
target_link_libraries(sxinpx13 synxinhk)
|
|
add_custom_command(
|
|
TARGET sxinpx13
|
|
POST_BUILD
|
|
COMMAND xcopy /Y /Q
|
|
..\\..\\..\\..\\lib\\${CMAKE_CFG_INTDIR}\\sxinpx13.*
|
|
..\\..\\..\\..\\bin\\${CMAKE_CFG_INTDIR}\\
|
|
)
|
|
endif()
|
|
endif()
|
|
|
|
if (UNIX)
|
|
target_link_libraries(platform io net ipc synergy ${libs})
|
|
endif()
|