There are two projects: FreeRDP and cFLTK (a C wrapper for the FLTK library).
I am writing a GUI for FreeRDP and I want to combine my work with the FreeRDP source code project.
My attempt at unification:
I have separately compiled a static library from the cFLTK source code. Next, I placed my developments in a separate directory. Created an assembly file there CMakeLists.txt. My source code is also compiled as a static library.
Further in the file CMakeLists.txt I am connecting my developments to the FreeRDP project.
...
set(GFREE gfree)
add_subdirectory(${GFREE})
set(GFREE_FLAGS
    gfree
    cfltk
    fltk
    fltk_images
    fltk_jpeg
    fltk_z
    png16
    m
    X11
    Xinerama
    Xfixes
    Xcursor
    Xft
    Xrender
    fontconfig
)
ADD_LIBRARY(cfltk STATIC IMPORTED)
set_target_properties(cfltk PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/gfree_lib/libcfltk.a)
ADD_LIBRARY(fltk STATIC IMPORTED)
set_target_properties(fltk PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/gfree_lib/libfltk.a)
ADD_LIBRARY(fltk_images STATIC IMPORTED)
set_target_properties(fltk_images PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/gfree_lib/libfltk_images.a)
ADD_LIBRARY(fltk_jpeg STATIC IMPORTED)
set_target_properties(fltk_jpeg PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/gfree_lib/libfltk_jpeg.a)
ADD_LIBRARY(fltk_z STATIC IMPORTED)
set_target_properties(fltk_z PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/gfree_lib/libfltk_z.a)
....
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-client freerdp m ${GFREE_FLAGS})
....
Everything is assembled without errors and runs.
At first, the GUI I wrote is called, when using which I then call the FreeRDP connection.
The problem is that when I connect, I get errors.
[21:01:24:425] [4624:4625] [ERROR][com.freerdp.core.nego] - Protocol Security Negotiation Failure
[21:01:24:426] [4624:4625] [ERROR][com.freerdp.core] - rdp_client_connect:freerdp_set_last_error_ex ERRCONNECT_SECURITY_NEGO_CONNECT_FAILED [0x0002000C]
[21:01:24:426] [4624:4625] [ERROR][com.freerdp.core.connection] - Error: protocol security negotiation or connection failure
I tried to build FreeRDP without my own developments - the connection is made without problems.
I suspect that combining my code and the FreeRDP code leads to some problems.
Perhaps I am not combining these projects correctly.
Is it possible to properly combine two CMake projects in order not to radically edit other people’s configs? I ask you to help me understand and suggest in this matter. Thank you in advance!
