Skip to content

[DO NOT MERGE] back to catkin #242

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# http://ros.org/doc/groovy/api/catkin/html/user_guide/supposed.html
cmake_minimum_required(VERSION 2.8.3)
project(euslisp)

# check arch and os
execute_process(COMMAND bash -c "gcc -dumpmachine" OUTPUT_VARIABLE gcc_dump_machine OUTPUT_STRIP_TRAILING_WHITESPACE)
message("-- gcc dumpmachine returns ${gcc_dump_machine}")
if(gcc_dump_machine MATCHES "x86_64-linux-.*" OR gcc_dump_machine MATCHES "x86_64-redhat-linux")
set(ARCHDIR "Linux64")
set(MAKEFILE "Makefile.Linux64")
elseif(gcc_dump_machine MATCHES "i686-linux-.*" OR gcc_dump_machine MATCHES "i686-redhat-linux")
set(ARCHDIR "Linux")
set(MAKEFILE "Makefile.Linux.thread")
elseif(gcc_dump_machine MATCHES "arm.*-.*")
set(ARCHDIR "LinuxARM")
set(MAKEFILE "Makefile.LinuxARM")
elseif(gcc_dump_machine MATCHES "aarch64.*-.*")
set(ARCHDIR "LinuxARM")
set(MAKEFILE "Makefile.LinuxARM")
elseif(gcc_dump_machine MATCHES "cygwin.*-.*")
set(ARCHDIR "Cygwin")
set(MAKEFILE "Makefile.Cygwin")
elseif(gcc_dump_machine MATCHES ".*darwin.*")
set(ARCHDIR "Darwin")
set(MAKEFILE "Makefile.Darwin")
else()
message(FATAL_ERROR "-- -- This machine is not supported")
endif()
message(STATUS "ARCHDIR : ${ARCHDIR}")
message(STATUS "MAKEFILE : ${MAKEFILE}")

# build euslisp
add_custom_command(OUTPUT ${PROJECT_SOURCE_DIR}/lisp/Makefile
COMMAND cmake -E create_symlink ${MAKEFILE} Makefile
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/lisp/)
add_custom_target(compile_euslisp
DEPENDS ${PROJECT_SOURCE_DIR}/lisp/Makefile
COMMAND export EUSDIR=${PROJECT_SOURCE_DIR} lt_cv_sys_lib_dlsearch_path_spec=${lt_cv_sys_lib_dlsearch_path_spec} LD_LIBRARY_PATH=${PROJECT_SOURCE_DIR}/${ARCHDIR}/lib:\$LD_LIBRARY_PATH && \$\(MAKE\) -C ${PROJECT_SOURCE_DIR}/lisp -f Makefile EUSRPATH=)
add_custom_target(clean_euslisp
DEPENDS compile_euslisp
COMMAND sh tool/clean-ch.sh
COMMAND rm -f l/constants.l.[co] l/eusstart.l.[co] comp/builtins.l.[co] c/makedate.c
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/lisp)
add_custom_target(doc_euslisp
DEPENDS compile_euslisp
COMMAND make -C latex manual clean
COMMAND make -C jlatex all clean
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/doc)
add_custom_target(build_euslisp ALL
DEPENDS compile_euslisp doc_euslisp
clean_euslisp)

# catkin
find_package(catkin)
set(ENV{ARCHDIR} ${ARCHDIR}) ## for add_env_hook
catkin_package(CFG_EXTRAS euslisp-extras.cmake)
catkin_add_env_hooks(99.euslisp SHELLS sh DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/env-hooks)

# install
install(DIRECTORY contrib lib lisp models ${ARCHDIR}
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
USE_SOURCE_PERMISSIONS)
install(CODE "message(STATUS \"execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink lisp/c include WORKING_DIRECTORY \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${CATKIN_PACKAGE_SHARE_DESTINATION})\")")
install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink lisp/c include WORKING_DIRECTORY \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${CATKIN_PACKAGE_SHARE_DESTINATION})")
install(CODE "execute_process(COMMAND make html WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/doc/latex)")
install(CODE "execute_process(COMMAND make html WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/doc/jlatex)")
install(DIRECTORY doc
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
USE_SOURCE_PERMISSIONS
FILES_MATCHING PATTERN "doc/*/*.{pdf,hlp}"
PATTERN "doc/html/*"
PATTERN "doc/algorithm" EXCLUDE
PATTERN "licence-old" EXCLUDE
PATTERN "doc/mails" EXCLUDE
PATTERN "doc/hirukawa" EXCLUDE
PATTERN "doc/help.cltl" EXCLUDE
PATTERN "doc/help.eus" EXCLUDE
PATTERN "doc/publications" EXCLUDE
PATTERN "doc/latex/fig" EXCLUDE
PATTERN "doc/jlatex/fig" EXCLUDE
)
12 changes: 12 additions & 0 deletions cmake/euslisp-extras.cmake.em
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# euslisp.cmake
@[if DEVELSPACE]@
set(EUSDIR @(PROJECT_SOURCE_DIR))
@[else]@
set(EUSDIR @(CMAKE_INSTALL_PREFIX)/@(CATKIN_PACKAGE_SHARE_DESTINATION))
@[end if]@
set(ARCHDIR @{import os; print(os.environ['ARCHDIR']),})
set(euslisp_INCLUDE_DIRS ${EUSDIR}/include)
message(STATUS "set EUSDIR to ${EUSDIR}")
message(STATUS "set ARCHDIR to ${ARCHDIR}")
message(STATUS "set euslisp_INCLUDE_DIRS to ${euslisp_INCLUDE_DIRS}")

11 changes: 6 additions & 5 deletions doc/jlatex/Makefile
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
all:
make toc dvi pdf
make jmanual.toc jmanual.dvi jmanual.pdf


toc:
jmanual.toc: jmanual.tex
makeindex jmanual.tex

dvi:

jmanual.dvi: $(wildcard *.tex)
platex --version | grep utf8 || nkf --in-place -e *.tex
platex jmanual.tex
platex jmanual.tex
platex --version | grep utf8 || nkf --in-place -u *.tex

pdf:
jmanual.pdf: jmanual.dvi
dvipdfmx jmanual.dvi


Expand All @@ -24,7 +25,7 @@ distclean: clean
html:
rm -f ../html/jmanual*.
TRANSPARENT_COLOR="#ffffff" charset="UTF-8" latex2html -dir ../html/ -transparent -local_icons -split +3 -auto_prefix -init_file ../latex/.latex2html-init -iso_language JP jmanual
(cd ../html; sed -i 's@"jmanual.css"@"manual.css"@' j*.html)
(cd ../html; sed -i 's@"jmanual.css">@"manual.css"><meta charset="utf-8">@' j*.html)



6 changes: 5 additions & 1 deletion doc/latex/Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
manual: arith.tex contact.tex controls.tex evaluation.tex generals.tex \
manual: manual.pdf
manual.pdf: arith.tex contact.tex controls.tex evaluation.tex generals.tex \
geometry.tex graphics.tex image.tex intro.tex \
io.tex manipulator.tex manual.tex \
mars-pre.tex matrix.tex methods.tex mthread.tex objects.tex \
Expand All @@ -10,6 +11,9 @@ manual2:
latex manual ; dvips -o manual.ps manual.pdf
# latex manual ; dvi2ps manual.dvi >manual.ps

clean:
rm -f *~ *.aux *.log *.toc *.out *.ind *.ilg manual.idx

html:
rm -f ../html/manual*.{old,html,png,pl} ../html/manual-images.*
TRANSPARENT_COLOR="#ffffff" latex2html -dir ../html/ -transparent -local_icons -split +3 -auto_prefix -iso_language JP manual
Expand Down
9 changes: 9 additions & 0 deletions env-hooks/99.euslisp.sh.em
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
export ARCHDIR="@{import os; print(os.environ['ARCHDIR']),}"
@[if DEVELSPACE]@
export EUSDIR="@(PROJECT_SOURCE_DIR)"
@[else]@
export EUSDIR="@(CMAKE_INSTALL_PREFIX)/@(CATKIN_PACKAGE_SHARE_DESTINATION)"
@[end if]@
export LD_LIBRARY_PATH=$EUSDIR/$ARCHDIR/lib:$LD_LIBRARY_PATH
export PATH=$EUSDIR/$ARCHDIR/bin:$PATH

41 changes: 41 additions & 0 deletions package.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<package>
<name>euslisp</name>
<version>9.23.0</version>
<description>EusLisp is an integrated programming system for the
research on intelligent robots based on Common Lisp and
Object-Oriented programming</description>
<maintainer email="[email protected]">Kei Okada</maintainer>

<license>BSD</license>

<url type="website">http://euslisp.github.io/EusLisp/manual.html</url>
<url type="bugtracker">https://github.com/euslisp/EusLisp/issues</url>

<author>Toshihiro Matsui</author>

<buildtool_depend>catkin</buildtool_depend>

<build_depend>opengl</build_depend>
<build_depend>libjpeg</build_depend>
<build_depend>libx11-dev</build_depend>
<build_depend>libxext</build_depend>
<build_depend>libpng12-dev</build_depend>
<build_depend>libpq-dev</build_depend>
<build_depend>cmake_modules</build_depend>
<build_depend>mk</build_depend>
<build_depend>xfonts-100dpi</build_depend>
<build_depend>xfonts-75dpi</build_depend>

<run_depend>opengl</run_depend>
<run_depend>libjpeg</run_depend>
<run_depend>libx11-dev</run_depend>
<run_depend>libxext</run_depend>
<run_depend>libpng12-dev</run_depend>
<run_depend>libpq-dev</run_depend>
<run_depend>xfonts-100dpi</run_depend>
<run_depend>xfonts-75dpi</run_depend>

<export>
<cpp cflags="-I${prefix}/eus/include"/>
</export>
</package>