diff --git a/.travis.yml b/.travis.yml index 9b82a4fbe2a..456791f7a25 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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: @@ -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 \ No newline at end of file diff --git a/cmake/CommonModularInterface.cmake b/cmake/CommonModularInterface.cmake index 495bf4b8e4d..51b3ccf437d 100644 --- a/cmake/CommonModularInterface.cmake +++ b/cmake/CommonModularInterface.cmake @@ -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 diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 128ed08f782..090d0ee1e21 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -6,7 +6,7 @@ ENDIF() # lua modular IF (LuaModular) - #add_subdirectory(undocumented/lua_modular) + add_subdirectory(undocumented/lua_modular) ENDIF() # java modular @@ -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 diff --git a/examples/undocumented/lua_modular/CMakeLists.txt b/examples/undocumented/lua_modular/CMakeLists.txt new file mode 100644 index 00000000000..184a6ef2783 --- /dev/null +++ b/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() \ No newline at end of file diff --git a/examples/undocumented/octave_modular/CMakeLists.txt b/examples/undocumented/octave_modular/CMakeLists.txt new file mode 100644 index 00000000000..84cd6d7b960 --- /dev/null +++ b/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() \ No newline at end of file diff --git a/examples/undocumented/ruby_modular/CMakeLists.txt b/examples/undocumented/ruby_modular/CMakeLists.txt new file mode 100644 index 00000000000..b14e2a0b050 --- /dev/null +++ b/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() \ No newline at end of file diff --git a/src/interfaces/csharp_modular/CMakeLists.txt b/src/interfaces/csharp_modular/CMakeLists.txt index a47ad1b7b3e..cee01c117b7 100644 --- a/src/interfaces/csharp_modular/CMakeLists.txt +++ b/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 diff --git a/src/interfaces/java_modular/CMakeLists.txt b/src/interfaces/java_modular/CMakeLists.txt index 0daec50af1d..92cb1e2e4cc 100644 --- a/src/interfaces/java_modular/CMakeLists.txt +++ b/src/interfaces/java_modular/CMakeLists.txt @@ -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}) diff --git a/src/interfaces/lua_modular/CMakeLists.txt b/src/interfaces/lua_modular/CMakeLists.txt index 0629100af1e..109d2130242 100644 --- a/src/interfaces/lua_modular/CMakeLists.txt +++ b/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}) diff --git a/src/interfaces/python_modular/CMakeLists.txt b/src/interfaces/python_modular/CMakeLists.txt index fdb0022ef5f..1ecced75d6e 100644 --- a/src/interfaces/python_modular/CMakeLists.txt +++ b/src/interfaces/python_modular/CMakeLists.txt @@ -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) diff --git a/src/interfaces/ruby_modular/CMakeLists.txt b/src/interfaces/ruby_modular/CMakeLists.txt index cd29bc67586..cccb58f8393 100644 --- a/src/interfaces/ruby_modular/CMakeLists.txt +++ b/src/interfaces/ruby_modular/CMakeLists.txt @@ -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)