mirror of https://github.com/FreeRDP/FreeRDP
Merge pull request #6081 from akallabeth/disable_spincount
Disable spincount
This commit is contained in:
commit
9e1b2eb42e
|
@ -24,10 +24,10 @@ include(FindCairo)
|
||||||
# Create imported targets for Intel IPP libraries
|
# Create imported targets for Intel IPP libraries
|
||||||
|
|
||||||
if(IPP_FOUND)
|
if(IPP_FOUND)
|
||||||
foreach(ipp_lib ${IPP_LIBRARIES})
|
foreach(ipp_lib ${IPP_LIBRARIES})
|
||||||
add_library("${ipp_lib}_imported" STATIC IMPORTED)
|
add_library("${ipp_lib}_imported" STATIC IMPORTED)
|
||||||
set_property(TARGET "${ipp_lib}_imported" PROPERTY IMPORTED_LOCATION "${IPP_LIBRARY_DIRS}/${ipp_lib}")
|
set_property(TARGET "${ipp_lib}_imported" PROPERTY IMPORTED_LOCATION "${IPP_LIBRARY_DIRS}/${ipp_lib}")
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(LIBFREERDP_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
set(LIBFREERDP_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
@ -37,49 +37,49 @@ set(LIBFREERDP_INCLUDES "")
|
||||||
set(LIBFREERDP_DEFINITIONS "")
|
set(LIBFREERDP_DEFINITIONS "")
|
||||||
|
|
||||||
macro (freerdp_module_add)
|
macro (freerdp_module_add)
|
||||||
file (RELATIVE_PATH _relPath "${LIBFREERDP_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
|
file (RELATIVE_PATH _relPath "${LIBFREERDP_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||||
foreach (_src ${ARGN})
|
foreach (_src ${ARGN})
|
||||||
if (_relPath)
|
if (_relPath)
|
||||||
list (APPEND LIBFREERDP_SRCS "${_relPath}/${_src}")
|
list (APPEND LIBFREERDP_SRCS "${_relPath}/${_src}")
|
||||||
else()
|
else()
|
||||||
list (APPEND LIBFREERDP_SRCS "${_src}")
|
list (APPEND LIBFREERDP_SRCS "${_src}")
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
if (_relPath)
|
if (_relPath)
|
||||||
set (LIBFREERDP_SRCS ${LIBFREERDP_SRCS} PARENT_SCOPE)
|
set (LIBFREERDP_SRCS ${LIBFREERDP_SRCS} PARENT_SCOPE)
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
macro (freerdp_include_directory_add)
|
macro (freerdp_include_directory_add)
|
||||||
file (RELATIVE_PATH _relPath "${LIBFREERDP_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
|
file (RELATIVE_PATH _relPath "${LIBFREERDP_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||||
foreach (_inc ${ARGN})
|
foreach (_inc ${ARGN})
|
||||||
if (IS_ABSOLUTE ${_inc})
|
if (IS_ABSOLUTE ${_inc})
|
||||||
list (APPEND LIBFREERDP_INCLUDES "${_inc}")
|
list (APPEND LIBFREERDP_INCLUDES "${_inc}")
|
||||||
else()
|
else()
|
||||||
if (_relPath)
|
if (_relPath)
|
||||||
list (APPEND LIBFREERDP_INCLUDES "${_relPath}/${_inc}")
|
list (APPEND LIBFREERDP_INCLUDES "${_relPath}/${_inc}")
|
||||||
else()
|
else()
|
||||||
list (APPEND LIBFREERDP_INCLUDES "${_inc}")
|
list (APPEND LIBFREERDP_INCLUDES "${_inc}")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
if (_relPath)
|
if (_relPath)
|
||||||
set (LIBFREERDP_INCLUDES ${LIBFREERDP_INCLUDES} PARENT_SCOPE)
|
set (LIBFREERDP_INCLUDES ${LIBFREERDP_INCLUDES} PARENT_SCOPE)
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
macro (freerdp_library_add)
|
macro (freerdp_library_add)
|
||||||
foreach (_lib ${ARGN})
|
foreach (_lib ${ARGN})
|
||||||
list (APPEND LIBFREERDP_LIBS "${_lib}")
|
list (APPEND LIBFREERDP_LIBS "${_lib}")
|
||||||
endforeach()
|
endforeach()
|
||||||
set (LIBFREERDP_LIBS ${LIBFREERDP_LIBS} PARENT_SCOPE)
|
set (LIBFREERDP_LIBS ${LIBFREERDP_LIBS} PARENT_SCOPE)
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
macro (freerdp_definition_add)
|
macro (freerdp_definition_add)
|
||||||
foreach (_define ${ARGN})
|
foreach (_define ${ARGN})
|
||||||
list (APPEND LIBFREERDP_DEFINITIONS "${_define}")
|
list (APPEND LIBFREERDP_DEFINITIONS "${_define}")
|
||||||
endforeach()
|
endforeach()
|
||||||
set (LIBFREERDP_DEFINITIONS ${LIBFREERDP_DEFINITIONS} PARENT_SCOPE)
|
set (LIBFREERDP_DEFINITIONS ${LIBFREERDP_DEFINITIONS} PARENT_SCOPE)
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
if (WITH_SWSCALE)
|
if (WITH_SWSCALE)
|
||||||
|
@ -99,20 +99,20 @@ elseif (WITH_CAIRO)
|
||||||
include_directories(${CAIRO_INCLUDE_DIR})
|
include_directories(${CAIRO_INCLUDE_DIR})
|
||||||
freerdp_library_add(${CAIRO_LIBRARY})
|
freerdp_library_add(${CAIRO_LIBRARY})
|
||||||
else()
|
else()
|
||||||
message(WARNING "neither swscale nor libcairo detected, compiling without image scaling support!")
|
message(WARNING "-DWITH_SWSCALE=OFF and -DWITH_CAIRO=OFF, compiling without image scaling support!")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(${MODULE_PREFIX}_SUBMODULES
|
set(${MODULE_PREFIX}_SUBMODULES
|
||||||
utils
|
utils
|
||||||
common
|
common
|
||||||
gdi
|
gdi
|
||||||
cache
|
cache
|
||||||
crypto
|
crypto
|
||||||
locale
|
locale
|
||||||
core)
|
core)
|
||||||
|
|
||||||
foreach(${MODULE_PREFIX}_SUBMODULE ${${MODULE_PREFIX}_SUBMODULES})
|
foreach(${MODULE_PREFIX}_SUBMODULE ${${MODULE_PREFIX}_SUBMODULES})
|
||||||
add_subdirectory(${${MODULE_PREFIX}_SUBMODULE})
|
add_subdirectory(${${MODULE_PREFIX}_SUBMODULE})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
## cmake source properties are only seen by targets in the same CMakeLists.txt
|
## cmake source properties are only seen by targets in the same CMakeLists.txt
|
||||||
|
@ -120,134 +120,134 @@ endforeach()
|
||||||
|
|
||||||
# codec
|
# codec
|
||||||
set(CODEC_SRCS
|
set(CODEC_SRCS
|
||||||
codec/dsp.c
|
codec/dsp.c
|
||||||
codec/color.c
|
codec/color.c
|
||||||
codec/audio.c
|
codec/audio.c
|
||||||
codec/planar.c
|
codec/planar.c
|
||||||
codec/bitmap.c
|
codec/bitmap.c
|
||||||
codec/interleaved.c
|
codec/interleaved.c
|
||||||
codec/progressive.c
|
codec/progressive.c
|
||||||
codec/rfx_bitstream.h
|
codec/rfx_bitstream.h
|
||||||
codec/rfx_constants.h
|
codec/rfx_constants.h
|
||||||
codec/rfx_decode.c
|
codec/rfx_decode.c
|
||||||
codec/rfx_decode.h
|
codec/rfx_decode.h
|
||||||
codec/rfx_differential.h
|
codec/rfx_differential.h
|
||||||
codec/rfx_dwt.c
|
codec/rfx_dwt.c
|
||||||
codec/rfx_dwt.h
|
codec/rfx_dwt.h
|
||||||
codec/rfx_encode.c
|
codec/rfx_encode.c
|
||||||
codec/rfx_encode.h
|
codec/rfx_encode.h
|
||||||
codec/rfx_quantization.c
|
codec/rfx_quantization.c
|
||||||
codec/rfx_quantization.h
|
codec/rfx_quantization.h
|
||||||
codec/rfx_rlgr.c
|
codec/rfx_rlgr.c
|
||||||
codec/rfx_rlgr.h
|
codec/rfx_rlgr.h
|
||||||
codec/rfx_types.h
|
codec/rfx_types.h
|
||||||
codec/rfx.c
|
codec/rfx.c
|
||||||
codec/region.c
|
codec/region.c
|
||||||
codec/nsc.c
|
codec/nsc.c
|
||||||
codec/nsc_encode.c
|
codec/nsc_encode.c
|
||||||
codec/nsc_encode.h
|
codec/nsc_encode.h
|
||||||
codec/nsc_types.h
|
codec/nsc_types.h
|
||||||
codec/ncrush.c
|
codec/ncrush.c
|
||||||
codec/xcrush.c
|
codec/xcrush.c
|
||||||
codec/mppc.c
|
codec/mppc.c
|
||||||
codec/zgfx.c
|
codec/zgfx.c
|
||||||
codec/clear.c
|
codec/clear.c
|
||||||
codec/jpeg.c
|
codec/jpeg.c
|
||||||
codec/h264.c
|
codec/h264.c
|
||||||
codec/yuv.c)
|
codec/yuv.c)
|
||||||
|
|
||||||
set(CODEC_SSE2_SRCS
|
set(CODEC_SSE2_SRCS
|
||||||
codec/rfx_sse2.c
|
codec/rfx_sse2.c
|
||||||
codec/rfx_sse2.h
|
codec/rfx_sse2.h
|
||||||
codec/nsc_sse2.c
|
codec/nsc_sse2.c
|
||||||
codec/nsc_sse2.h)
|
codec/nsc_sse2.h)
|
||||||
|
|
||||||
set(CODEC_NEON_SRCS
|
set(CODEC_NEON_SRCS
|
||||||
codec/rfx_neon.c
|
codec/rfx_neon.c
|
||||||
codec/rfx_neon.h)
|
codec/rfx_neon.h)
|
||||||
|
|
||||||
if(WITH_SSE2)
|
if(WITH_SSE2)
|
||||||
set(CODEC_SRCS ${CODEC_SRCS} ${CODEC_SSE2_SRCS})
|
set(CODEC_SRCS ${CODEC_SRCS} ${CODEC_SSE2_SRCS})
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCC OR ${CMAKE_C_COMPILER_ID} STREQUAL "Clang")
|
if(CMAKE_COMPILER_IS_GNUCC OR ${CMAKE_C_COMPILER_ID} STREQUAL "Clang")
|
||||||
set_source_files_properties(${CODEC_SSE2_SRCS} PROPERTIES COMPILE_FLAGS "-msse2" )
|
set_source_files_properties(${CODEC_SSE2_SRCS} PROPERTIES COMPILE_FLAGS "-msse2" )
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set_source_files_properties(${CODEC_SSE2_SRCS} PROPERTIES COMPILE_FLAGS "/arch:SSE2" )
|
set_source_files_properties(${CODEC_SSE2_SRCS} PROPERTIES COMPILE_FLAGS "/arch:SSE2" )
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (WITH_DSP_FFMPEG)
|
if (WITH_DSP_FFMPEG)
|
||||||
set(CODEC_SRCS
|
set(CODEC_SRCS
|
||||||
${CODEC_SRCS}
|
${CODEC_SRCS}
|
||||||
codec/dsp_ffmpeg.c
|
codec/dsp_ffmpeg.c
|
||||||
codec/dsp_ffmpeg.h)
|
codec/dsp_ffmpeg.h)
|
||||||
endif (WITH_DSP_FFMPEG)
|
endif (WITH_DSP_FFMPEG)
|
||||||
|
|
||||||
if (WITH_SOXR)
|
if (WITH_SOXR)
|
||||||
freerdp_library_add(${SOXR_LIBRARIES})
|
freerdp_library_add(${SOXR_LIBRARIES})
|
||||||
include_directories(${SOXR_INCLUDE_DIR})
|
include_directories(${SOXR_INCLUDE_DIR})
|
||||||
endif(WITH_SOXR)
|
endif(WITH_SOXR)
|
||||||
|
|
||||||
if(GSM_FOUND)
|
if(GSM_FOUND)
|
||||||
freerdp_library_add(${GSM_LIBRARIES})
|
freerdp_library_add(${GSM_LIBRARIES})
|
||||||
include_directories(${GSM_INCLUDE_DIRS})
|
include_directories(${GSM_INCLUDE_DIRS})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(LAME_FOUND)
|
if(LAME_FOUND)
|
||||||
freerdp_library_add(${LAME_LIBRARIES})
|
freerdp_library_add(${LAME_LIBRARIES})
|
||||||
include_directories(${LAME_INCLUDE_DIRS})
|
include_directories(${LAME_INCLUDE_DIRS})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(FAAD2_FOUND)
|
if(FAAD2_FOUND)
|
||||||
freerdp_library_add(${FAAD2_LIBRARIES})
|
freerdp_library_add(${FAAD2_LIBRARIES})
|
||||||
include_directories(${FAAD2_INCLUDE_DIRS})
|
include_directories(${FAAD2_INCLUDE_DIRS})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(FAAC_FOUND)
|
if(FAAC_FOUND)
|
||||||
freerdp_library_add(${FAAC_LIBRARIES})
|
freerdp_library_add(${FAAC_LIBRARIES})
|
||||||
include_directories(${FAAC_INCLUDE_DIRS})
|
include_directories(${FAAC_INCLUDE_DIRS})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_NEON)
|
if(WITH_NEON)
|
||||||
set_source_files_properties(${CODEC_NEON_SRCS} PROPERTIES COMPILE_FLAGS "-mfpu=neon -Wno-unused-variable" )
|
set_source_files_properties(${CODEC_NEON_SRCS} PROPERTIES COMPILE_FLAGS "-mfpu=neon -Wno-unused-variable" )
|
||||||
set(CODEC_SRCS ${CODEC_SRCS} ${CODEC_NEON_SRCS})
|
set(CODEC_SRCS ${CODEC_SRCS} ${CODEC_NEON_SRCS})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_JPEG)
|
if(WITH_JPEG)
|
||||||
freerdp_include_directory_add(${JPEG_INCLUDE_DIR})
|
freerdp_include_directory_add(${JPEG_INCLUDE_DIR})
|
||||||
freerdp_library_add(${JPEG_LIBRARIES})
|
freerdp_library_add(${JPEG_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_X264)
|
if(WITH_X264)
|
||||||
set(CODEC_SRCS ${CODEC_SRCS} codec/h264_x264.c)
|
set(CODEC_SRCS ${CODEC_SRCS} codec/h264_x264.c)
|
||||||
freerdp_include_directory_add(${X264_INCLUDE_DIR})
|
freerdp_include_directory_add(${X264_INCLUDE_DIR})
|
||||||
freerdp_library_add(${X264_LIBRARIES})
|
freerdp_library_add(${X264_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_OPENH264)
|
if(WITH_OPENH264)
|
||||||
set(CODEC_SRCS ${CODEC_SRCS} codec/h264_openh264.c)
|
set(CODEC_SRCS ${CODEC_SRCS} codec/h264_openh264.c)
|
||||||
freerdp_include_directory_add(${OPENH264_INCLUDE_DIR})
|
freerdp_include_directory_add(${OPENH264_INCLUDE_DIR})
|
||||||
if (NOT WITH_OPENH264_LOADING)
|
if (NOT WITH_OPENH264_LOADING)
|
||||||
freerdp_library_add(${OPENH264_LIBRARIES})
|
freerdp_library_add(${OPENH264_LIBRARIES})
|
||||||
endif (NOT WITH_OPENH264_LOADING)
|
endif (NOT WITH_OPENH264_LOADING)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_FFMPEG)
|
if(WITH_FFMPEG)
|
||||||
set(CODEC_SRCS ${CODEC_SRCS} codec/h264_ffmpeg.c)
|
set(CODEC_SRCS ${CODEC_SRCS} codec/h264_ffmpeg.c)
|
||||||
freerdp_include_directory_add(${FFMPEG_INCLUDE_DIRS})
|
freerdp_include_directory_add(${FFMPEG_INCLUDE_DIRS})
|
||||||
freerdp_library_add(${FFMPEG_LIBRARIES})
|
freerdp_library_add(${FFMPEG_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32 AND WITH_MEDIA_FOUNDATION)
|
if(WIN32 AND WITH_MEDIA_FOUNDATION)
|
||||||
set(CODEC_SRCS ${CODEC_SRCS} codec/h264_mf.c)
|
set(CODEC_SRCS ${CODEC_SRCS} codec/h264_mf.c)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
freerdp_module_add(${CODEC_SRCS})
|
freerdp_module_add(${CODEC_SRCS})
|
||||||
|
|
||||||
if(BUILD_TESTING)
|
if(BUILD_TESTING)
|
||||||
add_subdirectory(codec/test)
|
add_subdirectory(codec/test)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# /codec
|
# /codec
|
||||||
|
@ -255,45 +255,45 @@ endif()
|
||||||
# primitives
|
# primitives
|
||||||
|
|
||||||
set(PRIMITIVES_SRCS
|
set(PRIMITIVES_SRCS
|
||||||
primitives/prim_add.c
|
primitives/prim_add.c
|
||||||
primitives/prim_andor.c
|
primitives/prim_andor.c
|
||||||
primitives/prim_alphaComp.c
|
primitives/prim_alphaComp.c
|
||||||
primitives/prim_colors.c
|
primitives/prim_colors.c
|
||||||
primitives/prim_copy.c
|
primitives/prim_copy.c
|
||||||
primitives/prim_set.c
|
primitives/prim_set.c
|
||||||
primitives/prim_shift.c
|
primitives/prim_shift.c
|
||||||
primitives/prim_sign.c
|
primitives/prim_sign.c
|
||||||
primitives/prim_YUV.c
|
primitives/prim_YUV.c
|
||||||
primitives/prim_YCoCg.c
|
primitives/prim_YCoCg.c
|
||||||
primitives/primitives.c
|
primitives/primitives.c
|
||||||
primitives/prim_internal.h)
|
primitives/prim_internal.h)
|
||||||
|
|
||||||
set(PRIMITIVES_SSE2_SRCS
|
set(PRIMITIVES_SSE2_SRCS
|
||||||
primitives/prim_colors_opt.c
|
primitives/prim_colors_opt.c
|
||||||
primitives/prim_set_opt.c)
|
primitives/prim_set_opt.c)
|
||||||
|
|
||||||
set(PRIMITIVES_SSE3_SRCS
|
set(PRIMITIVES_SSE3_SRCS
|
||||||
primitives/prim_add_opt.c
|
primitives/prim_add_opt.c
|
||||||
primitives/prim_alphaComp_opt.c
|
primitives/prim_alphaComp_opt.c
|
||||||
primitives/prim_andor_opt.c
|
primitives/prim_andor_opt.c
|
||||||
primitives/prim_shift_opt.c)
|
primitives/prim_shift_opt.c)
|
||||||
|
|
||||||
set(PRIMITIVES_SSSE3_SRCS
|
set(PRIMITIVES_SSSE3_SRCS
|
||||||
primitives/prim_sign_opt.c
|
primitives/prim_sign_opt.c
|
||||||
primitives/prim_YCoCg_opt.c)
|
primitives/prim_YCoCg_opt.c)
|
||||||
|
|
||||||
if (WITH_SSE2)
|
if (WITH_SSE2)
|
||||||
set(PRIMITIVES_SSSE3_SRCS ${PRIMITIVES_SSSE3_SRCS}
|
set(PRIMITIVES_SSSE3_SRCS ${PRIMITIVES_SSSE3_SRCS}
|
||||||
primitives/prim_YUV_ssse3.c)
|
primitives/prim_YUV_ssse3.c)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (WITH_NEON)
|
if (WITH_NEON)
|
||||||
set(PRIMITIVES_SSSE3_SRCS ${PRIMITIVES_SSSE3_SRCS}
|
set(PRIMITIVES_SSSE3_SRCS ${PRIMITIVES_SSSE3_SRCS}
|
||||||
primitives/prim_YUV_neon.c)
|
primitives/prim_YUV_neon.c)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (WITH_OPENCL)
|
if (WITH_OPENCL)
|
||||||
set(PRIMITIVES_OPENCL_SRCS primitives/prim_YUV_opencl.c)
|
set(PRIMITIVES_OPENCL_SRCS primitives/prim_YUV_opencl.c)
|
||||||
|
|
||||||
freerdp_include_directory_add(${OpenCL_INCLUDE_DIRS})
|
freerdp_include_directory_add(${OpenCL_INCLUDE_DIRS})
|
||||||
freerdp_library_add(OpenCL::OpenCL)
|
freerdp_library_add(OpenCL::OpenCL)
|
||||||
|
@ -301,42 +301,42 @@ if (WITH_OPENCL)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(PRIMITIVES_OPT_SRCS
|
set(PRIMITIVES_OPT_SRCS
|
||||||
${PRIMITIVES_SSE2_SRCS}
|
${PRIMITIVES_SSE2_SRCS}
|
||||||
${PRIMITIVES_SSE3_SRCS}
|
${PRIMITIVES_SSE3_SRCS}
|
||||||
${PRIMITIVES_SSSE3_SRCS}
|
${PRIMITIVES_SSSE3_SRCS}
|
||||||
${PRIMITIVES_OPENCL_SRCS})
|
${PRIMITIVES_OPENCL_SRCS})
|
||||||
|
|
||||||
freerdp_definition_add(-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
|
freerdp_definition_add(-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
|
||||||
|
|
||||||
### IPP Variable debugging
|
### IPP Variable debugging
|
||||||
if(WITH_IPP)
|
if(WITH_IPP)
|
||||||
if(CMAKE_COMPILER_IS_GNUCC)
|
if(CMAKE_COMPILER_IS_GNUCC)
|
||||||
foreach(INCLDIR ${IPP_INCLUDE_DIRS})
|
foreach(INCLDIR ${IPP_INCLUDE_DIRS})
|
||||||
set(OPTIMIZATION "${OPTIMIZATION} -I${INCLDIR}")
|
set(OPTIMIZATION "${OPTIMIZATION} -I${INCLDIR}")
|
||||||
endforeach(INCLDIR)
|
endforeach(INCLDIR)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_SSE2)
|
if(WITH_SSE2)
|
||||||
if(CMAKE_COMPILER_IS_GNUCC OR ${CMAKE_C_COMPILER_ID} STREQUAL "Clang")
|
if(CMAKE_COMPILER_IS_GNUCC OR ${CMAKE_C_COMPILER_ID} STREQUAL "Clang")
|
||||||
set_source_files_properties(${PRIMITIVES_SSE2_SRCS}
|
set_source_files_properties(${PRIMITIVES_SSE2_SRCS}
|
||||||
PROPERTIES COMPILE_FLAGS "${OPTIMIZATION} -msse2")
|
PROPERTIES COMPILE_FLAGS "${OPTIMIZATION} -msse2")
|
||||||
set_source_files_properties(${PRIMITIVES_SSE3_SRCS}
|
set_source_files_properties(${PRIMITIVES_SSE3_SRCS}
|
||||||
PROPERTIES COMPILE_FLAGS "${OPTIMIZATION} -msse3")
|
PROPERTIES COMPILE_FLAGS "${OPTIMIZATION} -msse3")
|
||||||
set_source_files_properties(${PRIMITIVES_SSSE3_SRCS}
|
set_source_files_properties(${PRIMITIVES_SSSE3_SRCS}
|
||||||
PROPERTIES COMPILE_FLAGS "${OPTIMIZATION} -mssse3")
|
PROPERTIES COMPILE_FLAGS "${OPTIMIZATION} -mssse3")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set_source_files_properties(${PRIMITIVES_OPT_SRCS}
|
set_source_files_properties(${PRIMITIVES_OPT_SRCS}
|
||||||
PROPERTIES COMPILE_FLAGS "${OPTIMIZATION} /arch:SSE2")
|
PROPERTIES COMPILE_FLAGS "${OPTIMIZATION} /arch:SSE2")
|
||||||
endif()
|
endif()
|
||||||
elseif(WITH_NEON)
|
elseif(WITH_NEON)
|
||||||
if(CMAKE_COMPILER_IS_GNUCC)
|
if(CMAKE_COMPILER_IS_GNUCC)
|
||||||
set_source_files_properties(${PRIMITIVES_OPT_SRCS}
|
set_source_files_properties(${PRIMITIVES_OPT_SRCS}
|
||||||
PROPERTIES COMPILE_FLAGS "${OPTIMIZATION} -mfpu=neon")
|
PROPERTIES COMPILE_FLAGS "${OPTIMIZATION} -mfpu=neon")
|
||||||
endif()
|
endif()
|
||||||
# TODO: Add MSVC equivalent
|
# TODO: Add MSVC equivalent
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(PRIMITIVES_SRCS ${PRIMITIVES_SRCS} ${PRIMITIVES_OPT_SRCS})
|
set(PRIMITIVES_SRCS ${PRIMITIVES_SRCS} ${PRIMITIVES_OPT_SRCS})
|
||||||
|
@ -344,14 +344,14 @@ set(PRIMITIVES_SRCS ${PRIMITIVES_SRCS} ${PRIMITIVES_OPT_SRCS})
|
||||||
freerdp_module_add(${PRIMITIVES_SRCS})
|
freerdp_module_add(${PRIMITIVES_SRCS})
|
||||||
|
|
||||||
if(IPP_FOUND)
|
if(IPP_FOUND)
|
||||||
freerdp_include_directory_add(${IPP_INCLUDE_DIRS})
|
freerdp_include_directory_add(${IPP_INCLUDE_DIRS})
|
||||||
foreach(ipp_lib ${IPP_LIBRARIES})
|
foreach(ipp_lib ${IPP_LIBRARIES})
|
||||||
freerdp_library_add("${ipp_lib}_imported")
|
freerdp_library_add("${ipp_lib}_imported")
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(BUILD_TESTING AND NOT WIN32 AND NOT APPLE)
|
if(BUILD_TESTING AND NOT WIN32 AND NOT APPLE)
|
||||||
add_subdirectory(primitives/test)
|
add_subdirectory(primitives/test)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
@ -405,20 +405,20 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/freerdp${FREERDP_VERSION_MAJOR}.pc DES
|
||||||
## cmake project
|
## cmake project
|
||||||
if(${CMAKE_VERSION} VERSION_GREATER "2.8.10")
|
if(${CMAKE_VERSION} VERSION_GREATER "2.8.10")
|
||||||
|
|
||||||
export(PACKAGE freerdp)
|
export(PACKAGE freerdp)
|
||||||
|
|
||||||
SetFreeRDPCMakeInstallDir(FREERDP_CMAKE_INSTALL_DIR "FreeRDP${FREERDP_VERSION_MAJOR}")
|
SetFreeRDPCMakeInstallDir(FREERDP_CMAKE_INSTALL_DIR "FreeRDP${FREERDP_VERSION_MAJOR}")
|
||||||
|
|
||||||
configure_package_config_file(FreeRDPConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FreeRDPConfig.cmake
|
configure_package_config_file(FreeRDPConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FreeRDPConfig.cmake
|
||||||
INSTALL_DESTINATION ${FREERDP_CMAKE_INSTALL_DIR}
|
INSTALL_DESTINATION ${FREERDP_CMAKE_INSTALL_DIR}
|
||||||
PATH_VARS FREERDP_INCLUDE_DIR)
|
PATH_VARS FREERDP_INCLUDE_DIR)
|
||||||
|
|
||||||
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/FreeRDPConfigVersion.cmake
|
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/FreeRDPConfigVersion.cmake
|
||||||
VERSION ${FREERDP_VERSION} COMPATIBILITY SameMajorVersion)
|
VERSION ${FREERDP_VERSION} COMPATIBILITY SameMajorVersion)
|
||||||
|
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FreeRDPConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/FreeRDPConfigVersion.cmake
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FreeRDPConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/FreeRDPConfigVersion.cmake
|
||||||
DESTINATION ${FREERDP_CMAKE_INSTALL_DIR})
|
DESTINATION ${FREERDP_CMAKE_INSTALL_DIR})
|
||||||
|
|
||||||
install(EXPORT FreeRDPTargets DESTINATION ${FREERDP_CMAKE_INSTALL_DIR})
|
install(EXPORT FreeRDPTargets DESTINATION ${FREERDP_CMAKE_INSTALL_DIR})
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -46,6 +46,10 @@ include(CheckCCompilerFlag)
|
||||||
include(GNUInstallDirsWrapper)
|
include(GNUInstallDirsWrapper)
|
||||||
include(CMakePackageConfigHelpers)
|
include(CMakePackageConfigHelpers)
|
||||||
|
|
||||||
|
if (NOT WIN32)
|
||||||
|
add_definitions(-DWINPR_CRITICAL_SECTION_DISABLE_SPINCOUNT)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Soname versioning
|
# Soname versioning
|
||||||
set(RAW_VERSION_STRING "3.0.0-dev")
|
set(RAW_VERSION_STRING "3.0.0-dev")
|
||||||
if(EXISTS "${CMAKE_SOURCE_DIR}/.source_tag")
|
if(EXISTS "${CMAKE_SOURCE_DIR}/.source_tag")
|
||||||
|
|
|
@ -125,14 +125,6 @@ extern "C"
|
||||||
|
|
||||||
/* Critical Section */
|
/* Critical Section */
|
||||||
|
|
||||||
#if defined(__linux__)
|
|
||||||
/**
|
|
||||||
* Linux NPTL thread synchronization primitives are implemented using
|
|
||||||
* the futex system calls ... we can't beat futex with a spin loop.
|
|
||||||
*/
|
|
||||||
#define WINPR_CRITICAL_SECTION_DISABLE_SPINCOUNT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef struct _RTL_CRITICAL_SECTION
|
typedef struct _RTL_CRITICAL_SECTION
|
||||||
{
|
{
|
||||||
PVOID DebugInfo;
|
PVOID DebugInfo;
|
||||||
|
|
Loading…
Reference in New Issue