deskflow/src/lib/plugin/ns/CMakeLists.txt
2016-09-26 11:58:33 +01:00

128 lines
3 KiB
CMake

# synergy -- mouse and keyboard sharing utility
# Copyright (C) 2015-2016 Symless Ltd.
#
# 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 LICENSE 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/>.
file(GLOB headers "*.h")
file(GLOB sources "*.cpp")
if (SYNERGY_ADD_HEADERS)
list(APPEND sources ${headers})
endif()
if (WIN32)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(OPENSSL_PLAT_DIR openssl-win64)
else()
set(OPENSSL_PLAT_DIR openssl-win32)
endif()
set(OPENSSL_INCLUDE ../../../../ext/${OPENSSL_PLAT_DIR}/inc32)
endif()
if (APPLE)
set(OPENSSL_PLAT_DIR openssl-osx)
set(OPENSSL_INCLUDE ../../../../ext/${OPENSSL_PLAT_DIR}/include)
endif()
include_directories(
../../../lib/
../../../..
${OPENSSL_INCLUDE}
)
add_library(ns SHARED ${sources})
if (WIN32)
set(OPENSSL_LIBS
${CMAKE_SOURCE_DIR}/ext/${OPENSSL_PLAT_DIR}/out32dll/libeay32.lib
${CMAKE_SOURCE_DIR}/ext/${OPENSSL_PLAT_DIR}/out32dll/ssleay32.lib
)
endif()
if (UNIX)
if (APPLE)
set(OPENSSL_LIBS
${CMAKE_SOURCE_DIR}/ext/${OPENSSL_PLAT_DIR}/libssl.a
${CMAKE_SOURCE_DIR}/ext/${OPENSSL_PLAT_DIR}/libcrypto.a
)
else()
set(OPENSSL_LIBS ssl crypto)
endif()
endif()
target_link_libraries(ns
arch base client common io mt net ipc platform server synergy ${libs} ${OPENSSL_LIBS})
if (WIN32)
add_custom_command(
TARGET ns
POST_BUILD
COMMAND xcopy /Y /Q
..\\..\\..\\..\\..\\lib\\${CMAKE_CFG_INTDIR}\\ns.*
..\\..\\..\\..\\..\\bin\\${CMAKE_CFG_INTDIR}\\plugins\\
)
add_custom_command(
TARGET ns
POST_BUILD
COMMAND xcopy /Y /Q
..\\..\\..\\..\\..\\ext\\${OPENSSL_PLAT_DIR}\\out32dll\\libeay32.*
..\\..\\..\\..\\..\\bin\\${CMAKE_CFG_INTDIR}
)
add_custom_command(
TARGET ns
POST_BUILD
COMMAND xcopy /Y /Q
..\\..\\..\\..\\..\\ext\\${OPENSSL_PLAT_DIR}\\out32dll\\ssleay32.*
..\\..\\..\\..\\..\\bin\\${CMAKE_CFG_INTDIR}
)
endif()
if (UNIX)
if (APPLE)
add_custom_command(
TARGET ns
POST_BUILD
COMMAND
mkdir -p
${CMAKE_SOURCE_DIR}/bin/${CMAKE_CFG_INTDIR}/plugins
&&
cp
${CMAKE_SOURCE_DIR}/lib/${CMAKE_CFG_INTDIR}/libns.*
${CMAKE_SOURCE_DIR}/bin/${CMAKE_CFG_INTDIR}/plugins/
)
else()
if (CMAKE_BUILD_TYPE STREQUAL Debug)
add_custom_command(
TARGET ns
POST_BUILD
COMMAND mkdir -p
${CMAKE_SOURCE_DIR}/bin/debug/plugins
&&
cp
${CMAKE_SOURCE_DIR}/lib/debug/libns.*
${CMAKE_SOURCE_DIR}/bin/debug/plugins/
)
else()
add_custom_command(
TARGET ns
POST_BUILD
COMMAND mkdir -p
${CMAKE_SOURCE_DIR}/bin/plugins
&&
cp
${CMAKE_SOURCE_DIR}/lib/libns.*
${CMAKE_SOURCE_DIR}/bin/plugins/
)
endif()
endif()
endif()