Example project for https://github.com/blockspacer/flextool
Uses conanfile and CMakeLists.txt to integrate with flextool
See flex_meta_demo/src/main.cc
for usage example.
-
Build all required plugins:
flex_meta_plugin
is plugin example that can be found at https://github.com/blockspacer/flex_meta_plugin
flex_reflect_plugin
is plugin example that can be found at https://github.com/blockspacer/flex_reflect_plugin
flex_support_headers
is header-only library that can simplify usage of Cling C++ interpreter
with flextool. flex_support_headers
can be found at https://github.com/blockspacer/flex_support_headers
Make sure you installed flex_reflect_plugin
, flex_meta_plugin
and flex_support_headers
using conan
. You can find installation instructions in README.md
at https://github.com/blockspacer/flex_meta_plugin, https://github.com/blockspacer/flex_support_headers and https://github.com/blockspacer/flex_support_headers
Note that plugins can depend on each other, so order of conan create
may be important (or you will get build errors).
If you built flextool using conan create
, than flextool
must be in output of command conan search flextool
. Same must apply for plugins, example: conan search flex_meta_plugin
export VERBOSE=1
export CONAN_REVISIONS_ENABLED=1
export CONAN_VERBOSE_TRACEBACK=1
export CONAN_PRINT_RUN_COMMANDS=1
export CONAN_LOGGING_LEVEL=10
export GIT_SSL_NO_VERIFY=true
export CXX=clang++-10
export CC=clang-10
# NOTE: change `build_type=Debug` to `build_type=Release` in production
# NOTE: use --build=missing if you got error `ERROR: Missing prebuilt package`
cmake -E time \
conan create . conan/stable \
-s build_type=Debug -s cling_conan:build_type=Release \
--profile clang \
-o flex_meta_demo:enable_clang_from_conan=False \
-e flex_meta_demo:enable_tests=True
# clean build cache
conan remove "*" --build --force