From 62769a04ebde84a402cd241dfecdde5cdb2c0192 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Thu, 20 Apr 2017 17:39:23 +0900 Subject: [PATCH 01/10] copy ros related files --- CMakeLists.txt | 90 +++++++++++++++++++++++++++++++++++ cmake/euslisp-extras.cmake.in | 7 +++ env-hooks/99.euslisp.sh.in | 5 ++ package.xml | 42 ++++++++++++++++ 4 files changed, 144 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 cmake/euslisp-extras.cmake.in create mode 100644 env-hooks/99.euslisp.sh.in create mode 100644 package.xml diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 000000000..089147884 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,90 @@ +# http://ros.org/doc/groovy/api/catkin/html/user_guide/supposed.html +cmake_minimum_required(VERSION 2.8.3) +project(euslisp) + +find_package(catkin) + +# 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() + +# 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 ALL + 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(install_euslisp + 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 && ${CMAKE_COMMAND} -E make_directory \${DESTDIR}${CMAKE_INSTALL_PREFIX}/bin && \$\(MAKE\) -C ${PROJECT_SOURCE_DIR}/lisp -f Makefile install PUBBINDIR=\${DESTDIR}${CMAKE_INSTALL_PREFIX}/bin) + +install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install_euslisp)") +install(DIRECTORY contrib lib lisp models ${ARCHDIR} + DESTINATION share/euslisp/jskeus/eus/ + USE_SOURCE_PERMISSIONS) +install(DIRECTORY doc + DESTINATION share/euslisp/jskeus/eus/ + USE_SOURCE_PERMISSIONS + PATTERN "doc/html" EXCLUDE + PATTERN "doc/mails" EXCLUDE + PATTERN "doc/hirukawa" EXCLUDE + PATTERN "doc/help.cltl" EXCLUDE + PATTERN "doc/publications" EXCLUDE + PATTERN "doc/latex/fig" EXCLUDE + PATTERN "doc/jlatex/fig" EXCLUDE + ) +install(FILES package.xml DESTINATION share/euslisp/) +install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink lisp/c include WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/euslisp/jskeus/eus/)") + +catkin_package(CFG_EXTRAS euslisp-extras.cmake) +catkin_add_env_hooks(99.euslisp SHELLS sh DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/env-hooks) + +string(REGEX MATCH "catkin" need_catkin "$ENV{_}") +get_filename_component(install_dir_name ${CMAKE_INSTALL_PREFIX} NAME) +if(need_catkin AND NOT install_dir_name MATCHES "install") # check if install_prefix end with /install, we can remove this section of we remove all rosrun euslisp ... usage + install(CODE " +## this is tricky force write catkin marker file +set(_catkin_marker_file \"\${CMAKE_INSTALL_PREFIX}/.catkin\") +# check if the develspace marker file exists yet +if(EXISTS \${_catkin_marker_file}) + file(READ \${_catkin_marker_file} _existing_sourcespaces) + if(_existing_sourcespaces STREQUAL \"\") + # write this sourcespace to the marker file + file(WRITE \${_catkin_marker_file} \"${CMAKE_INSTALL_PREFIX}/${CATKIN_PACKAGE_SHARE_DESTINATION}\") + else() + # append to existing list of sourcespaces if it's not in the list + list(FIND _existing_sourcespaces \"${CMAKE_INSTALL_PREFIX}/${CATKIN_PACKAGE_SHARE_DESTINATION}\" _existing_sourcespace_index) + if(_existing_sourcespace_index EQUAL -1) + file(APPEND \${_catkin_marker_file} \";${CMAKE_INSTALL_PREFIX}/${CATKIN_PACKAGE_SHARE_DESTINATION}\") + endif() + endif() +else() + # create a new develspace marker file + # NOTE: extra care must be taken when running multiple catkin jobs in parallel + # so that this does not overwrite the result of a similar call in another package + file(WRITE \${_catkin_marker_file} \"${CMAKE_INSTALL_PREFIX}/${CATKIN_PACKAGE_SHARE_DESTINATION}\") +endif() +") +endif() diff --git a/cmake/euslisp-extras.cmake.in b/cmake/euslisp-extras.cmake.in new file mode 100644 index 000000000..b07f5f526 --- /dev/null +++ b/cmake/euslisp-extras.cmake.in @@ -0,0 +1,7 @@ +# euslisp.cmake +set(EUSDIR @CMAKE_INSTALL_PREFIX@/share/euslisp/jskeus/eus) +set(ARCHDIR @ARCHDIR@) +set(euslisp_INCLUDE_DIRS ${EUSDIR}/include) +message("-- set EUSDIR to ${EUSDIR}") +message("-- set ARCHDIR to ${ARCHDIR}") + diff --git a/env-hooks/99.euslisp.sh.in b/env-hooks/99.euslisp.sh.in new file mode 100644 index 000000000..c8dcd935b --- /dev/null +++ b/env-hooks/99.euslisp.sh.in @@ -0,0 +1,5 @@ +export ARCHDIR=@ARCHDIR@ +export EUSDIR="@CMAKE_INSTALL_PREFIX@/share/euslisp/jskeus/eus/" +export LD_LIBRARY_PATH=$EUSDIR/$ARCHDIR/lib:$LD_LIBRARY_PATH +export PATH=$EUSDIR/$ARCHDIR/bin:$PATH + diff --git a/package.xml b/package.xml new file mode 100644 index 000000000..1dd473143 --- /dev/null +++ b/package.xml @@ -0,0 +1,42 @@ + + euslisp + 9.23.0 + EusLisp is an integrated programming system for the + research on intelligent robots based on Common Lisp and + Object-Oriented programming + Kei Okada + + BSD + + http://euslisp.github.io/EusLisp/manual.html + https://github.com/euslisp/EusLisp/issues + + Toshihiro Matsui + + catkin + + opengl + libjpeg + libx11-dev + libxext + libpng12-dev + libpq-dev + cmake_modules + mk + xfonts-100dpi + xfonts-75dpi + + opengl + libjpeg + libx11-dev + libxext + libpng12-dev + libpq-dev + xfonts-100dpi + xfonts-75dpi + + + + cmake + + From d517f1e0bc5f3d69a8389642c8835f579184c654 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Thu, 20 Apr 2017 17:41:16 +0900 Subject: [PATCH 02/10] set EUSDIR to share/euslisp --- CMakeLists.txt | 6 +++--- cmake/euslisp-extras.cmake.in | 2 +- env-hooks/99.euslisp.sh.in | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 089147884..cb8838162 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,10 +42,10 @@ add_custom_target(install_euslisp install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install_euslisp)") install(DIRECTORY contrib lib lisp models ${ARCHDIR} - DESTINATION share/euslisp/jskeus/eus/ + DESTINATION share/euslisp/ USE_SOURCE_PERMISSIONS) install(DIRECTORY doc - DESTINATION share/euslisp/jskeus/eus/ + DESTINATION share/euslisp/ USE_SOURCE_PERMISSIONS PATTERN "doc/html" EXCLUDE PATTERN "doc/mails" EXCLUDE @@ -56,7 +56,7 @@ install(DIRECTORY doc PATTERN "doc/jlatex/fig" EXCLUDE ) install(FILES package.xml DESTINATION share/euslisp/) -install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink lisp/c include WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/euslisp/jskeus/eus/)") +install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink lisp/c include WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/euslisp/)") catkin_package(CFG_EXTRAS euslisp-extras.cmake) catkin_add_env_hooks(99.euslisp SHELLS sh DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/env-hooks) diff --git a/cmake/euslisp-extras.cmake.in b/cmake/euslisp-extras.cmake.in index b07f5f526..4cbd8306e 100644 --- a/cmake/euslisp-extras.cmake.in +++ b/cmake/euslisp-extras.cmake.in @@ -1,5 +1,5 @@ # euslisp.cmake -set(EUSDIR @CMAKE_INSTALL_PREFIX@/share/euslisp/jskeus/eus) +set(EUSDIR @CMAKE_INSTALL_PREFIX@/share/euslisp) set(ARCHDIR @ARCHDIR@) set(euslisp_INCLUDE_DIRS ${EUSDIR}/include) message("-- set EUSDIR to ${EUSDIR}") diff --git a/env-hooks/99.euslisp.sh.in b/env-hooks/99.euslisp.sh.in index c8dcd935b..22ffc1646 100644 --- a/env-hooks/99.euslisp.sh.in +++ b/env-hooks/99.euslisp.sh.in @@ -1,5 +1,5 @@ export ARCHDIR=@ARCHDIR@ -export EUSDIR="@CMAKE_INSTALL_PREFIX@/share/euslisp/jskeus/eus/" +export EUSDIR="@CMAKE_INSTALL_PREFIX@/share/euslisp" export LD_LIBRARY_PATH=$EUSDIR/$ARCHDIR/lib:$LD_LIBRARY_PATH export PATH=$EUSDIR/$ARCHDIR/bin:$PATH From c2b27aed6101ab6ae219cbd9be8b47ff23b99f23 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Thu, 20 Apr 2017 19:04:02 +0900 Subject: [PATCH 03/10] use catkin insatead of cmake --- CMakeLists.txt | 51 ++++++++------------------------------ env-hooks/99.euslisp.sh.em | 9 +++++++ env-hooks/99.euslisp.sh.in | 5 ---- package.xml | 1 - 4 files changed, 20 insertions(+), 46 deletions(-) create mode 100644 env-hooks/99.euslisp.sh.em delete mode 100644 env-hooks/99.euslisp.sh.in diff --git a/CMakeLists.txt b/CMakeLists.txt index cb8838162..937248dd6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,8 +2,6 @@ cmake_minimum_required(VERSION 2.8.3) project(euslisp) -find_package(catkin) - # 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}") @@ -28,6 +26,8 @@ elseif(gcc_dump_machine MATCHES ".*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 @@ -37,15 +37,19 @@ add_custom_target(compile_euslisp ALL 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(install_euslisp - 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 && ${CMAKE_COMMAND} -E make_directory \${DESTDIR}${CMAKE_INSTALL_PREFIX}/bin && \$\(MAKE\) -C ${PROJECT_SOURCE_DIR}/lisp -f Makefile install PUBBINDIR=\${DESTDIR}${CMAKE_INSTALL_PREFIX}/bin) +# catkin +find_package(catkin) +catkin_package(CFG_EXTRAS euslisp-extras.cmake) +set(ENV{ARCHDIR} ${ARCHDIR}) ## for add_env_hook +catkin_add_env_hooks(99.euslisp SHELLS sh DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/env-hooks) -install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install_euslisp)") +# install install(DIRECTORY contrib lib lisp models ${ARCHDIR} - DESTINATION share/euslisp/ + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} USE_SOURCE_PERMISSIONS) +install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink lisp/c include WORKING_DIRECTORY \${DESTDIR}${CMAKE_INSTALL_PREFIX}/${CATKIN_PACKAGE_SHARE_DESTINATION})") install(DIRECTORY doc - DESTINATION share/euslisp/ + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} USE_SOURCE_PERMISSIONS PATTERN "doc/html" EXCLUDE PATTERN "doc/mails" EXCLUDE @@ -55,36 +59,3 @@ install(DIRECTORY doc PATTERN "doc/latex/fig" EXCLUDE PATTERN "doc/jlatex/fig" EXCLUDE ) -install(FILES package.xml DESTINATION share/euslisp/) -install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink lisp/c include WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/euslisp/)") - -catkin_package(CFG_EXTRAS euslisp-extras.cmake) -catkin_add_env_hooks(99.euslisp SHELLS sh DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/env-hooks) - -string(REGEX MATCH "catkin" need_catkin "$ENV{_}") -get_filename_component(install_dir_name ${CMAKE_INSTALL_PREFIX} NAME) -if(need_catkin AND NOT install_dir_name MATCHES "install") # check if install_prefix end with /install, we can remove this section of we remove all rosrun euslisp ... usage - install(CODE " -## this is tricky force write catkin marker file -set(_catkin_marker_file \"\${CMAKE_INSTALL_PREFIX}/.catkin\") -# check if the develspace marker file exists yet -if(EXISTS \${_catkin_marker_file}) - file(READ \${_catkin_marker_file} _existing_sourcespaces) - if(_existing_sourcespaces STREQUAL \"\") - # write this sourcespace to the marker file - file(WRITE \${_catkin_marker_file} \"${CMAKE_INSTALL_PREFIX}/${CATKIN_PACKAGE_SHARE_DESTINATION}\") - else() - # append to existing list of sourcespaces if it's not in the list - list(FIND _existing_sourcespaces \"${CMAKE_INSTALL_PREFIX}/${CATKIN_PACKAGE_SHARE_DESTINATION}\" _existing_sourcespace_index) - if(_existing_sourcespace_index EQUAL -1) - file(APPEND \${_catkin_marker_file} \";${CMAKE_INSTALL_PREFIX}/${CATKIN_PACKAGE_SHARE_DESTINATION}\") - endif() - endif() -else() - # create a new develspace marker file - # NOTE: extra care must be taken when running multiple catkin jobs in parallel - # so that this does not overwrite the result of a similar call in another package - file(WRITE \${_catkin_marker_file} \"${CMAKE_INSTALL_PREFIX}/${CATKIN_PACKAGE_SHARE_DESTINATION}\") -endif() -") -endif() diff --git a/env-hooks/99.euslisp.sh.em b/env-hooks/99.euslisp.sh.em new file mode 100644 index 000000000..3ae0fc905 --- /dev/null +++ b/env-hooks/99.euslisp.sh.em @@ -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 + diff --git a/env-hooks/99.euslisp.sh.in b/env-hooks/99.euslisp.sh.in deleted file mode 100644 index 22ffc1646..000000000 --- a/env-hooks/99.euslisp.sh.in +++ /dev/null @@ -1,5 +0,0 @@ -export ARCHDIR=@ARCHDIR@ -export EUSDIR="@CMAKE_INSTALL_PREFIX@/share/euslisp" -export LD_LIBRARY_PATH=$EUSDIR/$ARCHDIR/lib:$LD_LIBRARY_PATH -export PATH=$EUSDIR/$ARCHDIR/bin:$PATH - diff --git a/package.xml b/package.xml index 1dd473143..1e865315e 100644 --- a/package.xml +++ b/package.xml @@ -37,6 +37,5 @@ - cmake From 400ed69944a74e03c9d504a42db9412d42c36b97 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Thu, 20 Apr 2017 19:31:19 +0900 Subject: [PATCH 04/10] doc/{jlatex,latex}/Makefile: add clean target, use filename as target to check if file exits --- doc/jlatex/Makefile | 9 +++++---- doc/latex/Makefile | 6 +++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/doc/jlatex/Makefile b/doc/jlatex/Makefile index b088d0939..e760523dd 100644 --- a/doc/jlatex/Makefile +++ b/doc/jlatex/Makefile @@ -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 diff --git a/doc/latex/Makefile b/doc/latex/Makefile index 375ccb760..fc682d3a5 100644 --- a/doc/latex/Makefile +++ b/doc/latex/Makefile @@ -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 \ @@ -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 From 3081e8df3e2a42ddb86ddcbe10f50efebd3eb22b Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Thu, 20 Apr 2017 19:31:44 +0900 Subject: [PATCH 05/10] add clean_euslisp and doc_euslisp target --- CMakeLists.txt | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 937248dd6..dae78341a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,9 +33,22 @@ message(STATUS "MAKEFILE : ${MAKEFILE}") 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 ALL +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) From cd776011ffdba5b2cb28c586a526311a44d9a733 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Thu, 20 Apr 2017 19:58:36 +0900 Subject: [PATCH 06/10] need to set meta charset --- doc/jlatex/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/jlatex/Makefile b/doc/jlatex/Makefile index e760523dd..7494e4a52 100644 --- a/doc/jlatex/Makefile +++ b/doc/jlatex/Makefile @@ -25,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">@' j*.html) From 3f034a5210f92a94f2916f3c54ab857ac6239f80 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Thu, 20 Apr 2017 19:59:53 +0900 Subject: [PATCH 07/10] CMakeLists.txt: doc update html and install --- CMakeLists.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index dae78341a..ef7726808 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,13 +61,19 @@ install(DIRECTORY contrib lib lisp models ${ARCHDIR} DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} USE_SOURCE_PERMISSIONS) install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink lisp/c include WORKING_DIRECTORY \${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 - PATTERN "doc/html" EXCLUDE + 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 From 4d5f7500d4ad1a28df212f00affa0071de85ccb5 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Thu, 20 Apr 2017 20:19:03 +0900 Subject: [PATCH 08/10] euslisp-extras.cmake: use em to set variables --- cmake/euslisp-extras.cmake.em | 12 ++++++++++++ cmake/euslisp-extras.cmake.in | 7 ------- 2 files changed, 12 insertions(+), 7 deletions(-) create mode 100644 cmake/euslisp-extras.cmake.em delete mode 100644 cmake/euslisp-extras.cmake.in diff --git a/cmake/euslisp-extras.cmake.em b/cmake/euslisp-extras.cmake.em new file mode 100644 index 000000000..aadd467ad --- /dev/null +++ b/cmake/euslisp-extras.cmake.em @@ -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}") + diff --git a/cmake/euslisp-extras.cmake.in b/cmake/euslisp-extras.cmake.in deleted file mode 100644 index 4cbd8306e..000000000 --- a/cmake/euslisp-extras.cmake.in +++ /dev/null @@ -1,7 +0,0 @@ -# euslisp.cmake -set(EUSDIR @CMAKE_INSTALL_PREFIX@/share/euslisp) -set(ARCHDIR @ARCHDIR@) -set(euslisp_INCLUDE_DIRS ${EUSDIR}/include) -message("-- set EUSDIR to ${EUSDIR}") -message("-- set ARCHDIR to ${ARCHDIR}") - From 81c916e89cca1eb95cf7f71accd19b2a19b23cd7 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Thu, 20 Apr 2017 22:04:26 +0900 Subject: [PATCH 09/10] need to set ARCHDIR before CFG_EXTRAS --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ef7726808..b187bfcf8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,8 +52,8 @@ add_custom_target(build_euslisp ALL # catkin find_package(catkin) -catkin_package(CFG_EXTRAS euslisp-extras.cmake) 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 From 99d68b89787031652a86e5a6ae6e11a2198c086f Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Thu, 20 Apr 2017 22:17:18 +0900 Subject: [PATCH 10/10] fix DESTDIR -> ENV{DESTDIR} --- CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b187bfcf8..9e12b47a1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -60,7 +60,8 @@ catkin_add_env_hooks(99.euslisp SHELLS sh DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/ install(DIRECTORY contrib lib lisp models ${ARCHDIR} DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} USE_SOURCE_PERMISSIONS) -install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink lisp/c include WORKING_DIRECTORY \${DESTDIR}${CMAKE_INSTALL_PREFIX}/${CATKIN_PACKAGE_SHARE_DESTINATION})") +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