пятница, 22 апреля 2016 г.

[prog] MxxRu-обертка над CMake задышала...

...и начала подавать признаки жизни в реальных, жизненных сценариях :) Вот пример MxxRu-обертки вокруг библиотеки SOCI и бэкэнда для PostgresSQL. Это содержимое файла soci/prj.rb:

require 'mxx_ru/cpp'

MxxRu::Cpp::ext_cmake_project {
  where 'soci'
  with WITH_BOOST:ON,
     WITH_ORACLE:OFF,
     SOCI_EMPTY:OFF,
     SOCI_SHARED:ON,
     SOCI_STATIC:OFF,
     SOCI_TESTS:OFF

  includedir_subfolder "soci"
  includedir_subfolder "soci/postgresql"

  include_path "/usr/include/postgresql"MxxRu::Cpp::Target::OPT_UPSPREAD

  lib 'soci_core'
  lib 'soci_postgresql'
}

А вот как он используется в другом проектном файле:

require 'mxx_ru/cpp'

MxxRu::Cpp::dll_target {

  target 'soci_db_pool'

  implib_path 'lib'

  define 'SOCI_DB_POOL__PRJ'

  required_prj 'spdlog/prj.rb'
  required_prj 'so_5/prj.rb'
  required_prj 'soci/prj.rb'

  cpp_source 'a_db_pool.cpp'
}

Такими темпами в понедельник можно будет MxxRu-1.6.11 выпускать :)

Комментариев нет: