diff --git a/intrinsic_pybind11_vendor/package.xml b/intrinsic_pybind11_vendor/package.xml index be4a88d..033f79f 100644 --- a/intrinsic_pybind11_vendor/package.xml +++ b/intrinsic_pybind11_vendor/package.xml @@ -20,6 +20,7 @@ ament_cmake ament_cmake_vendor_package + python3-dev ament_cmake diff --git a/intrinsic_sdk_cmake/cmake/api/all.cmake b/intrinsic_sdk_cmake/cmake/api/all.cmake index a8119ba..312819a 100644 --- a/intrinsic_sdk_cmake/cmake/api/all.cmake +++ b/intrinsic_sdk_cmake/cmake/api/all.cmake @@ -41,7 +41,7 @@ include("${intrinsic_sdk_cmake_API_DIR}/skill/intrinsic_sdk_generate_skill.cmake include("${intrinsic_sdk_cmake_API_DIR}/skill/intrinsic_sdk_generate_skill_config.cmake") include("${intrinsic_sdk_cmake_API_DIR}/skill/intrinsic_sdk_generate_skill_container_image.cmake") include("${intrinsic_sdk_cmake_API_DIR}/skill/intrinsic_sdk_generate_skill_main_cc.cmake") -include("${intrinsic_sdk_cmake_API_DIR}/skill/intrinsic_sdk_generate_skill_manifest_pbbin.cmake") +include("${intrinsic_sdk_cmake_API_DIR}/skill/intrinsic_sdk_generate_skill_bundle.cmake") # Service APIs include("${intrinsic_sdk_cmake_API_DIR}/service/intrinsic_sdk_generate_service_manifest.cmake") diff --git a/intrinsic_sdk_cmake/cmake/api/skill/intrinsic_sdk_generate_skill_bundle.cmake b/intrinsic_sdk_cmake/cmake/api/skill/intrinsic_sdk_generate_skill_bundle.cmake new file mode 100644 index 0000000..913164e --- /dev/null +++ b/intrinsic_sdk_cmake/cmake/api/skill/intrinsic_sdk_generate_skill_bundle.cmake @@ -0,0 +1,76 @@ +# Copyright 2025 Intrinsic Innovation LLC +# +# You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +# copy, modify, and distribute this Intrinsic SDK in source code or binary form for use +# in connection with the services and APIs provided by Intrinsic Innovation LLC (“Intrinsic”). +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# If you use this Intrinsic SDK with any Intrinsic services, your use is subject to the Intrinsic +# Platform Terms of Service [https://intrinsic.ai/platform-terms]. If you create works that call +# Intrinsic APIs, you must agree to the terms of service for those APIs separately. This license +# does not grant you any special rights to use the services. +# +# This copyright notice shall be included in all copies or substantial portions of the software. + +include_guard(GLOBAL) + +# +# Generate a skill bundle that can be deployed to Flowstate. +# +# :param MANIFEST: the path to the manifest file +# :type MANIFEST: string +# :param PROTOS_TARGET: the cmake target for generating the skill's proto files +# :type PROTOS_TARGET: cmake target +# :param SOURCES: the list of source files for the skill target +# :type SOURCES: list of strings +# +# @public +# +function(intrinsic_sdk_generate_skill_bundle) +set(options) +set(one_value_args + TARGET + MANIFEST + PROTO_DESCRIPTOR_FILE + OCI_IMAGE + SKILL_BUNDLE_OUTPUT +) +set(multi_value_args) + +cmake_parse_arguments( + arg + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN} +) + +set(OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}) + +# Generate the binary proto skill config +add_custom_command( + OUTPUT ${arg_SKILL_BUNDLE_OUTPUT} + COMMAND inbuild_import + ARGS + skill bundle + --manifest=${arg_MANIFEST} + --file_descriptor_set=${arg_PROTO_DESCRIPTOR_FILE} + --oci_image=${arg_OCI_IMAGE} + --output=${arg_SKILL_BUNDLE_OUTPUT} + COMMENT "Generating skill config for ${arg_TARGET}" + DEPENDS + ${arg_PROTO_DESCRIPTOR_FILE} + ${arg_OCI_IMAGE} +) + +add_custom_target(${arg_TARGET} ALL + DEPENDS + ${arg_SKILL_BUNDLE_OUTPUT} +) +endfunction() diff --git a/intrinsic_sdk_cmake/cmake/api/skill/intrinsic_sdk_generate_skill_config.cmake b/intrinsic_sdk_cmake/cmake/api/skill/intrinsic_sdk_generate_skill_config.cmake index e4333db..016da39 100644 --- a/intrinsic_sdk_cmake/cmake/api/skill/intrinsic_sdk_generate_skill_config.cmake +++ b/intrinsic_sdk_cmake/cmake/api/skill/intrinsic_sdk_generate_skill_config.cmake @@ -25,10 +25,8 @@ include_guard(GLOBAL) # # :param TARGET: the name for the target that generates the skill config file # :type TARGET: string -# :param SKILL_NAME: the name of the skill -# :type SKILL_NAME: string -# :param MANIFEST_PBBIN: the path to the manifest file -# :type MANIFEST_PBBIN: string +# :param MANIFEST: the path to the manifest textproto file +# :type MANIFEST: string # :param PROTO_DESCRIPTOR_FILE: the path to the proto descriptor file # :type PROTO_DESCRIPTOR_FILE: string # :param SKILL_CONFIG_FILE_OUTPUT: the output path for the skill config file @@ -40,9 +38,7 @@ function(intrinsic_sdk_generate_skill_config) set(options) set(one_value_args TARGET - # TODO(wjwwood): extract skill name from manifest - SKILL_NAME - MANIFEST_PBBIN + MANIFEST PROTO_DESCRIPTOR_FILE SKILL_CONFIG_FILE_OUTPUT ) @@ -61,16 +57,14 @@ function(intrinsic_sdk_generate_skill_config) # Generate the binary proto skill config add_custom_command( OUTPUT ${arg_SKILL_CONFIG_FILE_OUTPUT} - # TODO(wjwwood): figure out why the alias does not work... - # COMMAND intrinsic_sdk_cmake::skillserviceconfiggen_main - COMMAND skillserviceconfiggen_main_import + COMMAND inbuild_import ARGS - --manifest_pbbin_filename=${arg_MANIFEST_PBBIN} - --proto_descriptor_filename=${arg_PROTO_DESCRIPTOR_FILE} - --output_config_filename=${arg_SKILL_CONFIG_FILE_OUTPUT} - COMMENT "Generating skill config for ${arg_SKILL_NAME}" + skill generate config + --manifest=${arg_MANIFEST} + --file_descriptor_set=${arg_PROTO_DESCRIPTOR_FILE} + --output=${arg_SKILL_CONFIG_FILE_OUTPUT} + COMMENT "Generating skill config for ${arg_TARGET}" DEPENDS - ${arg_MANIFEST_PBBIN} ${arg_PROTO_DESCRIPTOR_FILE} ) diff --git a/intrinsic_sdk_cmake/cmake/api/skill/intrinsic_sdk_generate_skill_main_cc.cmake b/intrinsic_sdk_cmake/cmake/api/skill/intrinsic_sdk_generate_skill_main_cc.cmake index eadf9bb..76e4289 100644 --- a/intrinsic_sdk_cmake/cmake/api/skill/intrinsic_sdk_generate_skill_main_cc.cmake +++ b/intrinsic_sdk_cmake/cmake/api/skill/intrinsic_sdk_generate_skill_main_cc.cmake @@ -26,11 +26,11 @@ include_guard(GLOBAL) # This file needs to be generated because it contains variable things like the # skill name and the name of the skill's header, etc. # -# :param MANIFEST_PBBIN: the path to the pbbin file for the skill manifest. -# This can be generated using intrinsic_sdk_generate_skill_manifest_pbbin(). -# :type MANIFEST_PBBIN: string -# :param HEADER_FILES: the paths to additional header files that need to be included -# :type HEADER_FILES: list of strings +# :param MANIFEST: the path to the skill manifest in textproto format. +# :type MANIFEST: string +# :param HEADER_FILE: the path to the header file containing the +# "create skill" method referenced in the Skill Manifest. +# :type HEADER_FILE: lstring # :param MAIN_FILE_OUTPUT: the path of the output C++ main function file # :type MAIN_FILE_OUTPUT: string # @@ -38,8 +38,8 @@ include_guard(GLOBAL) # function(intrinsic_sdk_generate_skill_main_cc) set(options) - set(one_value_args MANIFEST_PBBIN MAIN_FILE_OUTPUT) - set(multi_value_args HEADER_FILES) + set(one_value_args MANIFEST MAIN_FILE_OUTPUT HEADER_FILE) + set(multi_value_args) cmake_parse_arguments( arg @@ -49,23 +49,15 @@ function(intrinsic_sdk_generate_skill_main_cc) ${ARGN} ) - list(JOIN arg_HEADER_FILES "," joined_header_files) - - # get_property(skill_service_generator_path - # TARGET skill_service_generator_import - # PROPERTY IMPORTED_LOCATION - # ) - # message(FATAL_ERROR "skill_service_generator_path: ${skill_service_generator_path}") add_custom_command( OUTPUT ${arg_MAIN_FILE_OUTPUT} - # TODO(wjwwood): figure out why the alias does not work... - # COMMAND intrinsic_sdk_cmake::skill_service_generator - COMMAND skill_service_generator_import - --manifest=${arg_MANIFEST_PBBIN} - --lang=cpp - --out=${arg_MAIN_FILE_OUTPUT} - --cc_headers=${joined_header_files} - DEPENDS ${arg_MANIFEST_PBBIN} + COMMAND inbuild_import + skill generate entrypoint + --manifest=${arg_MANIFEST} + --language=cpp + --output=${arg_MAIN_FILE_OUTPUT} + --cc_header=${arg_HEADER_FILE} + DEPENDS ${arg_MANIFEST} COMMENT "Generating skill cpp main file: ${arg_MAIN_FILE_OUTPUT}" ) endfunction() diff --git a/intrinsic_sdk_cmake/cmake/api/skill/intrinsic_sdk_generate_skill_manifest_pbbin.cmake b/intrinsic_sdk_cmake/cmake/api/skill/intrinsic_sdk_generate_skill_manifest_pbbin.cmake deleted file mode 100644 index 26ed665..0000000 --- a/intrinsic_sdk_cmake/cmake/api/skill/intrinsic_sdk_generate_skill_manifest_pbbin.cmake +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 2025 Intrinsic Innovation LLC -# -# You are hereby granted a non-exclusive, worldwide, royalty-free license to use, -# copy, modify, and distribute this Intrinsic SDK in source code or binary form for use -# in connection with the services and APIs provided by Intrinsic Innovation LLC (“Intrinsic”). -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# If you use this Intrinsic SDK with any Intrinsic services, your use is subject to the Intrinsic -# Platform Terms of Service [https://intrinsic.ai/platform-terms]. If you create works that call -# Intrinsic APIs, you must agree to the terms of service for those APIs separately. This license -# does not grant you any special rights to use the services. -# -# This copyright notice shall be included in all copies or substantial portions of the software. - -include_guard(GLOBAL) - -# -# Generate a protobuf bin file (pbbin) from the skill manifest textproto file. -# -# Other commands require the skill manifest in the pbbin format. -# -# :param TARGET: the name for the target that generates the pbbin file -# :type TARGET: string -# :param MANIFEST_TEXTPROTO: the path to the manifest textproto file -# :type MANIFEST_TEXTPROTO: string -# :param MANIFEST_PBBIN_OUTPUT: the output path for the new pbbin manifest file -# :type MANIFEST_PBBIN_OUTPUT: string -# -# @public -# -function(intrinsic_sdk_generate_skill_manifest_pbbin) - set(options) - set(one_value_args TARGET MANIFEST_TEXTPROTO MANIFEST_PBBIN_OUTPUT) - set(multi_value_args) - - cmake_parse_arguments( - arg - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN}) - - add_custom_command( - OUTPUT ${arg_MANIFEST_PBBIN_OUTPUT} - COMMAND protobuf::protoc - --encode=intrinsic_proto.skills.SkillManifest - --descriptor_set_in=${intrinsic_sdk_cmake_DESCRIPTOR_SET_FILE} - < ${CMAKE_CURRENT_SOURCE_DIR}/${arg_MANIFEST_TEXTPROTO} - > ${arg_MANIFEST_PBBIN_OUTPUT} - DEPENDS ${arg_MANIFEST_TEXTPROTO} - COMMENT "Generating skill manifest pbbin file: ${arg_MANIFEST_PBBIN_OUTPUT}" - VERBATIM - ) - - add_custom_target(${arg_TARGET} - DEPENDS - ${arg_MANIFEST_PBBIN_OUTPUT} - ) - - if(TARGET intrinsic_proto_desc) - add_dependencies(${arg_TARGET} intrinsic_proto_desc) - endif() -endfunction() diff --git a/intrinsic_sdk_cmake/cmake/fetch_sdk.cmake b/intrinsic_sdk_cmake/cmake/fetch_sdk.cmake index d522835..8fc75cb 100644 --- a/intrinsic_sdk_cmake/cmake/fetch_sdk.cmake +++ b/intrinsic_sdk_cmake/cmake/fetch_sdk.cmake @@ -4,8 +4,8 @@ include(FetchContent) # Fetch the intrinsic sdk source code during configure stage. FetchContent_Declare( intrinsic_sdk - URL https://github.com/intrinsic-ai/sdk/archive/refs/tags/v1.16.20250210.tar.gz - URL_HASH SHA256=be55bdb2c761b7d55476c2ee843c4e444e0953f03aafce2481797eec98e19ac0 + URL https://github.com/intrinsic-ai/sdk/archive/refs/tags/v1.16.20250303.tar.gz + URL_HASH SHA256=2181ae09684bc35e47b251e21d969a4e0f3cbf72818470caaa416e2834748d32 DOWNLOAD_EXTRACT_TIMESTAMP FALSE ) FetchContent_GetProperties(intrinsic_sdk) diff --git a/intrinsic_sdk_cmake/cmake/sdk.cmake b/intrinsic_sdk_cmake/cmake/sdk.cmake index 4d42f61..5af8204 100644 --- a/intrinsic_sdk_cmake/cmake/sdk.cmake +++ b/intrinsic_sdk_cmake/cmake/sdk.cmake @@ -43,6 +43,7 @@ list(FILTER intrinsic_SRCS EXCLUDE REGEX "_main\\.cc$") list(FILTER intrinsic_SRCS EXCLUDE REGEX "_tmpl\\.cc$") list(FILTER intrinsic_SRCS EXCLUDE REGEX "/examples/") list(FILTER intrinsic_SRCS EXCLUDE REGEX "/skills/testing/") +list(FILTER intrinsic_SRCS EXCLUDE REGEX "/intrinsic/icon/control/c_api/external_action_api/.*\.cc") list(FILTER intrinsic_SRCS EXCLUDE REGEX "/intrinsic/icon/release/hello_world.cc") list(FILTER intrinsic_SRCS EXCLUDE REGEX "/intrinsic/icon/release/reset_simulation.cc") list(FILTER intrinsic_SRCS EXCLUDE REGEX "/intrinsic/icon/tools") diff --git a/intrinsic_sdk_cmake/cmake/sdk_tools.cmake b/intrinsic_sdk_cmake/cmake/sdk_tools.cmake index 450dc71..a454542 100644 --- a/intrinsic_sdk_cmake/cmake/sdk_tools.cmake +++ b/intrinsic_sdk_cmake/cmake/sdk_tools.cmake @@ -1,14 +1,8 @@ -# TODO(wjwwood): a few dirty hacks here to get tools we need out of the sdk. -# This wouldn't be necessary with inbuild, so replace with that when possible. -# This also only works because these are static binaries with no dependencies. -# Also, it does not capture stderr from the bazel build, which is noisy. -# Also, probably other significant issues I'm overlooking, but this works for now. - -# Build the static binary for generating service bundles. +# Build inbuild from the SDK set(sdk_bins_DIR "${CMAKE_CURRENT_BINARY_DIR}/sdk_bins") file(MAKE_DIRECTORY "${sdk_bins_DIR}") add_custom_command( - OUTPUT "${sdk_bins_DIR}/skillbundlegen" + OUTPUT "${sdk_bins_DIR}/inbuild" WORKING_DIRECTORY "${intrinsic_sdk_SOURCE_DIR}/intrinsic" COMMAND ${bazelisk_vendor_EXECUTABLE} @@ -17,93 +11,25 @@ add_custom_command( run --experimental_convenience_symlinks=ignore --run_under=cp - //intrinsic/skills/build_defs:skillbundlegen - "${sdk_bins_DIR}/skillbundlegen" + //intrinsic/tools/inbuild + "${sdk_bins_DIR}/inbuild" VERBATIM ) -add_custom_target(skillbundlegen +add_custom_target(inbuild ALL DEPENDS - "${sdk_bins_DIR}/skillbundlegen" + "${sdk_bins_DIR}/inbuild" ) install( PROGRAMS - "${sdk_bins_DIR}/skillbundlegen" + "${sdk_bins_DIR}/inbuild" DESTINATION bin ) # Create an imported executable and namespace it to imitate find_package() -add_executable(skillbundlegen_import IMPORTED) -set_target_properties(skillbundlegen_import +add_executable(inbuild_import IMPORTED) +set_target_properties(inbuild_import PROPERTIES - IMPORTED_LOCATION "${sdk_bins_DIR}/skillbundlegen" + IMPORTED_LOCATION "${sdk_bins_DIR}/inbuild" ) -add_dependencies(skillbundlegen_import skillbundlegen) -add_executable(${PROJECT_NAME}::skillbundlegen ALIAS skillbundlegen_import) - -# Build the static binary for generating service configs. -add_custom_command( - OUTPUT "${sdk_bins_DIR}/skillserviceconfiggen_main" - WORKING_DIRECTORY "${intrinsic_sdk_SOURCE_DIR}/intrinsic" - COMMAND - ${bazelisk_vendor_EXECUTABLE} - --nohome_rc - --quiet - run - --experimental_convenience_symlinks=ignore - --run_under=cp - //intrinsic/skills/build_defs:skillserviceconfiggen_main - "${sdk_bins_DIR}/skillserviceconfiggen_main" - VERBATIM -) -add_custom_target(skillserviceconfiggen_main - ALL - DEPENDS - "${sdk_bins_DIR}/skillserviceconfiggen_main" -) -install( - PROGRAMS - "${sdk_bins_DIR}/skillserviceconfiggen_main" - DESTINATION bin -) -# Create an imported executable and namespace it to imitate find_package() -add_executable(skillserviceconfiggen_main_import IMPORTED) -set_target_properties(skillserviceconfiggen_main_import - PROPERTIES - IMPORTED_LOCATION "${sdk_bins_DIR}/skillserviceconfiggen_main" -) -add_dependencies(skillserviceconfiggen_main_import skillserviceconfiggen_main) -add_executable(${PROJECT_NAME}::skillserviceconfiggen_main ALIAS skillserviceconfiggen_main_import) - -# Build the static binary for generating service main files. -add_custom_command( - OUTPUT "${sdk_bins_DIR}/skill_service_generator" - WORKING_DIRECTORY "${intrinsic_sdk_SOURCE_DIR}/intrinsic" - COMMAND - ${bazelisk_vendor_EXECUTABLE} - --nohome_rc - --quiet - run - --experimental_convenience_symlinks=ignore - --run_under=cp - //intrinsic/skills/generator:skill_service_generator - "${sdk_bins_DIR}/skill_service_generator" - VERBATIM -) -add_custom_target(skill_service_generator - ALL - DEPENDS - "${sdk_bins_DIR}/skill_service_generator" -) -install( - PROGRAMS - "${sdk_bins_DIR}/skill_service_generator" - DESTINATION bin -) -# Create an imported executable and namespace it to imitate find_package() -add_executable(skill_service_generator_import IMPORTED) -set_target_properties(skill_service_generator_import - PROPERTIES - IMPORTED_LOCATION "${sdk_bins_DIR}/skill_service_generator" -) -add_dependencies(skill_service_generator_import skill_service_generator) -add_executable(${PROJECT_NAME}::skill_service_generator ALIAS skill_service_generator_import) +add_dependencies(inbuild_import inbuild) +add_executable(${PROJECT_NAME}::inbuild ALIAS inbuild_import) \ No newline at end of file diff --git a/intrinsic_sdk_cmake/intrinsic_sdk_cmakeConfig.cmake.in b/intrinsic_sdk_cmake/intrinsic_sdk_cmakeConfig.cmake.in index 40ea829..809b290 100644 --- a/intrinsic_sdk_cmake/intrinsic_sdk_cmakeConfig.cmake.in +++ b/intrinsic_sdk_cmake/intrinsic_sdk_cmakeConfig.cmake.in @@ -8,32 +8,14 @@ set(intrinsic_sdk_cmake_DESCRIPTOR_SET_FILE "${_prefix}/share/intrinsic_sdk_cmake/intrinsic_proto.desc" ) -# Import skillbundlegen binary -add_executable(skillbundlegen_import IMPORTED) -set_target_properties(skillbundlegen_import +# Import inbuild binary +add_executable(inbuild_import IMPORTED) +set_target_properties(inbuild_import PROPERTIES - IMPORTED_LOCATION "${_prefix}/bin/skillbundlegen" + IMPORTED_LOCATION "${_prefix}/bin/inbuild" ) -add_executable(${PROJECT_NAME}::skillbundlegen ALIAS skillbundlegen_import) -set_property(TARGET skillbundlegen_import PROPERTY ALIAS_GLOBAL TRUE) - -# Import skillserviceconfiggen_main binary -add_executable(skillserviceconfiggen_main_import IMPORTED) -set_target_properties(skillserviceconfiggen_main_import - PROPERTIES - IMPORTED_LOCATION "${_prefix}/bin/skillserviceconfiggen_main" -) -add_executable(${PROJECT_NAME}::skillserviceconfiggen_main ALIAS skillserviceconfiggen_main_import) -set_property(TARGET skillserviceconfiggen_main_import PROPERTY ALIAS_GLOBAL TRUE) - -# Import skill_service_generator binary -add_executable(skill_service_generator_import IMPORTED) -set_target_properties(skill_service_generator_import - PROPERTIES - IMPORTED_LOCATION "${_prefix}/bin/skill_service_generator" -) -add_executable(${PROJECT_NAME}::skill_service_generator ALIAS skill_service_generator_import) -set_property(TARGET skill_service_generator_import PROPERTY ALIAS_GLOBAL TRUE) +add_executable(${PROJECT_NAME}::inbuild ALIAS inbuild_import) +set_property(TARGET inbuild_import PROPERTY ALIAS_GLOBAL TRUE) include("${_prefix}/share/intrinsic_sdk_cmake/cmake/api/all.cmake") diff --git a/intrinsic_sdk_cmake/test/test_cpp_skill/CMakeLists.txt b/intrinsic_sdk_cmake/test/test_cpp_skill/CMakeLists.txt index 19f4731..2950c8c 100644 --- a/intrinsic_sdk_cmake/test/test_cpp_skill/CMakeLists.txt +++ b/intrinsic_sdk_cmake/test/test_cpp_skill/CMakeLists.txt @@ -6,18 +6,10 @@ intrinsic_sdk_protobuf_generate( DESCRIPTOR_SET_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/test_cpp_skill.desc" ) -# Generate the protobufbin (pbbin) file for the skill manifest. -intrinsic_sdk_generate_skill_manifest_pbbin( - TARGET test_cpp_skill_manifest - MANIFEST_TEXTPROTO test_cpp_skill.manifest.textproto - MANIFEST_PBBIN_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/test_cpp_skill.manifest.pbbin" -) - # Generate the skill config file. intrinsic_sdk_generate_skill_config( TARGET test_cpp_skill_skill_config - SKILL_NAME test_cpp_skill - MANIFEST_PBBIN "${CMAKE_CURRENT_BINARY_DIR}/test_cpp_skill.manifest.pbbin" + MANIFEST "${CMAKE_CURRENT_SOURCE_DIR}/test_cpp_skill.manifest.textproto" PROTO_DESCRIPTOR_FILE "${CMAKE_CURRENT_BINARY_DIR}/test_cpp_skill.desc" SKILL_CONFIG_FILE_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/test_cpp_skill_config.pbbin" ) @@ -28,8 +20,8 @@ install( # Generate the c++ main file for the skill. intrinsic_sdk_generate_skill_main_cc( - MANIFEST_PBBIN "${CMAKE_CURRENT_BINARY_DIR}/test_cpp_skill.manifest.pbbin" - HEADER_FILES test_cpp_skill.h + MANIFEST "${CMAKE_CURRENT_SOURCE_DIR}/test_cpp_skill.manifest.textproto" + HEADER_FILE test_cpp_skill.h MAIN_FILE_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/test_cpp_skill_main.cc" ) @@ -70,7 +62,13 @@ intrinsic_sdk_generate_skill_container_image( # DOCKERFILE my_custom_skill.Dockerfile ) -# # Create the skill bundle. -# intrisic_sdk_generate_skill_bundle( +# Create the skill bundle. +intrinsic_sdk_generate_skill_bundle( + TARGET test_cpp_skill_bundle + MANIFEST "${CMAKE_CURRENT_SOURCE_DIR}/test_cpp_skill.manifest.textproto" + PROTO_DESCRIPTOR_FILE "${CMAKE_CURRENT_BINARY_DIR}/test_cpp_skill.desc" + OCI_IMAGE "${CMAKE_CURRENT_BINARY_DIR}/test_cpp_skill_container_image.tar" + SKILL_BUNDLE_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/test_cpp_skill.bundle.tar" +) -# ) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/test_cpp_skill.bundle.tar" DESTINATION share/${PROJECT_NAME}) \ No newline at end of file