Обновление проекта
This commit is contained in:
parent
c5553ac7be
commit
cdb009ad60
@ -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)
|
||||||
|
@ -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})
|
||||||
|
@ -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 );
|
||||||
|
Loading…
Reference in New Issue
Block a user