cmake_minimum_required(VERSION 3.13) if (NOT FREERDP_DEFAULT_PROJECT_VERSION) set(FREERDP_DEFAULT_PROJECT_VERSION "1.0.0.0") endif() project(MacFreeRDP-library VERSION ${FREERDP_DEFAULT_PROJECT_VERSION} ) message("project ${PROJECT_NAME} is using version ${PROJECT_VERSION}") cmake_policy(SET CMP0026 OLD) cmake_policy(SET CMP0045 OLD) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/) include(CommonConfigOptions) find_library(FOUNDATION_LIBRARY Foundation REQUIRED) find_library(COCOA_LIBRARY Cocoa REQUIRED) find_library(APPKIT_LIBRARY AppKit REQUIRED) find_library(IOKIT_LIBRARY IOKit REQUIRED) find_library(COREGRAPHICS_LIBRARY CoreGraphics REQUIRED) set(EXTRA_LIBS ${COCOA_LIBRARY} ${FOUNDATION_LIBRARY} ${APPKIT_LIBRARY} ${IOKIT_LIBRARY}) set(XIBS CertificateDialog.xib PasswordDialog.xib) set(SOURCES "") set(OBJECTIVE_SOURCES main.m mf_client.m MRDPCursor.m MRDPView.m Keyboard.m Clipboard.m CertificateDialog.m PasswordDialog.m) list(APPEND SOURCES ${OBJECTIVE_SOURCES}) set(HEADERS mfreerdp.h mf_client.h MRDPCursor.h MRDPView.h Keyboard.h Clipboard.h CertificateDialog.h PasswordDialog.h) set(RESOURCES "en.lproj/InfoPlist.strings") # Include XIB file in Xcode resources. if("${CMAKE_GENERATOR}" MATCHES "Xcode") message(STATUS "Adding Xcode XIB resources for ${MODULE_NAME}") list(APPEND RESOURCES ${XIBS}) set(IS_XCODE ON) endif() add_library(${PROJECT_NAME} ../common/client.c ${SOURCES} ${HEADERS} ${RESOURCES}) set(LIBS ${EXTRA_LIBS} freerdp-client ) target_link_libraries(${PROJECT_NAME} PUBLIC ${LIBS}) set_target_properties(${PROJECT_NAME} PROPERTIES RESOURCE "${RESOURCES}") if (NOT IS_XCODE) find_program(IBTOOL ibtool REQUIRED HINTS "/usr/bin" "${OSX_DEVELOPER_ROOT}/usr/bin" ) # Compile the .xib files using the 'ibtool' program with the destination being the app package foreach(xib ${XIBS}) get_filename_component(XIB_WE ${xib} NAME_WE) set(NIB ${CMAKE_CURRENT_BINARY_DIR}/${XIB_WE}.nib) list(APPEND NIBS ${NIB}) add_custom_command (TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${IBTOOL} --errors --warnings --notices --output-format human-readable-text --compile ${NIB} ${CMAKE_CURRENT_SOURCE_DIR}/${xib} COMMENT "Compiling ${xib}") endforeach() install(FILES ${NIBS} DESTINATION ${CMAKE_INSTALL_DATADIR}) endif() install(TARGETS ${PROJECT_NAME} COMPONENT client RESOURCE DESTINATION ${CMAKE_INSTALL_DATADIR} ) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) add_subdirectory(cli)