endif()
set(FREERDP_INCLUDE_DIR "include/freerdp${FREERDP_VERSION_MAJOR}/")
+# Make paths absolute
+if (CMAKE_INSTALL_PREFIX)
+ get_filename_component(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ABSOLUTE)
+endif()
+if (FREERDP_EXTERNAL_PATH)
+ get_filename_component (FREERDP_EXTERNAL_PATH "${FREERDP_EXTERNAL_PATH}" ABSOLUTE)
+endif()
+
# Allow to search the host machine for git
if(ANDROID OR IOS)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)
endif(ANDROID OR IOS)
+
include(GetGitRevisionDescription)
git_get_exact_tag(GIT_REVISION --tags --always)
+
if (${GIT_REVISION} STREQUAL "n/a")
- git_rev_parse(GIT_REVISION --short)
+ git_rev_parse (GIT_REVISION --short)
endif()
if(ANDROID OR IOS)
- SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
+ SET (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
endif(ANDROID OR IOS)
message(STATUS "Git Revision ${GIT_REVISION}")
endif()
if(NOT DEFINED BUILD_SHARED_LIBS)
- if(ANDROID OR IOS OR APPLE)
+ if(IOS OR APPLE)
set(BUILD_SHARED_LIBS OFF)
else()
set(BUILD_SHARED_LIBS ON)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
- if(CMAKE_BUILD_TYPE STREQUAL "Release")
- else()
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Zi")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zi")
- endif()
+ if(CMAKE_BUILD_TYPE STREQUAL "Release")
+ else()
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Zi")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zi")
+ endif()
endif()
# Temporarily disabled, causes the cmake script to be reexecuted, causing the compilation to fail.
# Workaround: specify the parameter in the command-line
-# if(WITH_CLANG)
-# set(CMAKE_C_COMPILER "clang")
-# endif()
+# if(WITH_CLANG)
+# set(CMAKE_C_COMPILER "clang")
+# endif()
if (WITH_VERBOSE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -v")
if(OPENBSD)
set(WITH_MANPAGES "ON")
set(WITH_ALSA "OFF")
- set(WITH_PULSE "OFF")
- set(WITH_OSS "ON")
+ set(WITH_PULSE "OFF")
+ set(WITH_OSS "ON")
set(WITH_WAYLAND "OFF")
endif()
# Android
if(ANDROID)
- set(WITH_LIBRARY_VERSIONING "OFF")
+ set(WITH_LIBRARY_VERSIONING "OFF")
+
+ if (${ANDROID_ABI} STREQUAL "armeabi")
+ set (WITH_NEON OFF)
+ endif()
if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
add_definitions(-DNDK_DEBUG=1)
endif()
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -llog")
- if (NOT FREERDP_EXTERNAL_JPEG_PATH)
- if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/external/jpeg8d")
- set(FREERDP_EXTERNAL_JPEG_PATH "${CMAKE_CURRENT_SOURCE_DIR}/external/jpeg8d")
- else()
- message(STATUS "FREERDP_EXTERNAL_SSL_PATH not set! - Needs to be set if openssl is not found in the android NDK (which usually isn't)")
- endif()
- endif()
- if (NOT FREERDP_EXTERNAL_SSL_PATH)
- if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/external/openssl")
- set(FREERDP_EXTERNAL_SSL_PATH "${CMAKE_CURRENT_SOURCE_DIR}/external/openssl")
+ if (NOT FREERDP_EXTERNAL_PATH)
+ if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/external/")
+ set (FREERDP_EXTERNAL_PATH "${CMAKE_CURRENT_SOURCE_DIR}/external/")
else()
- message(STATUS "FREERDP_EXTERNAL_SSL_PATH not set! - Needs to be set if openssl is not found in the android NDK (which usually isn't)")
- endif()
- if(WITH_GPROF)
- if (NOT FREERDP_EXTERNAL_PROFILER_PATH)
- if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/external/android-ndk-profiler")
- set(FREERDP_EXTERNAL_PROFILER_PATH
- "${CMAKE_CURRENT_SOURCE_DIR}/external/android-ndk-profiler")
- else()
- message(STATUS "FREERDP_EXTERNAL_PROFILER_PATH not set!")
- endif()
+ message(STATUS "FREERDP_EXTERNAL_PATH not set!")
endif()
endif()
-endif()
-set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} ${FREERDP_EXTERNAL_SSL_PATH} ${FREERDP_EXTERNAL_JPEG_PATH})
-set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} ${FREERDP_EXTERNAL_PROFILER_PATH})
- set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/client/Android/FreeRDPCore/jni/${ANDROID_ABI})
- CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/scripts/regenerate_jni_headers.sh.cmake
- ${CMAKE_BINARY_DIR}/scripts/regenerate_jni_headers.sh @ONLY)
+ list (APPEND CMAKE_INCLUDE_PATH ${FREERDP_EXTERNAL_PATH}/include)
+ list (APPEND CMAKE_LIBRARY_PATH ${FREERDP_EXTERNAL_PATH}/${ANDROID_ABI}/ )
+ set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH )
+ set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )
+
if (WITH_GPROF)
- CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/scripts/gprof_generate.sh.cmake ${CMAKE_BINARY_DIR}/scripts/gprof_generate.sh @ONLY)
+ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/scripts/gprof_generate.sh.cmake
+ ${CMAKE_BINARY_DIR}/scripts/gprof_generate.sh @ONLY)
endif(WITH_GPROF)
-
endif()
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
endif()
if(WITH_VALGRIND_MEMCHECK)
- check_include_files(valgrind/memcheck.h HAVE_VALGRIND_MEMCHECK_H)
+ check_include_files(valgrind/memcheck.h HAVE_VALGRIND_MEMCHECK_H)
else()
- unset(HAVE_VALGRIND_MEMCHECK_H CACHE)
+ unset(HAVE_VALGRIND_MEMCHECK_H CACHE)
endif()
if(UNIX OR CYGWIN)
set(OPENSLES_FEATURE_TYPE "DISABLED")
endif()
+if(UNIX AND NOT ANDROID)
+ set(WLOG_SYSTEMD_JOURNAL_FEATURE_TYPE "RECOMMENDED")
+ set(WLOG_SYSTEMD_JOURNAL_FEATURE_PURPOSE "systemd journal appender")
+ set(WLOG_SYSTEMD_JOURNAL_FEATURE_DESCRIPTION "allows to export wLog to systemd journal")
+
+ #include(Findlibsystemd)
+ find_feature(libsystemd ${WLOG_SYSTEMD_JOURNAL_FEATURE_TYPE} ${WLOG_SYSTEMD_JOURNAL_FEATURE_PURPOSE} ${WLOG_SYSTEMD_JOURNAL_FEATURE_DESCRIPTION})
+
+ if(LIBSYSTEMD_FOUND)
+ set(HAVE_JOURNALD_H TRUE)
+ else()
+ unset(HAVE_JOURNALD_H)
+ endif()
+endif(UNIX AND NOT ANDROID)
+
if(ANDROID)
set(X11_FEATURE_TYPE "DISABLED")
set(WAYLAND_FEATURE_TYPE "DISABLED")
set(OPENSLES_FEATURE_TYPE "REQUIRED")
endif()
-if(UNIX)
- set(WLOG_SYSTEMD_JOURNAL_FEATURE_TYPE "RECOMMENDED")
- set(WLOG_SYSTEMD_JOURNAL_FEATURE_PURPOSE "systemd journal appender")
- set(WLOG_SYSTEMD_JOURNAL_FEATURE_DESCRIPTION "allows to export wLog to systemd journal")
-
- #include(Findlibsystemd)
- find_feature(libsystemd ${WLOG_SYSTEMD_JOURNAL_FEATURE_TYPE} ${WLOG_SYSTEMD_JOURNAL_FEATURE_PURPOSE} ${WLOG_SYSTEMD_JOURNAL_FEATURE_DESCRIPTION})
-
- if(LIBSYSTEMD_FOUND)
- set(HAVE_JOURNALD_H TRUE)
- else()
- unset(HAVE_JOURNALD_H)
- endif()
-endif(UNIX)
-
find_feature(X11 ${X11_FEATURE_TYPE} ${X11_FEATURE_PURPOSE} ${X11_FEATURE_DESCRIPTION})
find_feature(Wayland ${WAYLAND_FEATURE_TYPE} ${WAYLAND_FEATURE_PURPOSE} ${WAYLAND_FEATURE_DESCRIPTION})
find_feature(DirectFB ${DIRECTFB_FEATURE_TYPE} ${DIRECTFB_FEATURE_PURPOSE} ${DIRECTFB_FEATURE_DESCRIPTION})
# RPATH configuration
if(CMAKE_SKIP_RPATH)
- set(CMAKE_SKIP_RPATH FALSE)
- set(CMAKE_SKIP_INSTALL_RPATH TRUE)
+ set(CMAKE_SKIP_RPATH FALSE)
+ set(CMAKE_SKIP_INSTALL_RPATH TRUE)
endif()
set(CMAKE_SKIP_BUILD_RPATH FALSE)
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)