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)
 | 
					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 находятся файлы с библиотечными функциями
 | 
					# В каталоге cmake/cmlib находятся файлы с библиотечными функциями
 | 
				
			||||||
if(IS_DIRECTORY ${CMAKE_SOURCE_DIR}/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)
 | 
					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_SECTION "misc")
 | 
				
			||||||
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
 | 
					set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
 | 
				
			||||||
set(CPACK_SOURCE_IGNORE_FILES
 | 
					set(CPACK_SOURCE_IGNORE_FILES
 | 
				
			||||||
    ${CMAKE_BINARY_DIR}
 | 
					    "${CMAKE_BINARY_DIR}"
 | 
				
			||||||
    .git/
 | 
					    "/\\\\.git/"
 | 
				
			||||||
    .git$
 | 
					    "/\\\\.gitlab-ci/"
 | 
				
			||||||
    .gitlab-ci/
 | 
					    "^${CMAKE_SOURCE_DIR}/.?build.?/"
 | 
				
			||||||
    _output/
 | 
					    "^${CMAKE_SOURCE_DIR}/.?output.?/"
 | 
				
			||||||
    files/lib
 | 
					    "^${CMAKE_SOURCE_DIR}/files/lib"
 | 
				
			||||||
    files/log
 | 
					    "^${CMAKE_SOURCE_DIR}/files/log"
 | 
				
			||||||
    .clang-tidy
 | 
					    "\\\\.clang-tidy$"
 | 
				
			||||||
    .cmake-format
 | 
					    "\\\\.cmake-format$"
 | 
				
			||||||
    .gitignore
 | 
					    "\\\\.gitignore$"
 | 
				
			||||||
    .gitmodules
 | 
					    "\\\\.gitattributes$"
 | 
				
			||||||
    .gitlab-ci.yml
 | 
					    "\\\\.gitmodules$"
 | 
				
			||||||
    CMakeLists.txt.user.*
 | 
					    "\\\\.gitlab-ci.yml"
 | 
				
			||||||
    ~$
 | 
					    "CMakeLists.txt.user.*"
 | 
				
			||||||
    \\\\..*\\\\.swp$)
 | 
					    "~$"
 | 
				
			||||||
 | 
					    "\\\\.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