diff --git a/CMakeLists.txt b/CMakeLists.txt index ea79748..260cbe8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,3 +35,6 @@ cmlib_config_hpp_generate() # Библиотека add_subdirectory(src/libcmex) +# Приложение +add_subdirectory(src/cmex) + diff --git a/src/cmex/CMakeLists.txt b/src/cmex/CMakeLists.txt new file mode 100644 index 0000000..a787bee --- /dev/null +++ b/src/cmex/CMakeLists.txt @@ -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 + $) + +# Имя выходного файла для цели +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}) + diff --git a/src/cmex/main.cpp b/src/cmex/main.cpp new file mode 100644 index 0000000..de1914c --- /dev/null +++ b/src/cmex/main.cpp @@ -0,0 +1,15 @@ +#include "compiler_features.hpp" +#include "config.hpp" + +#include + +#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; +} +