Skip to content

Commit 0cbe825

Browse files
committed
windows-specific fixes
1 parent 04f07fa commit 0cbe825

File tree

3 files changed

+30
-5
lines changed

3 files changed

+30
-5
lines changed

open-codegen/opengen/builder/ros_builder.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import logging
77
import os
88
import shutil
9+
import sys
910

1011
import jinja2
1112

@@ -166,7 +167,10 @@ def _copy_ros_files(self):
166167
os.path.join(self._target_dir(), header_file_name))
167168
shutil.copyfile(original_include_file, target_include_filename)
168169

169-
lib_file_name = 'lib' + self._meta.optimizer_name + '.a'
170+
if sys.platform == "win32":
171+
lib_file_name = self._meta.optimizer_name + '.lib'
172+
else:
173+
lib_file_name = 'lib' + self._meta.optimizer_name + '.a'
170174
target_lib_file_name = os.path.abspath(
171175
os.path.join(target_ros_dir, 'extern_lib', lib_file_name))
172176
original_lib_file = os.path.abspath(

open-codegen/opengen/templates/ros/CMakeLists.txt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,24 @@ include_directories(
2929

3030
set(NODE_NAME {{ros.node_name}})
3131
add_executable(${NODE_NAME} src/open_optimizer.cpp)
32+
if(WIN32)
33+
set(OPEN_STATIC_LIB ${PROJECT_SOURCE_DIR}/extern_lib/{{meta.optimizer_name}}.lib)
34+
else()
35+
set(OPEN_STATIC_LIB ${PROJECT_SOURCE_DIR}/extern_lib/lib{{meta.optimizer_name}}.a)
36+
endif()
3237
target_link_libraries(
3338
${NODE_NAME}
34-
${PROJECT_SOURCE_DIR}/extern_lib/lib{{meta.optimizer_name}}.a)
39+
${OPEN_STATIC_LIB})
40+
if(WIN32)
41+
target_link_libraries(
42+
${NODE_NAME}
43+
${catkin_LIBRARIES})
44+
else()
3545
target_link_libraries(
3646
${NODE_NAME}
3747
m dl
3848
${catkin_LIBRARIES})
49+
endif()
3950
add_dependencies(
4051
${NODE_NAME}
4152
${${PROJECT_NAME}_EXPORTED_TARGETS}

open-codegen/opengen/templates/ros2/CMakeLists.txt

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,22 @@ include_directories(
4242
set(NODE_NAME {{ros.node_name}})
4343
add_executable(${NODE_NAME} src/open_optimizer.cpp)
4444
ament_target_dependencies(${NODE_NAME} rclcpp)
45+
if(WIN32)
46+
set(OPEN_STATIC_LIB ${PROJECT_SOURCE_DIR}/extern_lib/{{meta.optimizer_name}}.lib)
47+
else()
48+
set(OPEN_STATIC_LIB ${PROJECT_SOURCE_DIR}/extern_lib/lib{{meta.optimizer_name}}.a)
49+
endif()
4550
target_link_libraries(
4651
${NODE_NAME}
47-
${PROJECT_SOURCE_DIR}/extern_lib/lib{{meta.optimizer_name}}.a
48-
m
49-
dl
52+
${OPEN_STATIC_LIB}
5053
)
54+
if(NOT WIN32)
55+
target_link_libraries(
56+
${NODE_NAME}
57+
m
58+
dl
59+
)
60+
endif()
5161
rosidl_get_typesupport_target(cpp_typesupport_target ${PROJECT_NAME} "rosidl_typesupport_cpp")
5262
target_link_libraries(${NODE_NAME} "${cpp_typesupport_target}")
5363

0 commit comments

Comments
 (0)