diff --git a/CMakeLists.txt b/CMakeLists.txt index 0dfbbf2..3791806 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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() diff --git a/src/myx-cmake-example-library/CMakeLists.txt b/src/myx-cmake-example-library/CMakeLists.txt index 8f37a18..ab90139 100644 --- a/src/myx-cmake-example-library/CMakeLists.txt +++ b/src/myx-cmake-example-library/CMakeLists.txt @@ -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) diff --git a/src/myx-cmake-example-library/init.cpp b/src/myx-cmake-example-library/init.cpp index 886716a..e02a2dd 100644 --- a/src/myx-cmake-example-library/init.cpp +++ b/src/myx-cmake-example-library/init.cpp @@ -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;