From 8679dbfeca7db826c9587d68196d08ffef48fbbb Mon Sep 17 00:00:00 2001 From: Soeren Sonnenburg Date: Mon, 6 Jan 2014 19:59:46 +0100 Subject: [PATCH] don't include dirs if the don't exist --- CMakeLists.txt | 72 +++++++++++++++++++++++++++++------------ examples/CMakeLists.txt | 44 ++++++++++++------------- 2 files changed, 73 insertions(+), 43 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3035328ee7b..b11401cb3fe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -825,11 +825,15 @@ IF (PythonModular OR PythonStatic) SET(TARGET_SWIGFLAGS "-builtin\;-modern\;-modernargs") ENDIF() - add_subdirectory(src/interfaces/python_modular) + IF(EXISTS ${CMAKE_SOURCE_DIR}/src/interfaces/python_modular) + add_subdirectory(${CMAKE_SOURCE_DIR}/src/interfaces/python_modular) + ENDIF() ENDIF() IF(PythonStatic) - add_subdirectory(src/interfaces/python_static) + IF(EXISTS ${CMAKE_SOURCE_DIR}/src/interfaces/python_static) + add_subdirectory(${CMAKE_SOURCE_DIR}/src/interfaces/python_static) + ENDIF() ENDIF() ENDIF() @@ -843,7 +847,9 @@ IF (LuaModular) ENDIF () SET(LUA_EXECUTABLE lua) UNSET(TARGET_SWIGFLAGS) - add_subdirectory(src/interfaces/lua_modular) + IF(EXISTS ${CMAKE_SOURCE_DIR}/src/interfaces/lua_modular) + add_subdirectory(${CMAKE_SOURCE_DIR}/src/interfaces/lua_modular) + ENDIF() ENDIF() # java modular @@ -865,7 +871,9 @@ IF (JavaModular) ENDIF() SET(TARGET_SWIGFLAGS "-package\;org.shogun") - add_subdirectory(src/interfaces/java_modular) + IF(EXISTS ${CMAKE_SOURCE_DIR}/src/interfaces/java_modular) + add_subdirectory(${CMAKE_SOURCE_DIR}/src/interfaces/java_modular) + ENDIF() ENDIF() # ruby modular @@ -874,7 +882,7 @@ IF (RubyModular) FIND_PACKAGE(RubyNArray REQUIRED) SET(NARRAY_LIB ${RUBY_NARRAY_LIBRARY}) UNSET(TARGET_SWIGFLAGS) - add_subdirectory(src/interfaces/ruby_modular) + add_subdirectory(${CMAKE_SOURCE_DIR}/src/interfaces/ruby_modular) ENDIF() # octave modular @@ -886,11 +894,15 @@ IF (OctaveModular OR OctaveStatic) IF(OctaveModular) UNSET(TARGET_SWIGFLAGS) - add_subdirectory(src/interfaces/octave_modular) + IF(EXISTS ${CMAKE_SOURCE_DIR}/src/interfaces/octave_modular) + add_subdirectory(${CMAKE_SOURCE_DIR}/src/interfaces/octave_modular) + ENDIF() ENDIF() IF(OctaveStatic) - add_subdirectory(src/interfaces/octave_static) + IF(EXISTS ${CMAKE_SOURCE_DIR}/src/interfaces/octave_static) + add_subdirectory(${CMAKE_SOURCE_DIR}/src/interfaces/octave_static) + ENDIF() ENDIF() ENDIF() @@ -898,7 +910,9 @@ ENDIF() IF (CSharpModular) FIND_PACKAGE(CSharp REQUIRED) UNSET(TARGET_SWIGFLAGS) - add_subdirectory(src/interfaces/csharp_modular) + IF(EXISTS ${CMAKE_SOURCE_DIR}/src/interfaces/csharp_modular) + add_subdirectory(${CMAKE_SOURCE_DIR}/src/interfaces/csharp_modular) + ENDIF() ENDIF() # r modular @@ -907,11 +921,15 @@ IF (RModular OR RStatic) IF (RModular) UNSET(TARGET_SWIGFLAGS) - add_subdirectory(src/interfaces/r_modular) + IF(EXISTS ${CMAKE_SOURCE_DIR}/src/interfaces/r_modular) + add_subdirectory(${CMAKE_SOURCE_DIR}/src/interfaces/r_modular) + ENDIF() ENDIF() IF (RStatic) - add_subdirectory(src/interfaces/r_static) + IF(EXISTS ${CMAKE_SOURCE_DIR}/src/interfaces/r_static) + add_subdirectory(${CMAKE_SOURCE_DIR}/src/interfaces/r_static) + ENDIF() ENDIF() ENDIF() @@ -919,20 +937,26 @@ ENDIF() IF (PerlModular) FIND_PACKAGE(FindPerlLibs REQUIRED) UNSET(TARGET_SWIGFLAGS) - #add_subdirectory(src/interfaces/perl_modular) + IF(EXISTS ${CMAKE_SOURCE_DIR}/src/interfaces/perl_modular) + #add_subdirectory(${CMAKE_SOURCE_DIR}/src/interfaces/perl_modular) + ENDIF() ENDIF() IF (MatlabStatic) FIND_PACKAGE(Matlab REQUIRED) IF(MATLAB_FOUND) - add_subdirectory(src/interfaces/matlab_static) + IF(EXISTS ${CMAKE_SOURCE_DIR}/src/interfaces/matlab_modular) + add_subdirectory(${CMAKE_SOURCE_DIR}/src/interfaces/matlab_static) + ENDIF() ELSE() MESSAGE(FATAL_ERROR "Could not find Matlab, which is required for compiling matlab_static interface. Try setting MATLAB_ROOT enviroment variable to the right path") ENDIF() ENDIF() IF (CmdLineStatic) - add_subdirectory(src/interfaces/cmdline_static) + IF(EXISTS ${CMAKE_SOURCE_DIR}/src/interfaces/cmdline_static) + add_subdirectory(${CMAKE_SOURCE_DIR}/src/interfaces/cmdline_static) + ENDIF() ENDIF() IF (SVMLight) @@ -957,13 +981,15 @@ IF(ENABLE_TESTING) enable_testing() ENDIF() - # add integration tests - add_subdirectory(tests/integration) + IF(EXISTS ${CMAKE_SOURCE_DIR}/tests) + # add integration tests + add_subdirectory(${CMAKE_SOURCE_DIR}/tests/integration) - # add unit tests - IF (NOT TRAVIS_DISABLE_UNIT_TESTS) - add_subdirectory(tests/unit) + # add unit tests + IF (NOT TRAVIS_DISABLE_UNIT_TESTS) + add_subdirectory(${CMAKE_SOURCE_DIR}/tests/unit) + ENDIF() ENDIF() ENDIF() @@ -973,10 +999,14 @@ SET(CONFIGURE_OPTIONS "TODO") SET(COMPFLAGS_CPP "${MERGED_CXX_FLAGS}") SET(LINKFLAGS "${POSTLINKFLAGS}") -add_subdirectory(src/shogun) +IF(EXISTS ${CMAKE_SOURCE_DIR}/src/shogun) + add_subdirectory(${CMAKE_SOURCE_DIR}/src/shogun) +ENDIF() -IF(BUILD_EXAMPLES OR ENABLE_TESTING) - add_subdirectory(examples) +IF(EXISTS ${CMAKE_SOURCE_DIR}/examples) + IF(BUILD_EXAMPLES OR ENABLE_TESTING) + add_subdirectory(${CMAKE_SOURCE_DIR}/examples) + ENDIF() ENDIF() # general cpack settings diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index e6c3614f533..b258bcb0fe8 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -1,51 +1,51 @@ -IF (NOT TRAVIS_DISABLE_LIBSHOGUN_TESTS) - add_subdirectory(undocumented/libshogun) +IF (NOT TRAVIS_DISABLE_LIBSHOGUN_TESTS AND EXISTS ${CMAKE_SOURCE_DIR}/undocumented/libshogun) + add_subdirectory(${CMAKE_SOURCE_DIR}/undocumented/libshogun) ENDIF() -IF (PythonModular) - add_subdirectory(undocumented/python_modular) +IF (PythonModular AND EXISTS ${CMAKE_SOURCE_DIR}/undocumented/python_modular) + add_subdirectory(${CMAKE_SOURCE_DIR}/undocumented/python_modular) ENDIF() # lua modular -IF (LuaModular) - add_subdirectory(undocumented/lua_modular) +IF (LuaModular AND EXISTS ${CMAKE_SOURCE_DIR}/undocumented/lua_modular) + add_subdirectory(${CMAKE_SOURCE_DIR}/undocumented/lua_modular) ENDIF() # java modular -IF (JavaModular) - add_subdirectory(undocumented/java_modular) +IF (JavaModular AND EXISTS ${CMAKE_SOURCE_DIR}/undocumented/java_modular) + add_subdirectory(${CMAKE_SOURCE_DIR}/undocumented/java_modular) ENDIF() # ruby modular -IF (RubyModular) - add_subdirectory(undocumented/ruby_modular) +IF (RubyModular AND EXISTS ${CMAKE_SOURCE_DIR}/undocumented/ruby_modular) + add_subdirectory(${CMAKE_SOURCE_DIR}/undocumented/ruby_modular) ENDIF() # octave modular -IF (OctaveModular) - add_subdirectory(undocumented/octave_modular) +IF (OctaveModular AND EXISTS ${CMAKE_SOURCE_DIR}/undocumented/octave_modular) + add_subdirectory(${CMAKE_SOURCE_DIR}/undocumented/octave_modular) ENDIF() # csharp modular -IF (CSharpModular) - add_subdirectory(undocumented/csharp_modular) +IF (CSharpModular AND EXISTS ${CMAKE_SOURCE_DIR}/undocumented/csharp_modular) + add_subdirectory(${CMAKE_SOURCE_DIR}/undocumented/csharp_modular) ENDIF() # r modular -IF (RModular) - add_subdirectory(undocumented/r_modular) +IF (RModular AND EXISTS ${CMAKE_SOURCE_DIR}/undocumented/r_modular) + add_subdirectory(${CMAKE_SOURCE_DIR}/undocumented/r_modular) ENDIF() # perl modular -IF (PerlModular) - #add_subdirectory(undocumented/perl_modular) +IF (PerlModular AND EXISTS ${CMAKE_SOURCE_DIR}/undocumented/perl_modular) + #add_subdirectory(${CMAKE_SOURCE_DIR}/undocumented/perl_modular) ENDIF() -IF (MatlabStatic) - #add_subdirectory(undocumented/matlab_static) +IF (MatlabStatic AND EXISTS ${CMAKE_SOURCE_DIR}/undocumented/matlab_static) + #add_subdirectory(${CMAKE_SOURCE_DIR}/undocumented/matlab_static) ENDIF() -IF (CmdLineStatic) - add_subdirectory(undocumented/cmdline_static) +IF (CmdLineStatic AND EXISTS ${CMAKE_SOURCE_DIR}/undocumented/cmdline_static) + add_subdirectory(${CMAKE_SOURCE_DIR}/undocumented/cmdline_static) ENDIF()