local_settings: #storage_dir: .cppan_storage use_shared_libs: false build: generator: Visual Studio 15 2017 configuration: Debug root_project: pvt.cppan.client common_settings: c++: 17 projects: common: type: lib static_only: true files: - src/common/.* - src/printers/.* - src/comments/.* - src/bazel/.* - src/inserts/.* - src/support/.* - src/gen/.* exclude_from_package: - src/bazel/test/test.cpp - src/bazel/.*\.txt - src/comments/.*\.txt exclude_from_build: - src/gen/.* include_directories: public: - src - src/common - src/support dependencies: public: - pvt.cppan.demo.boost.optional: 1 - pvt.cppan.demo.boost.property_tree: 1 - pvt.cppan.demo.sqlite3: 3 - pvt.cppan.demo.boost.stacktrace: 1 - pvt.egorpugin.primitives.string: master - pvt.egorpugin.primitives.filesystem: master - pvt.egorpugin.primitives.context: master - pvt.egorpugin.primitives.date_time: master - pvt.egorpugin.primitives.executor: master - pvt.egorpugin.primitives.hash: master - pvt.egorpugin.primitives.http: master - pvt.egorpugin.primitives.lock: master - pvt.egorpugin.primitives.log: master - pvt.egorpugin.primitives.pack: master - pvt.egorpugin.primitives.patch: master - pvt.egorpugin.primitives.command: master - pvt.egorpugin.primitives.yaml: master - pvt.egorpugin.primitives.win32helpers: master - pvt.cppan.demo.fmt: "*" - pvt.cppan.demo.imageworks.pystring: 1 #win32: - pvt.cppan.demo.giovannidicanio.winreg: master - name: pvt.egorpugin.primitives.tools.embedder version: master ref: embedder options: any: definitions: public: - VERSION_MAJOR=0 - VERSION_MINOR=2 - VERSION_PATCH=5 - BUILD_NUMBER=0 - CPPAN_VERSION_STRING=${CPPAN_VERSION_STRING} win32: public: - UNICODE post_sources: | set(CPPAN_VERSION_STRING ${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}.${PACKAGE_VERSION_PATCH}) add_executable(stamp_generator ${SDIR}/src/gen/stamp_gen.cpp) set_property(TARGET stamp_generator PROPERTY FOLDER gen) set(stamp ${BDIR}/stamp.h.in) # to run every time # do not change to command add_custom_target(gen_stamp COMMAND stamp_generator > ${stamp} ) set_property(TARGET gen_stamp PROPERTY FOLDER gen) set_source_files_properties(${stamp} PROPERTIES GENERATED True) set(src ${src} ${stamp}) embed(${SDIR}/src/inserts/inserts.cpp.in ${SDIR}/src/inserts/cppan.h ${SDIR}/src/inserts/build.cmake ${SDIR}/src/inserts/functions.cmake ${SDIR}/src/inserts/generate.cmake ${SDIR}/src/inserts/exports.cmake ${SDIR}/src/inserts/header.cmake ${SDIR}/src/inserts/version.rc.in ${SDIR}/src/inserts/branch.rc.in ) ######################################## find_package(BISON 3.0) find_package(FLEX) ######################################## # bazel_parser ######################################## execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${BDIR}/src/bazel) if (FLEX_FOUND AND BISON_FOUND AND 0) BISON_TARGET(grammar_b "${SDIR}/src/bazel/grammar.yy" "${BDIR}/src/bazel/grammar.cpp" ) FLEX_TARGET(lexer_b "${SDIR}/src/bazel/lexer.ll" "${BDIR}/src/bazel/lexer.cpp" COMPILE_FLAGS --header-file=${BDIR}/src/bazel/lexer.h ) ADD_FLEX_BISON_DEPENDENCY(lexer_b grammar_b) set(parser_src ${BISON_grammar_b_OUTPUTS} ${FLEX_lexer_b_OUTPUTS} ${BDIR}/src/bazel/lexer.h ) set_source_files_properties(${BDIR}/src/bazel/lexer.h PROPERTIES GENERATED TRUE) endif() set(src ${src} ${parser_src}) ######################################## # extract_comments ######################################## execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${BDIR}/src/comments) if (FLEX_FOUND AND BISON_FOUND AND 0) BISON_TARGET(grammar_c "${SDIR}/src/comments/grammar.yy" "${BDIR}/src/comments/grammar.cpp" ) FLEX_TARGET(lexer_c "${SDIR}/src/comments/lexer.ll" "${BDIR}/src/comments/lexer.cpp" COMPILE_FLAGS --header-file=${BDIR}/src/comments/lexer.h ) ADD_FLEX_BISON_DEPENDENCY(lexer_c grammar_c) set(parser_src ${BISON_grammar_c_OUTPUTS} ${FLEX_lexer_c_OUTPUTS} ${BDIR}/src/comments/lexer.h ) set_source_files_properties(${BDIR}/src/comments/lexer.h PROPERTIES GENERATED TRUE) endif() set(src ${src} ${parser_src}) post_target: | target_include_directories(${this} PRIVATE ${BDIR}/src) target_sources(${this} PUBLIC ${SDIR}/src/common/cppan.natvis) add_dependencies(${this} gen_stamp) cppan: rc_enabled: false files: - src/client/.* exclude_from_package: - src/client/.*\.txt dependencies: - common - pvt.egorpugin.primitives.sw.main: master - pvt.cppan.demo.boost.program_options: 1 - pvt.cppan.demo.yhirose.cpp_linenoise: master