diff --git a/.orchestra/config/components/nanobind.yml b/.orchestra/config/components/nanobind.yml new file mode 100644 index 00000000..93e1e914 --- /dev/null +++ b/.orchestra/config/components/nanobind.yml @@ -0,0 +1,27 @@ +#@ load("@ytt:data", "data") +#@ load("@ytt:overlay", "overlay") +#@ load("/lib/cmake.lib.yml", "typical_cmake_builds") + +--- +#@ def build_args(): +pre_configure_script: | + # TODO: this should really be handled by orchestra in CloneAction + git -C "$SOURCE_DIR" submodule update --init --recursive +configure_dir: '"$SOURCE_DIR/standalone"' +extra_cmake_args: +- -DBUILD_SHARED_LIBS=ON +build_dependencies: +- host-cxx-toolchain +dependencies: +- host-libcxx +#@ end + +#@overlay/match by=overlay.all, expects=1 +#@overlay/match-child-defaults missing_ok=True +--- +components: + nanobind: + license: LICENSE + repository: nanobind + builds: + default: #@ typical_cmake_builds(**build_args())["optimized"] diff --git a/.orchestra/config/components/revng.yml b/.orchestra/config/components/revng.yml index 0e9721eb..5efdd42e 100644 --- a/.orchestra/config/components/revng.yml +++ b/.orchestra/config/components/revng.yml @@ -34,6 +34,7 @@ dependencies: - libarchive - flamegraph - zstd + - nanobind use_asan: false post_install_script: | if [ "$RUN_TESTS" -eq 1 ]; then diff --git a/.orchestra/config/lib/cmake.lib.yml b/.orchestra/config/lib/cmake.lib.yml index e75c4a17..7ce4ae66 100644 --- a/.orchestra/config/lib/cmake.lib.yml +++ b/.orchestra/config/lib/cmake.lib.yml @@ -65,6 +65,7 @@ #@ pre_install_script="", #@ post_install_script="", #@ test=False, +#@ configure_dir="", #@ ): #@ for flavor, opts in typical_cmake_flavors(use_asan=use_asan).items(): @@ -85,7 +86,11 @@ cd "$BUILD_DIR"; (@= cmake @) \ + (@- if configure_dir: @) + (@= configure_dir @) \ + (@- else: @) "$SOURCE_DIR" \ + (@- end @) -G"(@= build_system @)" \ (@= expand_args(cmdline_cmake_base_configuration(cmake_build_type=opts["cmake_build_type"], extra_compiler_flags=flavor_extra_compiler_flags)) @) (@- if extra_cmake_args: @) \