Обновление проекта

This commit is contained in:
Andrei Astafev 2022-05-06 14:23:30 +03:00
parent c5553ac7be
commit cdb009ad60
3 changed files with 20 additions and 21 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-app VERSION 0.2.0 LANGUAGES C CXX) project(myx-cmake-example-app 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)
# Boost # Boost
set(Boost_USE_STATIC_LIBS ON) set(Boost_USE_STATIC_LIBS ON)

View File

@ -1,18 +1,18 @@
# Название основной цели и имени программы в текущем каталоге # Название основной цели и имени программы в текущем каталоге
set(TRGT myx-cmake-example-app) project(myx-cmake-example-app)
# Список файлов исходных текстов # Список файлов исходных текстов
set(TRGT_cpp ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp) set(CPP ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp)
# Функция для создания цели, результатом которой будет сборка приложения # Функция для создания цели, результатом которой будет сборка приложения
add_executable(${TRGT} ${TRGT_cpp}) add_executable(${PROJECT_NAME} ${CPP})
myx_cmake_common_target_properties(${TRGT}) myx_cmake_common_target_properties(${PROJECT_NAME})
# Добавление к пути поиска заголовочных файлов # Добавление к пути поиска заголовочных файлов
target_include_directories(${TRGT} SYSTEM PUBLIC ${Boost_INCLUDE_DIRS}) target_include_directories(${PROJECT_NAME} SYSTEM INTERFACE ${Boost_INCLUDE_DIRS})
# Вместо строки выше можно использовать вариант, который автоматически
# Имя выходного файла для цели # добавляет параметры поиска заголовочных файлов и компоновки библиотек
set_target_properties(${TRGT} PROPERTIES OUTPUT_NAME ${TRGT}) target_link_libraries(${PROJECT_NAME} Boost::headers)
# Правила для установки # Правила для установки
install(TARGETS ${TRGT} COMPONENT main RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(TARGETS ${PROJECT_NAME} COMPONENT main RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})

View File

@ -1,5 +1,5 @@
#include <myx_cmake_git_info_p.hpp> #include <myx_cmake_example_app/myx_cmake_git_info_p.hpp>
#include <myx_cmake_private_config_p.hpp> #include <myx_cmake_example_app/myx_cmake_private_config_p.hpp>
#include <iostream> #include <iostream>
#include <boost/range/counting_range.hpp> #include <boost/range/counting_range.hpp>
@ -7,15 +7,13 @@
int32_t nsum( int32_t i = 0 ) int32_t nsum( int32_t i = 0 )
{ {
int32_t s = 0; int32_t s = 0;
for ( auto r: boost::counting_range( 1, i ) )
{ for ( auto r: boost::counting_range( 1, i ) ) s += r;
s += r;
}
return( s ); return( s );
} }
int main( int argc, char* argv[] ) int main( int argc, char* argv [[gnu::unused]][] )
{ {
// Значение из myx_cmake_private_config.hpp // Значение из myx_cmake_private_config.hpp
std::cout << "Build type: " << MYX_CMAKE_BUILD_TYPE << std::endl; std::cout << "Build type: " << MYX_CMAKE_BUILD_TYPE << std::endl;
@ -23,6 +21,7 @@ int main( int argc, char* argv[] )
std::cout << "Git revision: " << MYX_CMAKE_EXAMPLE_APP_GIT_REV << std::endl; std::cout << "Git revision: " << MYX_CMAKE_EXAMPLE_APP_GIT_REV << std::endl;
auto s = nsum( argc ); auto s = nsum( argc );
std::cout << s << std::endl; std::cout << s << std::endl;
return ( s ); return ( s );