From 72067c0893b5f9c321046b38d8d710fb64ba4135 Mon Sep 17 00:00:00 2001 From: Dibyendu Majumdar Date: Fri, 17 Jan 2020 14:13:00 +0000 Subject: [PATCH] issue #178 Added scripts that will be configured by CMake --- CMakeLists.txt | 15 +++++++++++ ravi-config.cmake.in | 61 ++++++++++++++++++++++++++++++++++++++++++++ ravi-env.bat.in | 4 +++ ravi-env.linux.sh.in | 5 ++++ ravi-env.osx.sh.in | 6 +++++ 5 files changed, 91 insertions(+) create mode 100644 ravi-config.cmake.in create mode 100644 ravi-env.bat.in create mode 100644 ravi-env.linux.sh.in create mode 100644 ravi-env.osx.sh.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a2b934..85d194b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -534,9 +534,24 @@ else () add_test(TestVM test_asmvm) endif () +configure_file(ravi-config.cmake.in ravi-config.cmake @ONLY) +if (WIN32) + configure_file(ravi-env.bat.in ravi-env.bat @ONLY) + set(RAVI_SCRIPTS ${CMAKE_CURRENT_BINARY_DIR}/ravi-env.bat) +elseif (APPLE) + configure_file(ravi-env.osx.sh.in ravi-env.sh @ONLY) + set(RAVI_SCRIPTS ${CMAKE_CURRENT_BINARY_DIR}/ravi-env.sh) +else() + configure_file(ravi-env.linux.sh.in ravi-env.sh @ONLY) + set(RAVI_SCRIPTS ${CMAKE_CURRENT_BINARY_DIR}/ravi-env.sh) +endif() install(FILES ${LUA_HEADERS} DESTINATION include/ravi) install(TARGETS ${LIBRAVI_NAME} ravi ${RAVI_DEBUGGER_TARGET} ${RAVI_STATICEXEC_TARGET} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) +install(FILES ${RAVI_SCRIPTS} + DESTINATION bin) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ravi-config.cmake + DESTINATION cmake) diff --git a/ravi-config.cmake.in b/ravi-config.cmake.in new file mode 100644 index 0000000..847238e --- /dev/null +++ b/ravi-config.cmake.in @@ -0,0 +1,61 @@ +find_path(LUA_INCLUDE_DIR lua.h + PATHS + @CMAKE_INSTALL_PREFIX@/include/ravi + ) + +find_library(LUA_LIBRARIES + NAMES @LIBRAVI_NAME@ + PATHS + @CMAKE_INSTALL_PREFIX@/lib + ) + +find_program(LUA_EXE + NAMES ravi_s + PATHS + @CMAKE_INSTALL_PREFIX@/bin + ) + +# LUA_INCDIR - place where lua headers exist +set(LUA_INCDIR ${LUA_INCLUDE_DIR}) + +# LIBDIR - LUA_CPATH +if (WIN32) + + get_filename_component(LIBDIR + ${LUA_EXE} + DIRECTORY) + +else() + + get_filename_component(LIBDIR + ${LUA_LIBRARIES} + DIRECTORY) + +endif() + +get_filename_component(LUA_BINDIR + ${LUA_EXE} + DIRECTORY) + +# LUA_LIBDIR - place where lua native libraries exist +get_filename_component(LUA_LIBDIR + ${LUA_LIBRARIES} + DIRECTORY +) + +if (NOT WIN32) + set(LUA_LIBRARIES "${LUA_LIBRARIES};m") +endif() + +# LUALIB - the lua library to link against +set(LUALIB ${LUA_LIBRARIES}) + +# LUADIR - LUA_PATH +if (USE_LUA53) + set(LUADIR "${LUA_LIBDIR}/../share/lua/5.3") +else() + set(LUADIR "${LUA_LIBDIR}/../share/lua/5.3") +endif() + +set(LUA "${LUA_EXE}") + diff --git a/ravi-env.bat.in b/ravi-env.bat.in new file mode 100644 index 0000000..9b56df8 --- /dev/null +++ b/ravi-env.bat.in @@ -0,0 +1,4 @@ +set RAVI_HOME=@CMAKE_INSTALL_PREFIX@ +set PATH=%RAVI_HOME%\bin;%PATH% +set LUA_PATH=%RAVI_HOME%\share\lua\5.3\?.lua;%RAVI_HOME%\share\lua\5.3\?\init.lua;.\?.lua;.\?\init.lua +set LUA_CPATH=%RAVI_HOME%\bin\?.dll \ No newline at end of file diff --git a/ravi-env.linux.sh.in b/ravi-env.linux.sh.in new file mode 100644 index 0000000..aa72c85 --- /dev/null +++ b/ravi-env.linux.sh.in @@ -0,0 +1,5 @@ +export RAVI_HOME=@CMAKE_INSTALL_PREFIX@ +export PATH=$RAVI_HOME/bin:$PATH +export LD_LIBRARY_PATH=$RAVI_HOME/lib:$LD_LIBRARY_PATH +export LUA_PATH="$RAVI_HOME/share/lua/5.3/?.lua;$RAVI_HOME/share/lua/5.3/?/init.lua;./?.lua;./?/init.lua" +export LUA_CPATH="$RAVI_HOME/lib/?.so;$RAVI_HOME/lib/lib?.so" \ No newline at end of file diff --git a/ravi-env.osx.sh.in b/ravi-env.osx.sh.in new file mode 100644 index 0000000..ee3af91 --- /dev/null +++ b/ravi-env.osx.sh.in @@ -0,0 +1,6 @@ +export RAVI_HOME=@CMAKE_INSTALL_PREFX@ +export PATH=$RAVI_HOME/bin:$PATH +export DYLD_LIBRARY_PATH=$RAVI_HOME/lib:$DYLD_LIBRARY_PATH +export LUA_PATH="$RAVI_HOME/share/lua/5.3/?.lua;$RAVI_HOME/share/lua/5.3/?/init.lua;./?.lua;./?/init.lua" +export LUA_CPATH="$RAVI_HOME/lib/?.dylib;$RAVI_HOME/lib/lib?.dylib" +export LUA_CPATH="$LUA_CPATH;$RAVI_HOME/lib/?.so;$RAVI_HOME/lib/lib?.so" \ No newline at end of file