cmake_minimum_required(VERSION 3.10) project (socket_example) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "./bin/") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath='$ORIGIN'") # For smart pointers (used in vtkCommonSystem) find_library(vtkCommonCore NAMES vtkCommonCore-7.1 PATHS /path/to/vtk ) if(NOT vtkCommonCore) message(SEND_ERROR "Cannot find library vtkCommonCore") endif() # For socket stuff find_library(vtkCommonSystem NAMES vtkCommonSystem-7.1 PATHS /path/to/vtk ) if(NOT vtkCommonSystem) message(SEND_ERROR "Cannot find library vtkCommonSystem") endif() # For socket communicator find_library(vtkParallelCore NAMES vtkParallelCore-7.1 PATHS /path/to/vtk ) if(NOT vtkParallelCore) message(SEND_ERROR "Cannot find library vtkParallelCore") endif() add_executable(client Client.cpp) target_include_directories(client PRIVATE "path/to/vtk" ) target_link_libraries(client PRIVATE ${vtkCommonCore} PRIVATE ${vtkCommonSystem} PRIVATE ${vtkParallelCore} ) add_executable(server Server.cpp) target_include_directories(server PRIVATE "path/to/vtk" ) target_link_libraries(server PRIVATE ${vtkCommonCore} PRIVATE ${vtkCommonSystem} PRIVATE ${vtkParallelCore} )