Skip to content

Commit

Permalink
Add ruby, lua, octave example targets
Browse files Browse the repository at this point in the history
  • Loading branch information
vigsterkr committed Aug 1, 2013
1 parent 7782a14 commit 9529b5d
Show file tree
Hide file tree
Showing 11 changed files with 44 additions and 10 deletions.
6 changes: 4 additions & 2 deletions .travis.yml
Expand Up @@ -18,7 +18,7 @@ env:
- CMAKE_OPTIONS="-DJavaModular=ON" EXTRA_PACKAGES="openjdk-6-jdk jblas ant swig2.0"
- CMAKE_OPTIONS="-DRubyModular=ON" EXTRA_PACKAGES="ruby ruby-dev ruby-narray swig2.0"
- CMAKE_OPTIONS="-DCSharpModular=ON" EXTRA_PACKAGES="mono-devel mono-gmcs cli-common-dev swig2.0"
- CMAKE_OPTIONS="-DLuaModular=ON" EXTRA_PACKAGES="lua5.1 liblua5.1-0-dev swig2.0"
- CMAKE_OPTIONS="-DLuaModular=ON" EXTRA_PACKAGES="lua5.2 liblua5.2-dev swig2.0"
- CMAKE_OPTIONS="-DOctaveModular=ON" EXTRA_PACKAGES="octave octave3.2-headers swig2.0"
matrix:
exclude:
Expand All @@ -43,4 +43,6 @@ before_install:
- sudo apt-get install -qq cdbs libeigen3-dev libarpack2-dev libatlas-base-dev libblas-dev libglpk-dev libhdf5-serial-dev libjson0-dev swig zlib1g-dev libxml2-dev libreadline6-dev libreadline-dev libsnappy-dev liblzo2-dev liblzma-dev liblapack-dev gdb cmake $EXTRA_PACKAGES
- wget http://googlemock.googlecode.com/files/gmock-1.6.0.zip && unzip gmock-1.6.0.zip
before_script: mkdir build && cd build
script: cmake -DENABLE_TESTING=ON $CMAKE_OPTIONS .. && make -j 4 && sudo make install && ctest --output-on-failure && ctest -D MemoryCheck
script: cmake -DENABLE_TESTING=ON $CMAKE_OPTIONS .. && make -j 4 && sudo make install && ctest --output-on-failure
rvm:
- 1.8.7
1 change: 1 addition & 0 deletions cmake/CommonModularInterface.cmake
Expand Up @@ -35,6 +35,7 @@ SWIG_ADD_MODULE(${MODULAR_NAME}_modular ${MODULAR_NAME} modshogun.i sg_print_fun
set_target_properties(${PREPEND_TARGET}${MODULAR_NAME}_modular PROPERTIES
COMPILE_DEFINITIONS "${DEFINES}")
SWIG_LINK_LIBRARIES(${MODULAR_NAME}_modular shogun ${MODULAR_LIBARIES})
SET_TARGET_PROPERTIES(${PREPEND_TARGET}${MODULAR_NAME}_modular PROPERTIES OUTPUT_NAME ${PREPEND_TARGET}modshogun)
ADD_DEPENDENCIES(${PREPEND_TARGET}${MODULAR_NAME}_modular ${MODULAR_NAME}_modular_src)

#ADD_CUSTOM_COMMAND(TARGETS ${PREPEND_TARGET}${MODULAR_NAME}_modular
Expand Down
6 changes: 3 additions & 3 deletions examples/CMakeLists.txt
Expand Up @@ -6,7 +6,7 @@ ENDIF()

# lua modular
IF (LuaModular)
#add_subdirectory(undocumented/lua_modular)
add_subdirectory(undocumented/lua_modular)
ENDIF()

# java modular
Expand All @@ -16,12 +16,12 @@ ENDIF()

# ruby modular
IF (RubyModular)
#add_subdirectory(undocumented/ruby_modular)
add_subdirectory(undocumented/ruby_modular)
ENDIF()

# octave modular
IF (OctaveModular)
#add_subdirectory(undocumented/octave_modular)
add_subdirectory(undocumented/octave_modular)
ENDIF()

# csharp modular
Expand Down
11 changes: 11 additions & 0 deletions examples/undocumented/lua_modular/CMakeLists.txt
@@ -0,0 +1,11 @@
FILE(GLOB LUA_EXAMPLES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.lua)
LIST(REMOVE_ITEM LUA_EXAMPLES load.lua)

FOREACH(EXAMPLE ${LUA_EXAMPLES})
STRING(REGEX REPLACE "(.*).lua" "\\1" EXAMPLE_NAME ${EXAMPLE})
add_test(NAME lua-${EXAMPLE_NAME}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMAND ${} ${EXAMPLE})
set_property(TEST lua-${EXAMPLE_NAME} PROPERTY
ENVIRONMENT "LUA_CPATH=${LUA_MODULAR_BUILD_DIR}/libmodshogun.so")
ENDFOREACH()
10 changes: 10 additions & 0 deletions examples/undocumented/octave_modular/CMakeLists.txt
@@ -0,0 +1,10 @@
FILE(GLOB OCTAVE_EXAMPLES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.m)

FOREACH(EXAMPLE ${OCTAVE_EXAMPLES})
STRING(REGEX REPLACE "(.*).m" "\\1" EXAMPLE_NAME ${EXAMPLE})
add_test(NAME octave_modular-${EXAMPLE_NAME}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMAND ${} ${EXAMPLE})
# set_property(TEST octave_modular-${EXAMPLE_NAME} PROPERTY
# ENVIRONMENT "LUA_CPATH=${LUA_MODULAR_BUILD_DIR}/libmodshogun.so")
ENDFOREACH()
11 changes: 11 additions & 0 deletions examples/undocumented/ruby_modular/CMakeLists.txt
@@ -0,0 +1,11 @@
FILE(GLOB RUBY_EXAMPLES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.rb)
LIST(REMOVE_ITEM RUBY_EXAMPLES load.rb)

FOREACH(EXAMPLE ${RUBY_EXAMPLES})
STRING(REGEX REPLACE "(.*).rb" "\\1" EXAMPLE_NAME ${EXAMPLE})
add_test(NAME ruby-${EXAMPLE_NAME}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMAND ${RUBY_EXECUTABLE} ${EXAMPLE})
set_property(TEST ruby-${EXAMPLE_NAME} PROPERTY
ENVIRONMENT "RUBYLIB=${RUBY_MODULAR_BINARY_DIR}")
ENDFOREACH()
1 change: 0 additions & 1 deletion src/interfaces/csharp_modular/CMakeLists.txt
@@ -1,7 +1,6 @@
include(CommonModularInterface)

GENERATE_MODULAR_TARGET(csharp ${CMAKE_CURRENT_SOURCE_DIR} "")
SET_TARGET_PROPERTIES(csharp_modular PROPERTIES OUTPUT_NAME modshogun)

ADD_CUSTOM_COMMAND(TARGET csharp_modular
POST_BUILD
Expand Down
1 change: 0 additions & 1 deletion src/interfaces/java_modular/CMakeLists.txt
Expand Up @@ -2,7 +2,6 @@ include(CommonModularInterface)
include_directories(${JNI_INCLUDE_DIRS})

GENERATE_MODULAR_TARGET(java ${CMAKE_CURRENT_SOURCE_DIR} "")
SET_TARGET_PROPERTIES(java_modular PROPERTIES OUTPUT_NAME modshogun)

set(CMAKE_JAVA_TARGET_OUTPUT_NAME shogun)
SET(CMAKE_JAVA_INCLUDE_PATH ${JBLAS})
Expand Down
5 changes: 3 additions & 2 deletions src/interfaces/lua_modular/CMakeLists.txt
@@ -1,8 +1,9 @@
include(CommonModularInterface)
include_directories(${LUA_INCLUDEDIR})
MESSAGE(${LUA_INCLUDEDIR})

MESSAGE(${LUA_LDFLAGS})
GENERATE_MODULAR_TARGET(lua ${CMAKE_CURRENT_SOURCE_DIR} ${LUA_LDFLAGS})
SET(LUA_MODULAR_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE)
GENERATE_MODULAR_TARGET(lua ${CMAKE_CURRENT_SOURCE_DIR} "${LUA_LDFLAGS}")

STRING(REGEX REPLACE "([0-9]*.[0-9]*).[0-9]*" "lib/lua/\\1" LUA_EXTENSION_DIR ${LUA_VERSION})

Expand Down
1 change: 0 additions & 1 deletion src/interfaces/python_modular/CMakeLists.txt
Expand Up @@ -2,7 +2,6 @@ include(CommonModularInterface)
include_directories(${PYTHON_INCLUDE_PATH} ${NUMPY_INCLUDE_DIRS})

GENERATE_MODULAR_TARGET(python ${CMAKE_CURRENT_SOURCE_DIR} ${PYTHON_LIBRARIES})
SET_TARGET_PROPERTIES(_python_modular PROPERTIES OUTPUT_NAME _modshogun)

# pacakges directory
if(CMAKE_HOST_UNIX)
Expand Down
1 change: 1 addition & 0 deletions src/interfaces/ruby_modular/CMakeLists.txt
Expand Up @@ -3,6 +3,7 @@ INCLUDE_DIRECTORIES(${RUBY_INCLUDE_DIRS} ${RUBY_NARRAY_INCLUDE_DIR})

GENERATE_MODULAR_TARGET(ruby ${CMAKE_CURRENT_SOURCE_DIR} ${RUBY_LIBRARY})

SET(RUBY_MODULAR_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE)
EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['sitearchdir']"
OUTPUT_VARIABLE RUBY_SITE_ARCH_DIR
ERROR_QUIET)
Expand Down

0 comments on commit 9529b5d

Please sign in to comment.