Compare commits
	
		
			2 Commits
		
	
	
		
			d8f5bc8330
			...
			3520c03452
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 3520c03452 | |||
| 307a261281 | 
@@ -5,7 +5,7 @@ cmake_minimum_required(VERSION 3.3)
 | 
			
		||||
cmake_policy(VERSION 3.0.2..3.7)
 | 
			
		||||
 | 
			
		||||
# Название и версия проекта и используемые языки программирования
 | 
			
		||||
project(cmlib-example-base VERSION 0.2.0 LANGUAGES C CXX)
 | 
			
		||||
project(cmlib-example-app VERSION 0.2.0 LANGUAGES C CXX)
 | 
			
		||||
 | 
			
		||||
# В каталоге cmake/cmlib находятся файлы с библиотечными функциями
 | 
			
		||||
if(IS_DIRECTORY ${CMAKE_SOURCE_DIR}/cmake/cmlib)
 | 
			
		||||
@@ -17,3 +17,21 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/find)
 | 
			
		||||
 | 
			
		||||
include(CMLibCommon)
 | 
			
		||||
 | 
			
		||||
# Boost
 | 
			
		||||
set(Boost_USE_STATIC_LIBS ON)
 | 
			
		||||
set(Boost_USE_MULTITHREADED OFF)
 | 
			
		||||
set(Boost_USE_STATIC_RUNTIME ON)
 | 
			
		||||
find_package(Boost 1.55.0 REQUIRED COMPONENTS headers)
 | 
			
		||||
 | 
			
		||||
# Автоматически генерируемый заголовочный файл
 | 
			
		||||
cmlib_config_hpp_generate()
 | 
			
		||||
 | 
			
		||||
# Приложение
 | 
			
		||||
add_subdirectory(src/cmlib-example)
 | 
			
		||||
 | 
			
		||||
# Документация
 | 
			
		||||
add_subdirectory(cmake/doc)
 | 
			
		||||
 | 
			
		||||
# Создание вспомогательных символических ссылок
 | 
			
		||||
add_dependencies(cmlib-example create_auxilary_symlinks)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -11,18 +11,19 @@ set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CMLib application project example")
 | 
			
		||||
set(CPACK_DEBIAN_PACKAGE_SECTION "misc")
 | 
			
		||||
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
 | 
			
		||||
set(CPACK_SOURCE_IGNORE_FILES
 | 
			
		||||
    ${CMAKE_BINARY_DIR}
 | 
			
		||||
    .git/
 | 
			
		||||
    .git$
 | 
			
		||||
    .gitlab-ci/
 | 
			
		||||
    _output/
 | 
			
		||||
    files/lib
 | 
			
		||||
    files/log
 | 
			
		||||
    .clang-tidy
 | 
			
		||||
    .cmake-format
 | 
			
		||||
    .gitignore
 | 
			
		||||
    .gitmodules
 | 
			
		||||
    .gitlab-ci.yml
 | 
			
		||||
    CMakeLists.txt.user.*
 | 
			
		||||
    ~$
 | 
			
		||||
    \\\\..*\\\\.swp$)
 | 
			
		||||
    "${CMAKE_BINARY_DIR}"
 | 
			
		||||
    "/\\\\.git/"
 | 
			
		||||
    "/\\\\.gitlab-ci/"
 | 
			
		||||
    "^${CMAKE_SOURCE_DIR}/.?build.?/"
 | 
			
		||||
    "^${CMAKE_SOURCE_DIR}/.?output.?/"
 | 
			
		||||
    "^${CMAKE_SOURCE_DIR}/files/lib"
 | 
			
		||||
    "^${CMAKE_SOURCE_DIR}/files/log"
 | 
			
		||||
    "\\\\.clang-tidy$"
 | 
			
		||||
    "\\\\.cmake-format$"
 | 
			
		||||
    "\\\\.gitignore$"
 | 
			
		||||
    "\\\\.gitattributes$"
 | 
			
		||||
    "\\\\.gitmodules$"
 | 
			
		||||
    "\\\\.gitlab-ci.yml"
 | 
			
		||||
    "CMakeLists.txt.user.*"
 | 
			
		||||
    "~$"
 | 
			
		||||
    "\\\\.swp$")
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										22
									
								
								src/cmlib-example/CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								src/cmlib-example/CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
# Название основной цели и имя библиотеки в текущем каталоге
 | 
			
		||||
set(TRGT cmlib-example)
 | 
			
		||||
 | 
			
		||||
# Список файлов исходных текстов
 | 
			
		||||
set(TRGT_sources ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp)
 | 
			
		||||
 | 
			
		||||
# Функция для создания цели, результатом которой будет сборка приложения
 | 
			
		||||
add_executable(${TRGT} ${TRGT_sources})
 | 
			
		||||
common_target_properties(${TRGT})
 | 
			
		||||
 | 
			
		||||
# Добавление к пути поиска заголовочных файлов
 | 
			
		||||
target_include_directories(${TRGT} SYSTEM PUBLIC ${Boost_INCLUDE_DIRS})
 | 
			
		||||
 | 
			
		||||
# Имя целевого каталога и выходного файла для цели
 | 
			
		||||
set_target_properties(${TRGT}
 | 
			
		||||
  PROPERTIES
 | 
			
		||||
  OUTPUT_NAME ${TRGT}
 | 
			
		||||
  RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
# Правила для установки
 | 
			
		||||
install(TARGETS ${TRGT} COMPONENT MAIN RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
 | 
			
		||||
							
								
								
									
										20
									
								
								src/cmlib-example/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								src/cmlib-example/main.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
#include <iostream>
 | 
			
		||||
#include <boost/range/counting_range.hpp>
 | 
			
		||||
 | 
			
		||||
int32_t nsum(int32_t i = 0)
 | 
			
		||||
{
 | 
			
		||||
	int32_t s = 0;
 | 
			
		||||
	for ( auto r : boost::counting_range( 1, i ) )
 | 
			
		||||
	{
 | 
			
		||||
		s += r;
 | 
			
		||||
	}
 | 
			
		||||
	return s;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int main(int argc, char* argv[])
 | 
			
		||||
{
 | 
			
		||||
	auto s = nsum( argc );
 | 
			
		||||
	std::cout << s << std::endl;
 | 
			
		||||
	return ( s );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user