Обновление

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_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 "")
@ -22,7 +22,7 @@ set(MYX_CMAKE_AUTHOR_EMAIL "mail@johndoe.com" 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()

View File

@ -1,28 +1,31 @@
# Название основной цели и имя библиотеки в текущем каталоге
set(TRGT myx-cmake-example-library)
# Минимальная версия CMake
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
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
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 s = 0;
for ( auto i = std::abs( v ); i > 0; i-- )
{
s += i;