Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
479 lines (425 sloc) 15.2 KB
local_settings:
use_shared_libs: false
rc_enabled: false
#storage_dir: .s
#build_dir_type: local
#use_cache: true
builds:
vs_release:
generator: Visual Studio 16 2019
vs_llvm:
generator: Visual Studio 15 2017 Win64
toolset: LLVM-vs2014
configuration: Debug
# run vcvars64 before this config
win_clang_ninja_dbg:
generator: Ninja
c_compiler: clang-cl
cxx_compiler: clang-cl
configuration: Debug
# run vcvars64 before this config
win_clang_ninja_rwdi:
generator: Ninja
c_compiler: clang-cl
cxx_compiler: clang-cl
configuration: RelWithDebInfo
# run vcvars64 before this config
win_clang_ninja_rel:
generator: Ninja
c_compiler: clang-cl
cxx_compiler: clang-cl
configuration: Release
gcc8:
generator: Ninja
c_compiler: gcc-8
cxx_compiler: g++-8
c_flags: -w
cxx_flags: -w
build_dir: build_ninja_gcc
# debug config is not working with ninja,
# so we set cache to false
# and use local build dir (this is optional)
gcc8_debug:
generator: Ninja
c_compiler: gcc-8
cxx_compiler: g++-8
c_flags: -w
cxx_flags: -w
configuration: Debug
#use_cache: false
build_dir: build_ninja_gcc_debug
clang6:
generator: Ninja
c_compiler: clang-6.0
cxx_compiler: clang++-6.0
#build_dir: build_ninja_clang
clang6_debug:
generator: Ninja
c_compiler: clang-6.0
cxx_compiler: clang++-6.0
configuration: Debug
use_cache: false
build_dir: build_ninja_clang_debug
macos:
generator: Ninja
c_compiler: /usr/local/Cellar/llvm/7.0.0/bin/clang
cxx_compiler: /usr/local/Cellar/llvm/7.0.0/bin/clang++
configuration: RelWithDebInfo
macos_debug:
generator: Ninja
c_compiler: /usr/local/Cellar/llvm/7.0.0/bin/clang
cxx_compiler: /usr/local/Cellar/llvm/7.0.0/bin/clang++
configuration: Debug
add_directories:
- d:/dev/primitives
common_settings:
c++: 17
options:
any:
compile_options:
msvc:
public:
- -permissive-
projects:
tools.client:
root_directory: src/sw/tools
files: client.cpp
condition: WIN32
output_name: client.com
options:
any:
definitions:
public:
- UNICODE
dependencies:
- pvt.cppan.demo.boost.dll: 1
- pvt.cppan.demo.boost.filesystem: 1
tools.self_builder:
root_directory: src/sw/tools
files: self_builder.cpp
dependencies:
- manager
- name: pvt.egorpugin.primitives.sw.main
version: master
local: primitives.sw.main
- name: pvt.egorpugin.primitives.emitter
version: master
local: primitives.emitter
tools.cl_generator:
root_directory: src/sw/tools
files: cl_generator.cpp
dependencies:
- name: pvt.egorpugin.primitives.main
version: master
local: primitives.sw.main
- name: pvt.egorpugin.primitives.emitter
version: master
local: primitives.emitter
- name: pvt.egorpugin.primitives.yaml
version: master
local: primitives.yaml
client:
root_directory: src/sw/client
#executable_type: win32
files:
- .*
exclude_from_build:
- .*rc$
rc_enabled: false
#api_name:
# - CPPAN_BUILDER_API
# - CPPAN_MANAGER_API
dependencies:
- builder
- driver.cpp
- pvt.cppan.demo.giovannidicanio.winreg: master
- name: pvt.egorpugin.primitives.sw.main
version: master
local: primitives.sw.main
post_sources: |
file(GLOB_RECURSE x "${SDIR}/*")
source_group(TREE ${SDIR} PREFIX "Source Files" FILES ${x})
embed(${SDIR}/inserts/inserts.cpp.in
${SDIR}/inserts/SWConfig.cmake
)
driver.cpp:
type: library
#static_only: true
api_name: SW_DRIVER_CPP_API
export_if_static: true
files: src/sw/driver/.*
exclude_from_build:
- src/sw/driver/misc/.*
- src/sw/driver/inserts/cppan.cpp
options:
any:
compile_options:
msvc:
public:
- /wd4244 # conversion from to, possible loss of data
- /bigobj
dependencies:
public:
- builder
- pvt.cppan.demo.boost.assign: 1
- pvt.cppan.demo.microsoft.gsl: "*"
private:
- name: pvt.egorpugin.primitives.patch
version: master
local: primitives.patch
- name: tools.self_builder
ref: self_builder
- name: tools.cl_generator
ref: cl_generator
- pvt.cppan.demo.boost.uuid: 1
- name: pvt.egorpugin.primitives.tools.embedder
version: master
ref: embedder
local: primitives.tools.embedder
- name: pvt.cppan.demo.lexxmark.winflexbison.flex
version: master
ref: flex
condition:
- WIN32
- name: pvt.cppan.demo.lexxmark.winflexbison.bison
version: master
ref: bison
condition:
- WIN32
post_sources: |
if (WIN32)
add_src_dir(src/sw/driver/misc/*)
endif()
file(GLOB_RECURSE x "${SDIR}/*")
source_group(TREE ${SDIR} PREFIX "Source Files" FILES ${x})
embed(${SDIR}/src/sw/driver/inserts/inserts.cpp.in ${SDIR}/src/sw/driver/inserts/cppan.cpp)
set_source_files_properties(${SDIR}/src/sw/driver/inserts/cppan.cpp PROPERTIES HEADER_FILE_ONLY TRUE)
set(f ${BDIR}/build_self.generated.h ${BDIR}/build_self.packages.generated.h)
add_custom_command(OUTPUT ${f}
COMMAND ${self_builder} ${f}
DEPENDS ${self_builder}
)
set(src ${src} ${f})
set(f ${BDIR}/options_cl.generated.h)
add_custom_command(OUTPUT ${f}
COMMAND ${cl_generator} ${SDIR}/src/sw/driver/options_cl.yml ${f} ${BDIR}/options_cl.generated.cpp
DEPENDS ${cl_generator} ${SDIR}/src/sw/driver/options_cl.yml
)
set(src ${src} ${f} ${SDIR}/src/sw/driver/options_cl.yml)
post_target: |
cppan_flex_bison_internal(src/sw/driver/bazel/lexer.ll PARSERS src/sw/driver/bazel/grammar.yy)
builder:
type: library
api_name: SW_BUILDER_API
export_if_static: true
files: src/sw/builder/.*
exclude_from_build:
- src/sw/builder/db_sqlite.*
- src/sw/builder/inserts/.*
options:
any:
compile_options:
msvc:
public:
- /wd4244 # conversion from to, possible loss of data
- /bigobj
dependencies:
public:
- manager
- pvt.cppan.demo.preshing.junction: master
- name: pvt.egorpugin.primitives.emitter
version: master
local: primitives.emitter
post_sources: |
file(GLOB_RECURSE x "${SDIR}/*")
source_group(TREE ${SDIR} PREFIX "Source Files" FILES ${x})
protos:
type: lib
static_only: true
root_directory: src/sw/protocol
files: .*
dependencies:
- name: pvt.egorpugin.primitives.log
version: master
local: primitives.log
- name: pvt.egorpugin.primitives.templates
version: master
local: primitives.templates
- pvt.cppan.demo.google.protobuf.protoc: "*"
- pvt.cppan.demo.google.protobuf.protobuf: "*"
- pvt.cppan.demo.google.grpc.grpcpp: 1
- pvt.cppan.demo.google.grpc.grpc_cpp_plugin: 1
post_sources: |
gen_grpc(${SDIR}/api.proto)
gen_grpc(${SDIR}/build.proto)
manager:
type: library
#static_only: true
api_name:
- SW_MANAGER_API
export_if_static: true
files: src/sw/manager/.*
options:
any:
definitions:
public:
- VERSION_MAJOR=0
- VERSION_MINOR=3
- VERSION_PATCH=0
compile_options:
msvc:
public:
- /wd4250 # A inherits B via dominance
- /wd4251 # needs to have dll-interface to be used by clients of
#- /wd4275 # non dll-interface used as base for dll-interface
dependencies:
- protos
- support
- name: pvt.egorpugin.primitives.tools.sqlpp11.sqlite2cpp
version: master
local: primitives.tools.sqlpp11.sqlite2cpp
ref: sqlite2cpp
- name: pvt.egorpugin.primitives.yaml
version: master
local: primitives.yaml
- name: pvt.egorpugin.primitives.source
version: master
local: primitives.source
- name: pvt.egorpugin.primitives.version
version: master
local: primitives.version
- name: pvt.egorpugin.primitives.date_time
version: master
local: primitives.date_time
- name: pvt.egorpugin.primitives.lock
version: master
local: primitives.lock
- name: pvt.egorpugin.primitives.pack
version: master
local: primitives.pack
- name: pvt.egorpugin.primitives.win32helpers
version: master
local: primitives.win32helpers
- name: pvt.egorpugin.primitives.db.sqlite3
version: master
local: primitives.db.sqlite3
- pvt.cppan.demo.rbock.sqlpp11_connector_sqlite3: 0
- pvt.cppan.demo.boost.variant: 1
- name: pvt.egorpugin.primitives.tools.embedder
version: master
ref: embedder
local: primitives.tools.embedder
- name: pvt.egorpugin.primitives.sw.settings
version: master
local: primitives.sw.settings
post_sources: |
file(GLOB_RECURSE x "${SDIR}/*")
source_group(TREE ${SDIR} PREFIX "Source Files" FILES ${x})
embed(${SDIR}/src/sw/manager/inserts/inserts.cpp.in
${SDIR}/src/sw/manager/inserts/packages_db_schema.sql
)
sqlite2cpp_gen_sql(${SDIR}/src/sw/manager/inserts/packages_db_schema.sql db_packages.h db::packages)
support:
type: library
api_name:
- SW_SUPPORT_API
root_directory: src/sw/support
files: .*
options:
any:
definitions:
public:
- UNICODE
compile_options:
clang:
public:
- -Wno-assume
- -Wno-unused-command-line-argument
- -Wno-potentially-evaluated-expression
- -Wno-delete-non-virtual-dtor
- -Wno-unused-parameter
- -Wno-multiple-move-vbase
- -Wno-switch
- -Wno-return-type
gnu:
public:
- -w
- -fpermissive
#- -Wno-virtual-move-assign
msvc:
public:
#- /wd4101 # unreferenced local variable
- -D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS
shared:
link_options:
msvc:
public:
- -FORCE:MULTIPLE
- -ignore:4006
dependencies:
- name: pvt.egorpugin.primitives.filesystem
version: master
local: primitives.filesystem
- name: pvt.egorpugin.primitives.symbol
version: master
local: primitives.symbol
- name: pvt.egorpugin.primitives.hash
version: master
local: primitives.hash
- name: pvt.egorpugin.primitives.http
version: master
local: primitives.http
- name: pvt.egorpugin.primitives.templates
version: master
local: primitives.templates
- name: pvt.egorpugin.primitives.command
version: master
local: primitives.command
- pvt.cppan.demo.boost.property_tree: 1
- pvt.cppan.demo.nlohmann.json: "*"
- name: pvt.egorpugin.primitives.log
version: master
local: primitives.log
- name: pvt.egorpugin.primitives.executor
version: master
local: primitives.executor
- pvt.cppan.demo.boost.dll: 1
- pvt.cppan.demo.boost.stacktrace: 1
post_sources: |
file(GLOB_RECURSE x "${SDIR}/*")
source_group(TREE ${SDIR} PREFIX "Source Files" FILES ${x})
x:
test.unit.path:
copy_to_output_dir: false
api_name: SW_MANAGER_API
files:
- test/unit/path.cpp
- src/sw/manager/package_path.cpp
- src/sw/manager/package_path.h
include_directories:
- src/sw/manager
dependencies:
- support
- pvt.cppan.demo.catchorg.catch2: 2
test.unit.api:
copy_to_output_dir: false
files: test/unit/api.cpp
dependencies:
- driver.cpp
test.unit.sources:
copy_to_output_dir: false
files: test/unit/sources.cpp
dependencies:
- driver.cpp
- pvt.cppan.demo.catchorg.catch2: 2
test.unit.property:
copy_to_output_dir: false
files:
- test/unit/property.cpp
- src/sw/manager/property.cpp
- src/sw/manager/property.h
include_directories:
- src/sw/manager
dependencies:
- support
- pvt.cppan.demo.catchorg.catch2: 2
You can’t perform that action at this time.