Обновление
This commit is contained in:
parent
aaad411126
commit
c0c7695636
@ -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()
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user