Для подключения и использования необходимых библиотек их нужно раскомментировать в файлах:
_libs/_clone_libs.bat
_libs/_git-job-impl.bat
В начале файла находим строку описания проекта (с директивой project
):
CMakeLists.txt:2
project(umba-template VERSION 0.1.0 LANGUAGES C CXX)
Заменяем название umba-template
на название проекта.
Импортируем нужные библиотеки:
CMakeLists.txt:30
# Import libraries here
# add_subdirectory(${LIB_ROOT}/encoding)
# add_subdirectory(${LIB_ROOT}/marty_cpp)
# add_subdirectory(${LIB_ROOT}/marty_pugixml)
# add_subdirectory(${LIB_ROOT}/marty_tr)
# add_subdirectory(${LIB_ROOT}/marty_yaml_toml_json)
# add_subdirectory(${LIB_ROOT}/nlohmann) # https://json.nlohmann.me/integration/cmake/#external
# add_subdirectory(${LIB_ROOT}/pugixml)
# add_subdirectory(${LIB_ROOT}/sfmt)
# add_subdirectory(${LIB_ROOT}/umba)
# add_subdirectory(${LIB_ROOT}/yaml-cpp)
Настраиваем списки библиотек для последующего использования:
CMakeLists.txt:97
# Configure libraries here
# set(COMMON_LIBS encoding::encoding marty_cpp::marty_cpp sfmt::sfmt umba::umba)
# set(PUGIXML_LIB pugixml::pugixml marty_pugixml::marty_pugixml)
# set(JSON_YAML_LIB nlohmann_json::nlohmann_json yaml-cpp::yaml-cpp)
При настройке целей можно как использовать заранее подготовленные списки библиотек, так и указывать библиотеки непосредственно.
Настраиваем цель (исполняемый файл) проекта:
CMakeLists.txt:106
add_executable(umba-template "${SRC_ROOT}/umba-template/umba-template.cpp" "${headers}")
umba_add_target_options(umba-template "CONSOLE" "BIGOBJ" "UTF8" ) # "PEDANTIC" "WERR"
target_link_libraries(umba-template PRIVATE "${PLATFORM_LIBS}" "${COMMON_LIBS}")
При необходимости дополнительные цели можно добавлять аналогично.
Для открытия проекта в MSVC нужно настроить название "солюшена":
set_sln.bat:2
@set SLN=umba-template
Это название должно совпадать с тем, что указано в директиве project
файла CMakeLists.txt
.
Для сборки проекта требуются внешние библиотеки. Внешние библиотеки не подгружаются автоматически.
Для их подгрузки требуется выполнить скрипт _libs/_clone_libs.bat
.
Для генерации сборочных скриптов и их сборки при помощи MSBuild
предназначены файлы:
.bat/cmake_generate_all_msvc2017.bat
.bat/cmake_generate_all_msvc2019.bat
.bat/cmake_generate_all_msvc2022.bat
.bat/cmake_build_all_msvc2017.bat
.bat/cmake_build_all_msvc2019.bat
.bat/cmake_build_all_msvc2022.bat
Для запуска VSCode предназначен файл _start_code.bat
.
VSCode с плагином "CMake Tools" сам обнаружит CMakeLists.txt
. Следует выбрать подходящий тулчейн
и можно начинать работу.
Для запуска MSVC предназначен файл _start_msvc.bat
.
По умолчанию будет сгенерированна и открыта в 2019ой студии конфигурация x86
.
Для того, чтобы открывалась другая студия с другой конфигурацией, следует
переименовать файл setup_msvc.bat.example
в setup_msvc.bat
и настроить нужную конфигурацию там.