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