OTUS: Сборка проектов на C++ с использованием CMake // Бесплатный урок OTUS - видео HD
02:24:50
OTUS Онлайн - образование 1575 роликов
10701 просмотр
Сборка проектов на C++ с использованием CMake // Бесплатный урок OTUS - видео.
Учимся собирать проекты с использованием кроcсплатформенной утилиты для автоматической сборки программы из исходного кода.
Рассматриваем особенности работы с CMake и обсуждаем плюсы и минусы такого инструмента.
Полученные знания пригодятся при выполнении домашних работ курса «Разработчик C++» и не только.
Преподаватель: Сергей Кольцов — Senior Developer С++ VisionLabs
Подключайтесь к обсуждению в чате — otus.pw/shm9/
Пройдите опрос по итогам мероприятия — otus.pw/m0rI/
Учитесь у профессионалов — otus.pw/IuoR/
Следите за новостями проекта:
— Facebook: otus.pw/3hO2
— Telegram: t.me/Otusjava
— ВКонтакте: otus.pw/850t
— LinkedIn: otus.pw/yQwQ/
— Хабр: otus.pw/S0nM/
Рассматриваем особенности работы с CMake и обсуждаем плюсы и минусы такого инструмента.
Полученные знания пригодятся при выполнении домашних работ курса «Разработчик C++» и не только.
Преподаватель: Сергей Кольцов — Senior Developer С++ VisionLabs
Подключайтесь к обсуждению в чате — otus.pw/shm9/
Пройдите опрос по итогам мероприятия — otus.pw/m0rI/
Учитесь у профессионалов — otus.pw/IuoR/
Следите за новостями проекта:
— Facebook: otus.pw/3hO2
— Telegram: t.me/Otusjava
— ВКонтакте: otus.pw/850t
— LinkedIn: otus.pw/yQwQ/
— Хабр: otus.pw/S0nM/
развернуть свернуть
Все на одном дыхании, без монтажа и почти без ошибок.
Смотрел 2 раза, на второй раз решил сделать оглавление, вдруг что забуду. Думаю полезно будет для всех, кто будет смотреть
2:02 Начало про OTUS
5:31 Начало презентации
8:27 Осторожно, звук :)
10:13 Вступление про CMake
41:54 example1
42:52 cmake_minimum_required(VERSION 3.5)
44:39 project(Example1)
45:44 add_executable(helloWorld main.cpp)
46:30 set_target_properties(...)
49:18 cli> cmake…
51:28 cli> cmake… -G «MinGW Makefiles»
52:58 cli> cmake --build.
54:39 Generators
56:40 example2
59:03 set(...) #обьявление переменных
1:04:31 example3
1:06:08 project(Example3 VERSION 0.0.1) #версия проекта
1:06:56 config.h.in #шаблоны cmake
1:07:46 #cmakedefine @PROJECT_VERSION_PATCH@
1:08:45 configure_file(config.h.in ...)
1:10:11 target_include_directories(...)
1:16:06 example4
1:16:51 add_subdirectory(dir_name)
1:17:26 add_library(lib_name STATIC src_files) #создание библиотеки
1:21:36 target_link_libraries(target lib_name)
1:25:12 example5
1:26:50 install(TARGETS ...)
1:29:09 cli> cmake… -DCMAKE_INSTALL_PREFIX
1:30:36 cli> cmake --build. --target install
1:33:02 find_package(...)
1:38:21 install(EXPORT ...)
1:39:39 cli> cmake… -DsumLib_DIR=/path/to/cmake/export/sumLibConfig.cmake
1:41:47 example6
1:42:53 Custom FindsumLib.cmake
1:49:00 cli> cmake… -DSUMLIB_ROOT=/path/to/custom/cmake/module/FindsumLib.cmake
1:50:33 message("...")
1:53:08 example7
1:53:17 option(OPTION_VARIABLE «description» initial_value)
1:53:56 if(OPTION_VARIABLE)
1:54:20 cli> cmake… -DOPTION_VARIABLE=new_state
1:56:14 example8
1:56:31 target_compile_features(target PRIVATE cxx_generic_lambdas)
1:58:19 Q&A
Наглая ложь. Стандарт прямо утверждает, что С++ выполняется на абстрактной машине -> кросплатформенный.