Skip to content

Commit

Permalink
Fix windows build by exporting public static const class variables
Browse files Browse the repository at this point in the history
  • Loading branch information
Levi-Armstrong committed Jul 28, 2024
1 parent 18c0b5e commit c0b35a8
Show file tree
Hide file tree
Showing 22 changed files with 90 additions and 79 deletions.
14 changes: 12 additions & 2 deletions tesseract_task_composer/core/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Need to create export header so static class variables can be exported on windows build
include(GenerateExportHeader)

add_library(
${PROJECT_NAME}
src/task_composer_data_storage.cpp
Expand All @@ -13,6 +16,9 @@ add_library(
src/task_composer_plugin_factory.cpp
src/task_composer_server.cpp
src/task_composer_task.cpp)

generate_export_header(${PROJECT_NAME})

target_link_libraries(
${PROJECT_NAME}
PUBLIC console_bridge::console_bridge
Expand All @@ -35,8 +41,9 @@ target_code_coverage(
ALL
EXCLUDE ${COVERAGE_EXCLUDE}
ENABLE ${TESSERACT_ENABLE_CODE_COVERAGE})
target_include_directories(${PROJECT_NAME} PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
"$<INSTALL_INTERFACE:include>")
target_include_directories(
${PROJECT_NAME} PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
"$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/../>" "$<INSTALL_INTERFACE:include>")

add_library(
${PROJECT_NAME}_nodes
Expand Down Expand Up @@ -97,6 +104,9 @@ install(
PATTERN "*.h"
PATTERN "*.hpp")

install(FILES ${PROJECT_BINARY_DIR}/core/tesseract_task_composer_export.h DESTINATION include/${PROJECT_NAME}/core/
COMPONENT core)

# Plugin should not be export only installed
install(
TARGETS ${PROJECT_NAME}_factories
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class HasDataStorageEntryTask : public TaskComposerTask
{
public:
// Requried
static const std::string INPUT_KEYS_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_KEYS_PORT;

using Ptr = std::shared_ptr<HasDataStorageEntryTask>;
using ConstPtr = std::shared_ptr<const HasDataStorageEntryTask>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
#include <boost/uuid/uuid.hpp>
#include <boost/serialization/access.hpp>
#include <boost/serialization/export.hpp>
#include <tesseract_task_composer/core/tesseract_task_composer_export.h>
TESSERACT_COMMON_IGNORE_WARNINGS_POP

#include <tesseract_common/fwd.h>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,13 @@ class ContinuousContactCheckTask : public TaskComposerTask
{
public:
// Requried
static const std::string INPUT_PROGRAM_PORT;
static const std::string INPUT_ENVIRONMENT_PORT;
static const std::string INPUT_PROFILES_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_ENVIRONMENT_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_PROFILES_PORT;

// Optional
static const std::string INPUT_MANIP_INFO_PORT;
static const std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_MANIP_INFO_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;

using Ptr = std::shared_ptr<ContinuousContactCheckTask>;
using ConstPtr = std::shared_ptr<const ContinuousContactCheckTask>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,13 @@ class DiscreteContactCheckTask : public TaskComposerTask
{
public:
// Requried
static const std::string INPUT_PROGRAM_PORT;
static const std::string INPUT_ENVIRONMENT_PORT;
static const std::string INPUT_PROFILES_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_ENVIRONMENT_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_PROFILES_PORT;

// Optional
static const std::string INPUT_MANIP_INFO_PORT;
static const std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_MANIP_INFO_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;

using Ptr = std::shared_ptr<DiscreteContactCheckTask>;
using ConstPtr = std::shared_ptr<const DiscreteContactCheckTask>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,13 @@ class FixStateBoundsTask : public TaskComposerTask
{
public:
// Requried
static const std::string INOUT_PROGRAM_PORT;
static const std::string INPUT_ENVIRONMENT_PORT;
static const std::string INPUT_PROFILES_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INOUT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_ENVIRONMENT_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_PROFILES_PORT;

// Optional
static const std::string INPUT_MANIP_INFO_PORT;
static const std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_MANIP_INFO_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;

using Ptr = std::shared_ptr<FixStateBoundsTask>;
using ConstPtr = std::shared_ptr<const FixStateBoundsTask>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,13 @@ class FixStateCollisionTask : public TaskComposerTask
{
public:
// Requried
static const std::string INOUT_PROGRAM_PORT;
static const std::string INPUT_ENVIRONMENT_PORT;
static const std::string INPUT_PROFILES_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INOUT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_ENVIRONMENT_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_PROFILES_PORT;

// Optional
static const std::string INPUT_MANIP_INFO_PORT;
static const std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_MANIP_INFO_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;

using Ptr = std::shared_ptr<FixStateCollisionTask>;
using ConstPtr = std::shared_ptr<const FixStateCollisionTask>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@ class FormatAsInputTask : public TaskComposerTask
{
public:
// Requried
static const std::string INPUT_PRE_PLANNING_PROGRAM_PORT;
static const std::string INPUT_POST_PLANNING_PROGRAM_PORT;
static const std::string OUTPUT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_PRE_PLANNING_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_POST_PLANNING_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string OUTPUT_PROGRAM_PORT;

using Ptr = std::shared_ptr<FormatAsInputTask>;
using ConstPtr = std::shared_ptr<const FormatAsInputTask>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class FormatAsResultTask : public TaskComposerTask
{
public:
// Requried
static const std::string INOUT_PROGRAMS_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INOUT_PROGRAMS_PORT;

using Ptr = std::shared_ptr<FormatAsResultTask>;
using ConstPtr = std::shared_ptr<const FormatAsResultTask>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,14 @@ class IterativeSplineParameterizationTask : public TaskComposerTask
{
public:
// Requried
static const std::string INOUT_PROGRAM_PORT;
static const std::string INPUT_ENVIRONMENT_PORT;
static const std::string INPUT_PROFILES_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INOUT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_ENVIRONMENT_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_PROFILES_PORT;

// Optional
static const std::string INPUT_MANIP_INFO_PORT;
static const std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;
static const std::string INPUT_MOVE_PROFILE_REMAPPING_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_MANIP_INFO_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_MOVE_PROFILE_REMAPPING_PORT;

using Ptr = std::shared_ptr<IterativeSplineParameterizationTask>;
using ConstPtr = std::shared_ptr<const IterativeSplineParameterizationTask>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,12 @@ class MinLengthTask : public TaskComposerTask
{
public:
// Requried
static const std::string INOUT_PROGRAM_PORT;
static const std::string INPUT_ENVIRONMENT_PORT;
static const std::string INPUT_PROFILES_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INOUT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_ENVIRONMENT_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_PROFILES_PORT;

// Optional
static const std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;

using Ptr = std::shared_ptr<MinLengthTask>;
using ConstPtr = std::shared_ptr<const MinLengthTask>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,14 +53,14 @@ class MotionPlannerTask : public TaskComposerTask
{
public:
// Requried
static const std::string INOUT_PROGRAM_PORT;
static const std::string INPUT_ENVIRONMENT_PORT;
static const std::string INPUT_PROFILES_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INOUT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_ENVIRONMENT_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_PROFILES_PORT;

// Optional
static const std::string INPUT_MANIP_INFO_PORT;
static const std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;
static const std::string INPUT_MOVE_PROFILE_REMAPPING_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_MANIP_INFO_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_MOVE_PROFILE_REMAPPING_PORT;

MotionPlannerTask() : TaskComposerTask("MotionPlannerTask", MotionPlannerTask<MotionPlannerType>::ports(), true) {}
explicit MotionPlannerTask(std::string name, // NOLINT(performance-unnecessary-value-param)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ class ProcessPlanningInputTask : public TaskComposerTask
{
public:
// Requried
static const std::string INPUT_PLANNING_INPUT_PORT;
static const std::string OUTPUT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_PLANNING_INPUT_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string OUTPUT_PROGRAM_PORT;

using Ptr = std::shared_ptr<ProcessPlanningInputTask>;
using ConstPtr = std::shared_ptr<const ProcessPlanningInputTask>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@ class ProfileSwitchTask : public TaskComposerTask
{
public:
// Requried
static const std::string INPUT_PROGRAM_PORT;
static const std::string INPUT_PROFILES_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_PROFILES_PORT;

// Optional
static const std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;

using Ptr = std::shared_ptr<ProfileSwitchTask>;
using ConstPtr = std::shared_ptr<const ProfileSwitchTask>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,11 @@ class RasterMotionTask : public TaskComposerTask
{
public:
// Requried
static const std::string INOUT_PROGRAM_PORT;
static const std::string INPUT_ENVIRONMENT_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INOUT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_ENVIRONMENT_PORT;

// Optional
static const std::string INPUT_MANIP_INFO_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_MANIP_INFO_PORT;

struct TaskFactoryResults
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,11 @@ class RasterOnlyMotionTask : public TaskComposerTask
{
public:
// Requried
static const std::string INOUT_PROGRAM_PORT;
static const std::string INPUT_ENVIRONMENT_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INOUT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_ENVIRONMENT_PORT;

// Optional
static const std::string INPUT_MANIP_INFO_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_MANIP_INFO_PORT;

struct TaskFactoryResults
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,14 @@ class RuckigTrajectorySmoothingTask : public TaskComposerTask
{
public:
// Requried
static const std::string INOUT_PROGRAM_PORT;
static const std::string INPUT_ENVIRONMENT_PORT;
static const std::string INPUT_PROFILES_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INOUT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_ENVIRONMENT_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_PROFILES_PORT;

// Optional
static const std::string INPUT_MANIP_INFO_PORT;
static const std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;
static const std::string INPUT_MOVE_PROFILE_REMAPPING_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_MANIP_INFO_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_MOVE_PROFILE_REMAPPING_PORT;

using Ptr = std::shared_ptr<RuckigTrajectorySmoothingTask>;
using ConstPtr = std::shared_ptr<const RuckigTrajectorySmoothingTask>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,14 @@ class TimeOptimalParameterizationTask : public TaskComposerTask
{
public:
// Requried
static const std::string INOUT_PROGRAM_PORT;
static const std::string INPUT_ENVIRONMENT_PORT;
static const std::string INPUT_PROFILES_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INOUT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_ENVIRONMENT_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_PROFILES_PORT;

// Optional
static const std::string INPUT_MANIP_INFO_PORT;
static const std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;
static const std::string INPUT_MOVE_PROFILE_REMAPPING_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_MANIP_INFO_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_MOVE_PROFILE_REMAPPING_PORT;

using Ptr = std::shared_ptr<TimeOptimalParameterizationTask>;
using ConstPtr = std::shared_ptr<const TimeOptimalParameterizationTask>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ class UpdateEndStateTask : public TaskComposerTask
{
public:
// Requried
static const std::string INPUT_CURRENT_PROGRAM_PORT;
static const std::string INPUT_NEXT_PROGRAM_PORT;
static const std::string OUTPUT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_CURRENT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_NEXT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string OUTPUT_PROGRAM_PORT;

using Ptr = std::shared_ptr<UpdateEndStateTask>;
using ConstPtr = std::shared_ptr<const UpdateEndStateTask>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ class UpdateStartAndEndStateTask : public TaskComposerTask
{
public:
// Requried
static const std::string INPUT_PREVIOUS_PROGRAM_PORT;
static const std::string INPUT_CURRENT_PROGRAM_PORT;
static const std::string INPUT_NEXT_PROGRAM_PORT;
static const std::string OUTPUT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_PREVIOUS_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_CURRENT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_NEXT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string OUTPUT_PROGRAM_PORT;

using Ptr = std::shared_ptr<UpdateStartAndEndStateTask>;
using ConstPtr = std::shared_ptr<const UpdateStartAndEndStateTask>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ class UpdateStartStateTask : public TaskComposerTask
{
public:
// Requried
static const std::string INPUT_PREVIOUS_PROGRAM_PORT;
static const std::string INPUT_CURRENT_PROGRAM_PORT;
static const std::string OUTPUT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_PREVIOUS_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_CURRENT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string OUTPUT_PROGRAM_PORT;

using Ptr = std::shared_ptr<UpdateStartStateTask>;
using ConstPtr = std::shared_ptr<const UpdateStartStateTask>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,11 @@ class UpsampleTrajectoryTask : public TaskComposerTask
{
public:
// Requried
static const std::string INOUT_PROGRAM_PORT;
static const std::string INPUT_PROFILES_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INOUT_PROGRAM_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_PROFILES_PORT;

// Optional
static const std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;
static const TESSERACT_TASK_COMPOSER_EXPORT std::string INPUT_COMPOSITE_PROFILE_REMAPPING_PORT;

using Ptr = std::shared_ptr<UpsampleTrajectoryTask>;
using ConstPtr = std::shared_ptr<const UpsampleTrajectoryTask>;
Expand Down

0 comments on commit c0b35a8

Please sign in to comment.