Обновление

This commit is contained in:
Andrei Astafev 2022-05-06 14:51:32 +03:00
parent aaad411126
commit c0c7695636
3 changed files with 19 additions and 15 deletions

View File

@ -1,14 +1,14 @@
# Минимальная версия CMake # Минимальная версия CMake
cmake_minimum_required(VERSION 3.3) cmake_minimum_required(VERSION 3.6)
# Предпочтительно следовать стандартам принятым в указанном диапазоне версий # Предпочтительно следовать стандартам принятым в указанном диапазоне версий
cmake_policy(VERSION 3.0.2..3.7) cmake_policy(VERSION 3.6..3.7)
# Название и версия проекта и используемые языки программирования # Название и версия проекта и используемые языки программирования
project(myx-cmake-example-library VERSION 0.2.0 LANGUAGES C CXX) project(myx-cmake-example-library VERSION 0.3.0 LANGUAGES C CXX)
### ###
# Обязательные переменные для MyxCMake # Рекомендуемые переменные для MyxCMake
### ###
# Название организации # Название организации
set(MYX_CMAKE_ORGANIZATION_NAME "Org." CACHE STRING "") set(MYX_CMAKE_ORGANIZATION_NAME "Org." CACHE STRING "")
@ -22,7 +22,7 @@ set(MYX_CMAKE_AUTHOR_EMAIL "mail@johndoe.com" CACHE STRING "")
# Краткое описание проекта # Краткое описание проекта
set(MYX_CMAKE_DESCRIPTION "Пример проекта: библиотека" CACHE STRING "") set(MYX_CMAKE_DESCRIPTION "Пример проекта: библиотека" CACHE STRING "")
find_package(MyxCMake 0.4.1 REQUIRED) find_package(MyxCMake 0.7.1 REQUIRED)
# Автоматически генерируемый заголовочный файл # Автоматически генерируемый заголовочный файл
myx_cmake_generate_private_config_header() myx_cmake_generate_private_config_header()

View File

@ -1,28 +1,31 @@
# Название основной цели и имя библиотеки в текущем каталоге # Минимальная версия CMake
set(TRGT myx-cmake-example-library) cmake_minimum_required(VERSION 3.6)
# Название и версия проекта и используемые языки программирования
project(myx-cmake-example-library)
# Список файлов исходных текстов # Список файлов исходных текстов
set(TRGT_cpp ${CMAKE_CURRENT_SOURCE_DIR}/init.cpp) set(CPP ${CMAKE_CURRENT_SOURCE_DIR}/init.cpp)
# Список заголовочных файлов (используется для установки) # Список заголовочных файлов (используется для установки)
set(TRGT_hpp ${CMAKE_CURRENT_SOURCE_DIR}/init.hpp) set(HPP ${CMAKE_CURRENT_SOURCE_DIR}/init.hpp)
# Функция для создания цели, результатом которой будет сборка библиотеки # Функция для создания цели, результатом которой будет сборка библиотеки
# Обязательно использовать тип OBJECT # Обязательно использовать тип OBJECT
add_library(${TRGT} OBJECT ${TRGT_cpp} ${TRGT_hpp}) add_library(${PROJECT_NAME} OBJECT ${CPP} ${HPP})
# Автоматическая установка значений свойств для цели # Автоматическая установка значений свойств для цели
myx_cmake_common_target_properties(${TRGT}) myx_cmake_common_target_properties(${PROJECT_NAME})
# Создание разделяемой библиотеки # Создание разделяемой библиотеки
myx_cmake_add_shared_library(${TRGT}) myx_cmake_add_shared_library(${PROJECT_NAME})
# Создание статической библиотеки # Создание статической библиотеки
myx_cmake_add_static_library(${TRGT}) myx_cmake_add_static_library(${PROJECT_NAME})
# Установка заголовочных файлов # Установка заголовочных файлов
install(FILES ${TRGT_hpp} COMPONENT dev DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${TRGT}) install(FILES ${HPP} COMPONENT dev DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME})
# Установка файла для pkg-config # Установка файла для pkg-config
myx_cmake_generate_pkgconfig(${TRGT} COMPONENT dev INSTALL_LIBRARY true) myx_cmake_generate_pkgconfig(${PROJECT_NAME} COMPONENT dev INSTALL_LIBRARY true)

View File

@ -5,6 +5,7 @@
int32_t init( int32_t v = 0 ) int32_t init( int32_t v = 0 )
{ {
int32_t s = 0; int32_t s = 0;
for ( auto i = std::abs( v ); i > 0; i-- ) for ( auto i = std::abs( v ); i > 0; i-- )
{ {
s += i; s += i;