Blame libfreerdp/CMakeLists.txt

Packit Service fa4841
# FreeRDP: A Remote Desktop Protocol Implementation
Packit Service fa4841
# libfreerdp cmake build script
Packit Service fa4841
#
Packit Service fa4841
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
Packit Service fa4841
#
Packit Service fa4841
# Licensed under the Apache License, Version 2.0 (the "License");
Packit Service fa4841
# you may not use this file except in compliance with the License.
Packit Service fa4841
# You may obtain a copy of the License at
Packit Service fa4841
#
Packit Service fa4841
#     http://www.apache.org/licenses/LICENSE-2.0
Packit Service fa4841
#
Packit Service fa4841
# Unless required by applicable law or agreed to in writing, software
Packit Service fa4841
# distributed under the License is distributed on an "AS IS" BASIS,
Packit Service fa4841
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Packit Service fa4841
# See the License for the specific language governing permissions and
Packit Service fa4841
# limitations under the License.
Packit Service fa4841
Packit Service fa4841
set(MODULE_NAME "freerdp")
Packit Service fa4841
set(MODULE_PREFIX "FREERDP")
Packit Service fa4841
Packit Service fa4841
# CMake modules includes
Packit Service fa4841
include(FindCairo)
Packit Service fa4841
Packit Service fa4841
# Create imported targets for Intel IPP libraries
Packit Service fa4841
Packit Service fa4841
if(IPP_FOUND)
Packit Service fa4841
        foreach(ipp_lib ${IPP_LIBRARIES})
Packit Service fa4841
        add_library("${ipp_lib}_imported" STATIC IMPORTED)
Packit Service fa4841
        set_property(TARGET "${ipp_lib}_imported" PROPERTY IMPORTED_LOCATION "${IPP_LIBRARY_DIRS}/${ipp_lib}")
Packit Service fa4841
    endforeach()
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
set(LIBFREERDP_DIR ${CMAKE_CURRENT_SOURCE_DIR})
Packit Service fa4841
set(LIBFREERDP_SRCS "")
Packit Service fa4841
set(LIBFREERDP_LIBS "")
Packit Service fa4841
set(LIBFREERDP_INCLUDES "")
Packit Service fa4841
set(LIBFREERDP_DEFINITIONS "")
Packit Service fa4841
Packit Service fa4841
macro (freerdp_module_add)
Packit Service fa4841
        file (RELATIVE_PATH _relPath "${LIBFREERDP_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
Packit Service fa4841
        foreach (_src ${ARGN})
Packit Service fa4841
                if (_relPath)
Packit Service fa4841
                        list (APPEND LIBFREERDP_SRCS "${_relPath}/${_src}")
Packit Service fa4841
                else()
Packit Service fa4841
                        list (APPEND LIBFREERDP_SRCS "${_src}")
Packit Service fa4841
                endif()
Packit Service fa4841
        endforeach()
Packit Service fa4841
        if (_relPath)
Packit Service fa4841
                set (LIBFREERDP_SRCS ${LIBFREERDP_SRCS} PARENT_SCOPE)
Packit Service fa4841
        endif()
Packit Service fa4841
endmacro()
Packit Service fa4841
Packit Service fa4841
macro (freerdp_include_directory_add)
Packit Service fa4841
        file (RELATIVE_PATH _relPath "${LIBFREERDP_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
Packit Service fa4841
        foreach (_inc ${ARGN})
Packit Service fa4841
                if (IS_ABSOLUTE ${_inc})
Packit Service fa4841
                            list (APPEND LIBFREERDP_INCLUDES "${_inc}")
Packit Service fa4841
                else()
Packit Service fa4841
                    if (_relPath)
Packit Service fa4841
                            list (APPEND LIBFREERDP_INCLUDES "${_relPath}/${_inc}")
Packit Service fa4841
                    else()
Packit Service fa4841
                            list (APPEND LIBFREERDP_INCLUDES "${_inc}")
Packit Service fa4841
                    endif()
Packit Service fa4841
                endif()
Packit Service fa4841
        endforeach()
Packit Service fa4841
        if (_relPath)
Packit Service fa4841
                set (LIBFREERDP_INCLUDES ${LIBFREERDP_INCLUDES} PARENT_SCOPE)
Packit Service fa4841
        endif()
Packit Service fa4841
endmacro()
Packit Service fa4841
Packit Service fa4841
macro (freerdp_library_add)
Packit Service fa4841
        foreach (_lib ${ARGN})
Packit Service fa4841
                        list (APPEND LIBFREERDP_LIBS "${_lib}")
Packit Service fa4841
        endforeach()
Packit Service fa4841
         set (LIBFREERDP_LIBS ${LIBFREERDP_LIBS} PARENT_SCOPE)
Packit Service fa4841
endmacro()
Packit Service fa4841
Packit Service fa4841
macro (freerdp_definition_add)
Packit Service fa4841
        foreach (_define ${ARGN})
Packit Service fa4841
                        list (APPEND LIBFREERDP_DEFINITIONS "${_define}")
Packit Service fa4841
        endforeach()
Packit Service fa4841
         set (LIBFREERDP_DEFINITIONS ${LIBFREERDP_DEFINITIONS} PARENT_SCOPE)
Packit Service fa4841
endmacro()
Packit Service fa4841
Packit Service fa4841
if (WITH_SWSCALE)
Packit Service fa4841
    find_package(SWScale REQUIRED)
Packit Service fa4841
endif(WITH_SWSCALE)
Packit Service fa4841
if (WITH_CAIRO)
Packit Service fa4841
    find_package(Cairo REQUIRED)
Packit Service fa4841
endif(WITH_CAIRO)
Packit Service fa4841
Packit Service fa4841
# Prefer SWScale over Cairo, both at the same time are not possible.
Packit Service fa4841
if (WITH_SWSCALE)
Packit Service fa4841
    add_definitions(-DSWSCALE_FOUND=1)
Packit Service fa4841
    include_directories(${SWScale_INCLUDE_DIR})
Packit Service fa4841
    freerdp_library_add(${SWScale_LIBRARY})
Packit Service fa4841
elseif (WITH_CAIRO)
Packit Service fa4841
    add_definitions(-DCAIRO_FOUND=1)
Packit Service fa4841
    include_directories(${CAIRO_INCLUDE_DIR})
Packit Service fa4841
    freerdp_library_add(${CAIRO_LIBRARY})
Packit Service fa4841
else()
Packit Service fa4841
    message(WARNING "-DWITH_SWSCALE=OFF and -DWITH_CAIRO=OFF, compiling without image scaling support!")
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
set(${MODULE_PREFIX}_SUBMODULES
Packit Service fa4841
    utils
Packit Service fa4841
    common
Packit Service fa4841
    gdi
Packit Service fa4841
    cache
Packit Service fa4841
    crypto
Packit Service fa4841
    locale
Packit Service fa4841
    core)
Packit Service fa4841
Packit Service fa4841
foreach(${MODULE_PREFIX}_SUBMODULE ${${MODULE_PREFIX}_SUBMODULES})
Packit Service fa4841
    add_subdirectory(${${MODULE_PREFIX}_SUBMODULE})
Packit Service fa4841
endforeach()
Packit Service fa4841
Packit Service fa4841
## cmake source properties are only seen by targets in the same CMakeLists.txt
Packit Service fa4841
## therefore primitives and codecs need to be defined here
Packit Service fa4841
Packit Service fa4841
# codec
Packit Service fa4841
set(CODEC_SRCS
Packit Service fa4841
    codec/dsp.c
Packit Service fa4841
    codec/color.c
Packit Service fa4841
    codec/audio.c
Packit Service fa4841
    codec/planar.c
Packit Service fa4841
    codec/bitmap.c
Packit Service fa4841
    codec/interleaved.c
Packit Service fa4841
    codec/progressive.c
Packit Service fa4841
    codec/rfx_bitstream.h
Packit Service fa4841
    codec/rfx_constants.h
Packit Service fa4841
    codec/rfx_decode.c
Packit Service fa4841
    codec/rfx_decode.h
Packit Service fa4841
    codec/rfx_differential.h
Packit Service fa4841
    codec/rfx_dwt.c
Packit Service fa4841
    codec/rfx_dwt.h
Packit Service fa4841
    codec/rfx_encode.c
Packit Service fa4841
    codec/rfx_encode.h
Packit Service fa4841
    codec/rfx_quantization.c
Packit Service fa4841
    codec/rfx_quantization.h
Packit Service fa4841
    codec/rfx_rlgr.c
Packit Service fa4841
    codec/rfx_rlgr.h
Packit Service fa4841
    codec/rfx_types.h
Packit Service fa4841
    codec/rfx.c
Packit Service fa4841
    codec/region.c
Packit Service fa4841
    codec/nsc.c
Packit Service fa4841
    codec/nsc_encode.c
Packit Service fa4841
    codec/nsc_encode.h
Packit Service fa4841
    codec/nsc_types.h
Packit Service fa4841
    codec/ncrush.c
Packit Service fa4841
    codec/xcrush.c
Packit Service fa4841
    codec/mppc.c
Packit Service fa4841
    codec/zgfx.c
Packit Service fa4841
    codec/clear.c
Packit Service fa4841
    codec/jpeg.c
Packit Service fa4841
    codec/h264.c
Packit Service fa4841
    codec/yuv.c)
Packit Service fa4841
Packit Service fa4841
set(CODEC_SSE2_SRCS
Packit Service fa4841
    codec/rfx_sse2.c
Packit Service fa4841
    codec/rfx_sse2.h
Packit Service fa4841
    codec/nsc_sse2.c
Packit Service fa4841
    codec/nsc_sse2.h)
Packit Service fa4841
Packit Service fa4841
set(CODEC_NEON_SRCS
Packit Service fa4841
    codec/rfx_neon.c
Packit Service fa4841
    codec/rfx_neon.h)
Packit Service fa4841
Packit Service fa4841
if(WITH_SSE2)
Packit Service fa4841
    set(CODEC_SRCS ${CODEC_SRCS} ${CODEC_SSE2_SRCS})
Packit Service fa4841
Packit Service fa4841
    if(CMAKE_COMPILER_IS_GNUCC OR ${CMAKE_C_COMPILER_ID} STREQUAL "Clang")
Packit Service fa4841
        set_source_files_properties(${CODEC_SSE2_SRCS} PROPERTIES COMPILE_FLAGS "-msse2" )
Packit Service fa4841
    endif()
Packit Service fa4841
Packit Service fa4841
    if(MSVC)
Packit Service fa4841
        set_source_files_properties(${CODEC_SSE2_SRCS} PROPERTIES COMPILE_FLAGS "/arch:SSE2" )
Packit Service fa4841
    endif()
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
if (WITH_DSP_FFMPEG)
Packit Service fa4841
    set(CODEC_SRCS
Packit Service fa4841
        ${CODEC_SRCS}
Packit Service fa4841
        codec/dsp_ffmpeg.c
Packit Service fa4841
        codec/dsp_ffmpeg.h)
Packit Service fa4841
endif (WITH_DSP_FFMPEG)
Packit Service fa4841
Packit Service fa4841
if (WITH_SOXR)
Packit Service fa4841
    freerdp_library_add(${SOXR_LIBRARIES})
Packit Service fa4841
    include_directories(${SOXR_INCLUDE_DIR})
Packit Service fa4841
endif(WITH_SOXR)
Packit Service fa4841
Packit Service fa4841
if(GSM_FOUND)
Packit Service fa4841
    freerdp_library_add(${GSM_LIBRARIES})
Packit Service fa4841
    include_directories(${GSM_INCLUDE_DIRS})
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
if(LAME_FOUND)
Packit Service fa4841
    freerdp_library_add(${LAME_LIBRARIES})
Packit Service fa4841
    include_directories(${LAME_INCLUDE_DIRS})
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
if(FAAD2_FOUND)
Packit Service fa4841
    freerdp_library_add(${FAAD2_LIBRARIES})
Packit Service fa4841
    include_directories(${FAAD2_INCLUDE_DIRS})
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
if(FAAC_FOUND)
Packit Service fa4841
    freerdp_library_add(${FAAC_LIBRARIES})
Packit Service fa4841
    include_directories(${FAAC_INCLUDE_DIRS})
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
if(WITH_NEON)
Packit Service fa4841
    set_source_files_properties(${CODEC_NEON_SRCS} PROPERTIES COMPILE_FLAGS "-mfpu=neon -Wno-unused-variable" )
Packit Service fa4841
    set(CODEC_SRCS ${CODEC_SRCS} ${CODEC_NEON_SRCS})
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
if(WITH_JPEG)
Packit Service fa4841
    freerdp_include_directory_add(${JPEG_INCLUDE_DIR})
Packit Service fa4841
    freerdp_library_add(${JPEG_LIBRARIES})
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
if(WITH_X264)
Packit Service fa4841
    set(CODEC_SRCS ${CODEC_SRCS} codec/h264_x264.c)
Packit Service fa4841
    freerdp_include_directory_add(${X264_INCLUDE_DIR})
Packit Service fa4841
    freerdp_library_add(${X264_LIBRARIES})
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
if(WITH_OPENH264)
Packit Service fa4841
    set(CODEC_SRCS ${CODEC_SRCS} codec/h264_openh264.c)
Packit Service fa4841
    freerdp_include_directory_add(${OPENH264_INCLUDE_DIR})
Packit Service fa4841
    if (NOT WITH_OPENH264_LOADING)
Packit Service fa4841
        freerdp_library_add(${OPENH264_LIBRARIES})
Packit Service fa4841
    endif (NOT WITH_OPENH264_LOADING)
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
if(WITH_FFMPEG)
Packit Service fa4841
    set(CODEC_SRCS ${CODEC_SRCS} codec/h264_ffmpeg.c)
Packit Service fa4841
    freerdp_include_directory_add(${FFMPEG_INCLUDE_DIRS})
Packit Service fa4841
    freerdp_library_add(${FFMPEG_LIBRARIES})
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
if(WIN32 AND WITH_MEDIA_FOUNDATION)
Packit Service fa4841
    set(CODEC_SRCS ${CODEC_SRCS} codec/h264_mf.c)
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
freerdp_module_add(${CODEC_SRCS})
Packit Service fa4841
Packit Service fa4841
if(BUILD_TESTING)
Packit Service fa4841
    add_subdirectory(codec/test)
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
# /codec
Packit Service fa4841
Packit Service fa4841
# primitives
Packit Service fa4841
Packit Service fa4841
set(PRIMITIVES_SRCS
Packit Service fa4841
    primitives/prim_add.c
Packit Service fa4841
    primitives/prim_andor.c
Packit Service fa4841
    primitives/prim_alphaComp.c
Packit Service fa4841
    primitives/prim_colors.c
Packit Service fa4841
    primitives/prim_copy.c
Packit Service fa4841
    primitives/prim_set.c
Packit Service fa4841
    primitives/prim_shift.c
Packit Service fa4841
    primitives/prim_sign.c
Packit Service fa4841
    primitives/prim_YUV.c
Packit Service fa4841
    primitives/prim_YCoCg.c
Packit Service fa4841
    primitives/primitives.c
Packit Service fa4841
    primitives/prim_internal.h)
Packit Service fa4841
Packit Service fa4841
set(PRIMITIVES_SSE2_SRCS
Packit Service fa4841
    primitives/prim_colors_opt.c
Packit Service fa4841
    primitives/prim_set_opt.c)
Packit Service fa4841
Packit Service fa4841
set(PRIMITIVES_SSE3_SRCS
Packit Service fa4841
    primitives/prim_add_opt.c
Packit Service fa4841
    primitives/prim_alphaComp_opt.c
Packit Service fa4841
    primitives/prim_andor_opt.c
Packit Service fa4841
    primitives/prim_shift_opt.c)
Packit Service fa4841
Packit Service fa4841
set(PRIMITIVES_SSSE3_SRCS
Packit Service fa4841
    primitives/prim_sign_opt.c
Packit Service fa4841
    primitives/prim_YCoCg_opt.c)
Packit Service fa4841
Packit Service fa4841
if (WITH_SSE2)
Packit Service fa4841
    set(PRIMITIVES_SSSE3_SRCS ${PRIMITIVES_SSSE3_SRCS}
Packit Service fa4841
        primitives/prim_YUV_ssse3.c)
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
if (WITH_NEON)
Packit Service fa4841
    set(PRIMITIVES_SSSE3_SRCS ${PRIMITIVES_SSSE3_SRCS}
Packit Service fa4841
        primitives/prim_YUV_neon.c)
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
if (WITH_OPENCL)
Packit Service fa4841
    set(PRIMITIVES_OPENCL_SRCS primitives/prim_YUV_opencl.c)
Packit Service fa4841
Packit Service fa4841
        freerdp_include_directory_add(${OpenCL_INCLUDE_DIRS})
Packit Service fa4841
        freerdp_library_add(OpenCL::OpenCL)
Packit Service fa4841
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
set(PRIMITIVES_OPT_SRCS
Packit Service fa4841
    ${PRIMITIVES_SSE2_SRCS}
Packit Service fa4841
    ${PRIMITIVES_SSE3_SRCS}
Packit Service fa4841
    ${PRIMITIVES_SSSE3_SRCS}
Packit Service fa4841
    ${PRIMITIVES_OPENCL_SRCS})
Packit Service fa4841
Packit Service fa4841
freerdp_definition_add(-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
Packit Service fa4841
Packit Service fa4841
### IPP Variable debugging
Packit Service fa4841
if(WITH_IPP)
Packit Service fa4841
    if(CMAKE_COMPILER_IS_GNUCC)
Packit Service fa4841
        foreach(INCLDIR ${IPP_INCLUDE_DIRS})
Packit Service fa4841
            set(OPTIMIZATION "${OPTIMIZATION} -I${INCLDIR}")
Packit Service fa4841
        endforeach(INCLDIR)
Packit Service fa4841
    endif()
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
if(WITH_SSE2)
Packit Service fa4841
    if(CMAKE_COMPILER_IS_GNUCC OR ${CMAKE_C_COMPILER_ID} STREQUAL "Clang")
Packit Service fa4841
        set_source_files_properties(${PRIMITIVES_SSE2_SRCS}
Packit Service fa4841
            PROPERTIES COMPILE_FLAGS "${OPTIMIZATION} -msse2")
Packit Service fa4841
        set_source_files_properties(${PRIMITIVES_SSE3_SRCS}
Packit Service fa4841
            PROPERTIES COMPILE_FLAGS "${OPTIMIZATION} -msse3")
Packit Service fa4841
        set_source_files_properties(${PRIMITIVES_SSSE3_SRCS}
Packit Service fa4841
            PROPERTIES COMPILE_FLAGS "${OPTIMIZATION} -mssse3")
Packit Service fa4841
    endif()
Packit Service fa4841
Packit Service fa4841
    if(MSVC)
Packit Service fa4841
        set_source_files_properties(${PRIMITIVES_OPT_SRCS}
Packit Service fa4841
            PROPERTIES COMPILE_FLAGS "${OPTIMIZATION} /arch:SSE2")
Packit Service fa4841
    endif()
Packit Service fa4841
elseif(WITH_NEON)
Packit Service fa4841
    if(CMAKE_COMPILER_IS_GNUCC)
Packit Service fa4841
        set_source_files_properties(${PRIMITIVES_OPT_SRCS}
Packit Service fa4841
            PROPERTIES COMPILE_FLAGS "${OPTIMIZATION} -mfpu=neon")
Packit Service fa4841
    endif()
Packit Service fa4841
    # TODO: Add MSVC equivalent
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
set(PRIMITIVES_SRCS ${PRIMITIVES_SRCS} ${PRIMITIVES_OPT_SRCS})
Packit Service fa4841
Packit Service fa4841
freerdp_module_add(${PRIMITIVES_SRCS})
Packit Service fa4841
Packit Service fa4841
if(IPP_FOUND)
Packit Service fa4841
    freerdp_include_directory_add(${IPP_INCLUDE_DIRS})
Packit Service fa4841
        foreach(ipp_lib ${IPP_LIBRARIES})
Packit Service fa4841
        freerdp_library_add("${ipp_lib}_imported")
Packit Service fa4841
    endforeach()
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
if(BUILD_TESTING AND NOT WIN32 AND NOT APPLE)
Packit Service fa4841
    add_subdirectory(primitives/test)
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
Packit Service fa4841
# /primitives
Packit Service fa4841
Packit Service fa4841
list(REMOVE_DUPLICATES LIBFREERDP_DEFINITIONS)
Packit Service fa4841
list(REMOVE_DUPLICATES LIBFREERDP_LIBS)
Packit Service fa4841
list(REMOVE_DUPLICATES LIBFREERDP_INCLUDES)
Packit Service fa4841
include_directories(${LIBFREERDP_INCLUDES})
Packit Service fa4841
Packit Service fa4841
# On windows create dll version information.
Packit Service fa4841
# Vendor, product and year are already set in top level CMakeLists.txt
Packit Service fa4841
if (WIN32)
Packit Service fa4841
  set (RC_VERSION_MAJOR ${FREERDP_VERSION_MAJOR})
Packit Service fa4841
  set (RC_VERSION_MINOR ${FREERDP_VERSION_MINOR})
Packit Service fa4841
  set (RC_VERSION_BUILD ${FREERDP_VERSION_REVISION})
Packit Service fa4841
  set (RC_VERSION_FILE "${CMAKE_SHARED_LIBRARY_PREFIX}${MODULE_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}" )
Packit Service fa4841
Packit Service fa4841
  configure_file(
Packit Service fa4841
    ${CMAKE_SOURCE_DIR}/cmake/WindowsDLLVersion.rc.in
Packit Service fa4841
    ${CMAKE_CURRENT_BINARY_DIR}/version.rc
Packit Service fa4841
    @ONLY)
Packit Service fa4841
Packit Service fa4841
  set (LIBFREERDP_SRCS ${LIBFREERDP_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/version.rc)
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
add_library(${MODULE_NAME} ${LIBFREERDP_SRCS})
Packit Service fa4841
add_definitions(${LIBFREERDP_DEFINITIONS})
Packit Service fa4841
Packit Service fa4841
set_target_properties(${MODULE_NAME} PROPERTIES LINKER_LANGUAGE C)
Packit Service fa4841
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${FREERDP_VERSION_MAJOR})
Packit Service fa4841
Packit Service fa4841
if (WITH_LIBRARY_VERSIONING)
Packit Service fa4841
    set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION})
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
Packit Service fa4841
target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${LIBFREERDP_LIBS} winpr)
Packit Service fa4841
Packit Service fa4841
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries EXPORT FreeRDPTargets)
Packit Service fa4841
if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS)
Packit Service fa4841
    get_target_property(OUTPUT_FILENAME ${MODULE_NAME} OUTPUT_NAME)
Packit Service fa4841
    install(FILES ${CMAKE_PDB_BINARY_DIR}/${OUTPUT_FILENAME}.pdb DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT symbols)
Packit Service fa4841
endif()
Packit Service fa4841
Packit Service fa4841
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "FreeRDP/libfreerdp")
Packit Service fa4841
Packit Service fa4841
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/freerdp.pc.in ${CMAKE_CURRENT_BINARY_DIR}/freerdp${FREERDP_VERSION_MAJOR}.pc @ONLY)
Packit Service fa4841
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/freerdp${FREERDP_VERSION_MAJOR}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
Packit Service fa4841
Packit Service fa4841
## cmake project
Packit Service fa4841
if(${CMAKE_VERSION} VERSION_GREATER "2.8.10")
Packit Service fa4841
Packit Service fa4841
    export(PACKAGE freerdp)
Packit Service fa4841
Packit Service fa4841
    SetFreeRDPCMakeInstallDir(FREERDP_CMAKE_INSTALL_DIR "FreeRDP${FREERDP_VERSION_MAJOR}")
Packit Service fa4841
Packit Service fa4841
    configure_package_config_file(FreeRDPConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FreeRDPConfig.cmake
Packit Service fa4841
        INSTALL_DESTINATION ${FREERDP_CMAKE_INSTALL_DIR}
Packit Service fa4841
        PATH_VARS FREERDP_INCLUDE_DIR)
Packit Service fa4841
Packit Service fa4841
    write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/FreeRDPConfigVersion.cmake
Packit Service fa4841
        VERSION ${FREERDP_VERSION} COMPATIBILITY SameMajorVersion)
Packit Service fa4841
Packit Service fa4841
    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FreeRDPConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/FreeRDPConfigVersion.cmake
Packit Service fa4841
        DESTINATION ${FREERDP_CMAKE_INSTALL_DIR})
Packit Service fa4841
Packit Service fa4841
    install(EXPORT FreeRDPTargets DESTINATION ${FREERDP_CMAKE_INSTALL_DIR})
Packit Service fa4841
Packit Service fa4841
endif()