Skip to content

Commit

Permalink
Merge pull request fkanehiro#8 from k-okada/compile_python_idl
Browse files Browse the repository at this point in the history
compile idl file for python, this fill fix fkanehiro#5
  • Loading branch information
fkanehiro committed Aug 26, 2014
2 parents 74720b0 + 91bd843 commit 58463c7
Showing 1 changed file with 29 additions and 5 deletions.
34 changes: 29 additions & 5 deletions hrplib/hrpCorba/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,40 +3,54 @@

include(${OPENHRP_IDL_DIR}/OpenHRP/IDL_FILE_BASENAMES.cmake)

set(idl_flags ${VERBOSE_FLAG} -bcxx -Wbuse_quotes -Wbh=.hh -Wbs=Sk.cpp -I${OPENRTM_IDL_DIR})
set(idl_flags_cpp ${VERBOSE_FLAG} -bcxx -Wbuse_quotes -Wbh=.hh -Wbs=Sk.cpp -I${OPENRTM_IDL_DIR})
set(idl_flags_py ${VERBOSE_FLAG} -bpython -Wbuse_quotes -I${OPENRTM_IDL_DIR})

if( NOT ADDITIONAL_SYMBOL STREQUAL "")
set(idl_flags ${idl_flags} -D ${ADDITIONAL_SYMBOL})
set(idl_flags_cpp ${idl_flags_cpp} -D ${ADDITIONAL_SYMBOL})
set(idl_flags_py ${idl_flags_py} -D ${ADDITIONAL_SYMBOL})
endif()


foreach(name ${IDL_FILE_BASENAMES})
set(idl_files ${idl_files} ${OPENHRP_IDL_DIR}/OpenHRP/${name}.idl)
set(idl_cpp_files ${idl_cpp_files} ${CMAKE_CURRENT_BINARY_DIR}/${name}Sk.cpp)
set(idl_h_files ${idl_h_files} ${CMAKE_CURRENT_BINARY_DIR}/${name}.hh)
set(idl_py_files ${idl_py_files} ${CMAKE_CURRENT_BINARY_DIR}/${name}_idl.py)
endforeach()

foreach(idl_basename ${IDL_FILE_BASENAMES})
set(idl_file ${OPENHRP_IDL_DIR}/OpenHRP/${idl_basename}.idl)
if(UNIX)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${idl_basename}.hh ${CMAKE_CURRENT_BINARY_DIR}/${idl_basename}Sk.cpp
COMMAND omniidl ${idl_flags} ${idl_file}
COMMAND omniidl ${idl_flags_cpp} ${idl_file}
DEPENDS ${idl_files}
)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${idl_basename}_idl.py
COMMAND omniidl ${idl_flags_py} ${idl_file}
DEPENDS ${idl_files}
)
elseif(WIN32)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${idl_basename}.hh ${CMAKE_CURRENT_BINARY_DIR}/${idl_basename}Sk.cpp
COMMAND set PATH= "${OMNIORB_DIR}/bin/x86_win32"\;%PATH%
COMMAND omniidl ${idl_flags} ${idl_file}
COMMAND omniidl ${idl_flags_cpp} ${idl_file}
DEPENDS ${idl_files}
)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${idl_basename}_idl.py
COMMAND set PATH= "${OMNIORB_DIR}/bin/x86_win32"\;%PATH%
COMMAND omniidl ${idl_flags_py} ${idl_file}
DEPENDS ${idl_files}
)
endif()
endforeach()

set(target hrpCorbaStubSkel-${OPENHRP_LIBRARY_VERSION})

add_library(${target} STATIC ${idl_cpp_files})
add_library(${target} STATIC ${idl_cpp_files} ${idl_py_files})

if(UNIX)
set_target_properties(${target} PROPERTIES COMPILE_FLAGS -fPIC)
Expand All @@ -63,4 +77,14 @@ install(TARGETS ${target}
set(given_headers ORBwrap.h)

install(FILES ${given_headers} ${idl_h_files} DESTINATION ${RELATIVE_HEADERS_INSTALL_PATH}/hrpCorba)
execute_process(
COMMAND python -c "import sys; print '%s.%s'%(sys.version_info[0:2])"
OUTPUT_VARIABLE python_version
OUTPUT_STRIP_TRAILING_WHITESPACE)


set(idl_py_files ${idl_py_files} ${CMAKE_CURRENT_BINARY_DIR}/OpenHRP/__init__.py)
install(FILES ${idl_py_files} DESTINATION lib/python${python_version}/dist-packages/OpenHRP3)



0 comments on commit 58463c7

Please sign in to comment.