Базовое приложение

This commit is contained in:
Andrei Astafev 2019-02-12 22:23:41 +03:00
parent 451708a3ba
commit cca531741b
3 changed files with 53 additions and 0 deletions

View File

@ -35,3 +35,6 @@ cmlib_config_hpp_generate()
# Библиотека
add_subdirectory(src/libcmex)
# Приложение
add_subdirectory(src/cmex)

35
src/cmex/CMakeLists.txt Normal file
View File

@ -0,0 +1,35 @@
# Название основной цели в текущем каталоге
set(current_target cmex_app)
# Список файлов исходных текстов
set(current_target_sources
main.cpp
)
# Цель для создания исполняемого файла
add_executable(${current_target} ${current_target_sources})
common_target_properties(${current_target})
# Зависимость от библиотеки из текущего проекта
add_dependencies(${current_target} cmex)
# Добавление внутреннего каталога src/libcmex к списку путей для поиска заголовочных файлов
target_include_directories(${current_target} PUBLIC
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/libcmex>)
# Имя выходного файла для цели
set_target_properties(${current_target}
PROPERTIES
OUTPUT_NAME cmex
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}
)
# Путь поиска библиотек внутри проекта
link_directories(${CMAKE_INSTALL_LIBDIR})
# Сначала внутренние статические библиотеки
target_link_libraries(${current_target} cmex_static)
# Правила для установки
install(TARGETS ${current_target} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})

15
src/cmex/main.cpp Normal file
View File

@ -0,0 +1,15 @@
#include "compiler_features.hpp"
#include "config.hpp"
#include <iostream>
#include "cmex.hpp"
int main(int argc, char **argv) {
std::cout << CMEX_COMPILER_VERSION_MAJOR << std::endl; // Значение из compiler_features.hpp
std::cout << BUILD_TYPE << std::endl; // Значение из config.hpp
std::cout << CMEX_VERSION_STR << std::endl; // Значение из config.hpp
std::cout << cmex_init(4) << std::endl; // Функция из внутренней библиотеки
return 0;
}