Имеется клиент-сервер проект, содержание cmakelist следующее:
cmake_minimum_required(VERSION 3.7)
project(chatProject)
set(CMAKE_CXX_STANDARD 11)
set(COMMON_SOURCES common/socketWrapper.h common/color.h)
set(SERVER_SOURCES server/main.cpp)
set(CLIENT_SOURCES client/main.cpp client/client.h client/message.h)
add_executable(client ${COMMON_SOURCES} ${CLIENT_SOURCES})
add_executable(server ${COMMON_SOURCES} ${SERVER_SOURCES})
Проблема : собирается по умолчанию только клиент. Подскажите пожалуйста, как собирать и клиент,и сервер вместе.
Разбей на 2 CMakeLists.txt.
В Первом сделай для клиента настройку:
cmake_minimum_required(VERSION 3.7)
project(client)
set(CMAKE_CXX_STANDARD 11)
set(COMMON_SOURCES common/socketWrapper.h common/color.h)
set(CLIENT_SOURCES client/main.cpp client/client.h client/message.h)
add_executable(client ${COMMON_SOURCES} ${CLIENT_SOURCES})
Во втором для сервера:
cmake_minimum_required(VERSION 3.7)
project(server)
set(CMAKE_CXX_STANDARD 11)
set(COMMON_SOURCES common/socketWrapper.h common/color.h)
set(SERVER_SOURCES server/main.cpp)
add_executable(server ${COMMON_SOURCES} ${SERVER_SOURCES})
Затем добавь ещё один корневой CMakeLists.txt и добавь туда:
cmake_minimum_required(VERSION 3.7)
project(chatProject)
add_subdirectory(path/to/client)
add_subdirectory(path/to/server)
add_custom_target(chatProject)
add_dependencies(chatProject client server)
и делай make конкретно chatProject или из папки где лежит рутовый CMakeLists.txt. Такая организация будет самая правильная.
Если будет добавляться какая-то дополнительная логика в разные части (сервер/клиент), то не будешь засорять один CMake.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Хочу получить доступ к переменной appКак это сделать?
Не получается работать с GMail APIКаждый раз GMail не может быть прочитано и является пустым свойством