2012-08-13 02:05:25 +04:00
|
|
|
|
2012-10-13 01:55:12 +04:00
|
|
|
if((CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686|x86") AND (CMAKE_SIZEOF_VOID_P EQUAL 4))
|
|
|
|
set(TARGET_ARCH "x86")
|
|
|
|
elseif((CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64") AND (CMAKE_SIZEOF_VOID_P EQUAL 8))
|
|
|
|
set(TARGET_ARCH "x64")
|
2013-03-12 01:05:49 +04:00
|
|
|
elseif((CMAKE_SYSTEM_PROCESSOR MATCHES "i386") AND (CMAKE_SIZEOF_VOID_P EQUAL 8) AND (APPLE))
|
|
|
|
# Mac is weird like that.
|
|
|
|
set(TARGET_ARCH "x64")
|
2012-10-23 03:01:19 +04:00
|
|
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
|
|
|
|
set(TARGET_ARCH "ARM")
|
2012-10-13 01:55:12 +04:00
|
|
|
endif()
|
|
|
|
|
2012-03-22 16:33:01 +04:00
|
|
|
option(WITH_MANPAGES "Generate manpages." ON)
|
|
|
|
option(WITH_PROFILER "Compile profiler." OFF)
|
2012-10-13 01:55:12 +04:00
|
|
|
|
|
|
|
if((TARGET_ARCH MATCHES "x86|x64") AND (NOT DEFINED WITH_SSE2))
|
|
|
|
option(WITH_SSE2 "Enable SSE2 optimization." ON)
|
|
|
|
else()
|
|
|
|
option(WITH_SSE2 "Enable SSE2 optimization." OFF)
|
|
|
|
endif()
|
|
|
|
|
2013-02-20 04:08:27 +04:00
|
|
|
if(TARGET_ARCH MATCHES "ARM")
|
|
|
|
if (NOT DEFINED WITH_NEON)
|
|
|
|
option(WITH_NEON "Enable NEON optimization." ON)
|
|
|
|
else()
|
|
|
|
option(WITH_NEON "Enable NEON optimization." OFF)
|
|
|
|
endif()
|
|
|
|
if (NOT DEFINED ARM_FP_ABI)
|
|
|
|
set(ARM_FP_ABI "softfp" CACHE STRING "Floating point ABI to use on arm")
|
|
|
|
else()
|
|
|
|
set(ARM_FP_ABI ${ARM_FP_API} CACHE STRING "Floating point ABI to use on arm")
|
|
|
|
endif()
|
|
|
|
mark_as_advanced(ARM_FP_ABI)
|
2013-02-28 14:13:43 +04:00
|
|
|
else()
|
|
|
|
if(NOT APPLE)
|
|
|
|
option(WITH_IPP "Use Intel Performance Primitives." OFF)
|
|
|
|
endif()
|
2012-10-23 03:01:19 +04:00
|
|
|
endif()
|
2013-05-31 21:51:50 +04:00
|
|
|
|
2012-07-25 05:26:24 +04:00
|
|
|
option(WITH_JPEG "Use JPEG decoding." OFF)
|
2012-03-22 16:33:01 +04:00
|
|
|
|
2013-05-31 21:51:50 +04:00
|
|
|
if(CMAKE_C_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
|
|
|
set(CMAKE_COMPILER_IS_CLANG 1)
|
2012-08-13 02:05:25 +04:00
|
|
|
endif()
|
|
|
|
|
2012-08-13 04:43:24 +04:00
|
|
|
if(MSVC)
|
|
|
|
option(WITH_NATIVE_SSPI "Use native SSPI modules" ON)
|
2012-12-27 15:19:52 +04:00
|
|
|
option(WITH_WINMM "Use Windows Multimedia" ON)
|
2012-09-20 01:51:06 +04:00
|
|
|
option(WITH_WIN8 "Use Windows 8 libraries" OFF)
|
2012-08-13 04:43:24 +04:00
|
|
|
endif()
|
|
|
|
|
2012-10-13 17:50:02 +04:00
|
|
|
option(BUILD_TESTING "Build unit tests" OFF)
|
2012-10-14 04:55:28 +04:00
|
|
|
option(WITH_SAMPLE "Build sample code" OFF)
|
2012-10-02 19:56:10 +04:00
|
|
|
|
2012-08-14 08:11:04 +04:00
|
|
|
if(${CMAKE_VERSION} VERSION_GREATER 2.8.8)
|
2013-03-29 17:49:41 +04:00
|
|
|
if(ANDROID)
|
2012-10-23 03:01:19 +04:00
|
|
|
option(MONOLITHIC_BUILD "Use monolithic build" ON)
|
|
|
|
else()
|
|
|
|
option(MONOLITHIC_BUILD "Use monolithic build" OFF)
|
|
|
|
endif()
|
2012-08-13 20:32:41 +04:00
|
|
|
endif()
|
|
|
|
|
2012-08-13 02:05:25 +04:00
|
|
|
option(WITH_CLIENT "Build client binaries" ON)
|
|
|
|
option(WITH_SERVER "Build server binaries" OFF)
|
2012-10-05 07:19:05 +04:00
|
|
|
|
2012-10-11 01:13:42 +04:00
|
|
|
option(STATIC_CHANNELS "Build channels statically" ON)
|
2012-10-23 03:01:19 +04:00
|
|
|
|
2012-08-13 02:05:25 +04:00
|
|
|
option(WITH_CHANNELS "Build virtual channel plugins" ON)
|
2012-09-23 04:16:38 +04:00
|
|
|
|
|
|
|
if(WITH_CLIENT AND WITH_CHANNELS)
|
|
|
|
option(WITH_CLIENT_CHANNELS "Build virtual channel plugins" ON)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(WITH_SERVER AND WITH_CHANNELS)
|
|
|
|
option(WITH_SERVER_CHANNELS "Build virtual channel plugins" ON)
|
|
|
|
endif()
|
|
|
|
|
2012-08-13 02:05:25 +04:00
|
|
|
option(WITH_THIRD_PARTY "Build third-party components" OFF)
|
|
|
|
|
2013-04-30 03:53:56 +04:00
|
|
|
option(WITH_CLIENT_INTERFACE "Build clients as a library with an interface" ON)
|
|
|
|
option(WITH_SERVER_INTERFACE "Build servers as a library with an interface" ON)
|
2012-09-16 06:19:26 +04:00
|
|
|
|
2012-09-08 23:27:00 +04:00
|
|
|
option(WITH_DEBUG_ALL "Print all debug messages." OFF)
|
|
|
|
|
|
|
|
if(WITH_DEBUG_ALL)
|
|
|
|
set(DEFAULT_DEBUG_OPTION "ON")
|
|
|
|
else()
|
|
|
|
set(DEFAULT_DEBUG_OPTION "OFF")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
option(WITH_DEBUG_CERTIFICATE "Print certificate related debug messages." ${DEFAULT_DEBUG_OPTION})
|
2013-02-13 01:25:16 +04:00
|
|
|
option(WITH_DEBUG_CAPABILITIES "Print capability negotiation debug messages." ${DEFAULT_DEBUG_OPTION})
|
2012-09-08 23:27:00 +04:00
|
|
|
option(WITH_DEBUG_CHANNELS "Print channel manager debug messages." ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_CLIPRDR "Print clipboard redirection debug messages" ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_DVC "Print dynamic virtual channel debug messages." ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_GDI "Print graphics debug messages." ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_KBD "Print keyboard related debug messages." ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_LICENSE "Print license debug messages." ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_NEGO "Print negotiation related debug messages." ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_NLA "Print authentication related debug messages." ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_NTLM "Print NTLM debug messages" ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_TSG "Print Terminal Server Gateway debug messages" ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_ORDERS "Print drawing orders debug messages" ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_RAIL "Print RemoteApp debug messages" ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_RDP "Print RDP debug messages" ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_REDIR "Redirection debug messages" ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_RFX "Print RemoteFX debug messages." ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_SCARD "Print smartcard debug messages" ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_SVC "Print static virtual channel debug messages." ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_TRANSPORT "Print transport debug messages." ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_TIMEZONE "Print timezone debug messages." ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_WND "Print window order debug messages" ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_X11_CLIPRDR "Print X11 clipboard redirection debug messages" ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_X11_LOCAL_MOVESIZE "Print X11 Client local movesize debug messages" ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_X11 "Print X11 Client debug messages" ${DEFAULT_DEBUG_OPTION})
|
|
|
|
option(WITH_DEBUG_XV "Print XVideo debug messages" ${DEFAULT_DEBUG_OPTION})
|
2012-08-13 02:05:25 +04:00
|
|
|
|
2013-01-29 15:59:58 +04:00
|
|
|
if(ANDROID)
|
|
|
|
include(ConfigOptionsAndroid)
|
|
|
|
endif(ANDROID)
|
2013-02-14 17:59:12 +04:00
|
|
|
|
|
|
|
if(IOS)
|
|
|
|
include(ConfigOptionsiOS)
|
|
|
|
endif(IOS)
|