Подключение MyXLib
This commit is contained in:
@ -2,15 +2,40 @@
|
||||
set(TRGT cmlib-example)
|
||||
|
||||
# Список файлов исходных текстов
|
||||
set(TRGT_sources ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp)
|
||||
set(TRGT_cpp ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp)
|
||||
|
||||
# Правила для создания файла ресурсов с вложенными файлами переводов
|
||||
qt5_translation(TRGT_qrc OUTPUT_DIR ${CMAKE_SOURCE_DIR}/l10n BASE_NAME ${TRGT} LANGUAGES ru_RU)
|
||||
|
||||
# Путь поиска библиотек созданных при компиляции проекта,
|
||||
# включая библиотеки из подключённых внешних проектов, например MyXLib
|
||||
# Функция link_directories обязательно должна находиться перед
|
||||
# функцией add_executable, иначе компоновка не может быть выполнена
|
||||
link_directories(${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
|
||||
|
||||
# Функция для создания цели, результатом которой будет сборка приложения
|
||||
add_executable(${TRGT} ${TRGT_sources})
|
||||
add_executable(${TRGT} ${TRGT_cpp} ${TRGT_qrc})
|
||||
common_target_properties(${TRGT})
|
||||
|
||||
# Qt5: подключение заголовочных файлов
|
||||
target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS})
|
||||
|
||||
# Qt5: подключение библиотек
|
||||
target_link_libraries(${TRGT} Qt5::Core)
|
||||
|
||||
# Добавление к пути поиска заголовочных файлов
|
||||
target_include_directories(${TRGT} SYSTEM PUBLIC ${Boost_INCLUDE_DIRS})
|
||||
|
||||
# Зависимость от библиотеки из внешнего проекта проекта
|
||||
add_dependencies(${TRGT} myxlib)
|
||||
|
||||
# Добавление каталога, в который устанавливаются заголовочные файлы
|
||||
# от внешнего проекта, к списку путей для поиска
|
||||
target_include_directories(${TRGT} PUBLIC $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>)
|
||||
|
||||
# Компоновка с библиотеками из внешнего проекта
|
||||
target_link_libraries(${TRGT} myx-qt myx-filesystem myx-base)
|
||||
|
||||
# Имя целевого каталога и выходного файла для цели
|
||||
set_target_properties(${TRGT}
|
||||
PROPERTIES
|
||||
|
@ -1,31 +0,0 @@
|
||||
#include "compiler_features.hpp"
|
||||
#include "cmlib_private_config.hpp"
|
||||
|
||||
#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[])
|
||||
{
|
||||
// Значение из compiler_features.hpp
|
||||
std::cout << CMLIB_EXAMPLE_APP_COMPILER_VERSION_MAJOR << std::endl;
|
||||
// Значение из cmlib_private_config.hpp
|
||||
std::cout << CMLIB_BUILD_TYPE << std::endl;
|
||||
// Значение из cmlib_private_config.hpp
|
||||
std::cout << CMLIB_BUILD_DATE << std::endl;
|
||||
|
||||
auto s = nsum( argc );
|
||||
std::cout << s << std::endl;
|
||||
|
||||
return ( s );
|
||||
}
|
||||
|
Reference in New Issue
Block a user