[mlpack-svn] r11354 - mlpack/conf/packages/mlpack/branches/1.0.X/debian/patches

fastlab-svn at coffeetalk-1.cc.gatech.edu fastlab-svn at coffeetalk-1.cc.gatech.edu
Thu Feb 2 17:42:17 EST 2012


Author: speet3
Date: 2012-02-02 17:42:16 -0500 (Thu, 02 Feb 2012)
New Revision: 11354

Added:
   mlpack/conf/packages/mlpack/branches/1.0.X/debian/patches/update-to-svn-CMakeLists.patch
Modified:
   mlpack/conf/packages/mlpack/branches/1.0.X/debian/patches/series
Log:
make CMakeLists more like current trunk

Modified: mlpack/conf/packages/mlpack/branches/1.0.X/debian/patches/series
===================================================================
--- mlpack/conf/packages/mlpack/branches/1.0.X/debian/patches/series	2012-02-02 22:41:53 UTC (rev 11353)
+++ mlpack/conf/packages/mlpack/branches/1.0.X/debian/patches/series	2012-02-02 22:42:16 UTC (rev 11354)
@@ -1,3 +1,4 @@
+update-to-svn-CMakeLists.patch
 build-Doxygen.patch
 no-debug-or-profiling-info.patch
 require-manpage-generation.patch

Added: mlpack/conf/packages/mlpack/branches/1.0.X/debian/patches/update-to-svn-CMakeLists.patch
===================================================================
--- mlpack/conf/packages/mlpack/branches/1.0.X/debian/patches/update-to-svn-CMakeLists.patch	                        (rev 0)
+++ mlpack/conf/packages/mlpack/branches/1.0.X/debian/patches/update-to-svn-CMakeLists.patch	2012-02-02 22:42:16 UTC (rev 11354)
@@ -0,0 +1,100 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ cmake_minimum_required(VERSION 2.8)
+-project(MLPACK C CXX)
++project(mlpack C CXX)
+ 
+ ## External Libraries
+ #  ls /usr/share/cmake-2.6/Modules/Find* | \
+@@ -58,7 +58,6 @@
+   set(BOOST_LIBS ${BOOST_LIBS} "boost_random")
+ endif(Boost_MAJOR_VERSION EQUAL 1 AND Boost_MINOR_VERSION GREATER 45)
+ 
+-
+ # Default to debugging mode for developers.
+ option(DEBUG "Compile with debugging information" ON)
+ option(PROFILE "Compile with profiling information" ON)
+@@ -69,13 +68,13 @@
+ 
+ if(DEBUG)
+   add_definitions(-DDEBUG)
+-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -O0")
+-  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -g -Wall -O0")
++  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -O0 -Wextra")
++  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -g -Wall -Wextra -O0")
+ else()
+   add_definitions(-DARMA_NO_DEBUG)
+   add_definitions(-DNDEBUG)
+-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O2")
+-  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -Wall -O2")
++  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -O2")
++  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -Wall -Wextra -O2")
+ endif(DEBUG)
+ 
+ if(PROFILE)
+@@ -101,7 +100,6 @@
+ include(CMake/TargetDistclean.cmake OPTIONAL)
+ 
+ include_directories(${CMAKE_SOURCE_DIR})
+-#TODO link_directories()
+ 
+ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/)
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/)
+@@ -109,3 +107,56 @@
+ 
+ ## recurse
+ add_subdirectory(src/mlpack) # mlpack
++
++# Make a target to generate the documentation.  If Doxygen isn't installed, then
++# I guess this option will just be unavailable.
++find_package(Doxygen)
++if (DOXYGEN_FOUND)
++  # It may be better if we built the documentation into the build directory, but
++  # I'm leaving this for a later day.
++  add_custom_target(doc
++    ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile
++    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
++    COMMENT "Generating API documentation with Doxygen"
++  )
++  add_custom_command(TARGET doc
++    POST_BUILD
++    COMMAND cmake -E copy_directory
++        ${CMAKE_CURRENT_SOURCE_DIR}/doc ${CMAKE_BINARY_DIR}/doc
++    COMMENT "Copying API documentation to build directory"
++  )
++
++  install(DIRECTORY ${CMAKE_BINARY_DIR}/doc/html
++    DESTINATION share/doc/mlpack
++    COMPONENT doc
++    OPTIONAL
++  )
++endif (DOXYGEN_FOUND)
++
++# Make a target to generate the man page documentation, but only if we are on a
++# UNIX-like system.
++if (UNIX)
++  find_program(TXT2MAN txt2man)
++
++  # It's not a requirement that we make man pages.
++  if (NOT TXT2MAN)
++    message(WARNING "txt2man not found; man pages will not be generated.")
++  else (NOT TXT2MAN)
++    # We have the tools.  We can make them.
++    add_custom_target(man ALL
++      ${CMAKE_CURRENT_SOURCE_DIR}/CMake/allexec2man.sh
++          ${CMAKE_CURRENT_SOURCE_DIR}/CMake/exec2man.sh
++          ${CMAKE_BINARY_DIR}/share/man
++      WORKING_DIRECTORY
++          ${CMAKE_BINARY_DIR}/bin
++      DEPENDS
++          allkfn allknn emst gmm hmm_generate hmm_loglik hmm_train hmm_viterbi
++          kernel_pca kmeans lars linear_regression mvu nbc nca pca radical
++      COMMENT "Generating man pages from built executables."
++    )
++
++    # Set the rules to install the documentation.
++    install(DIRECTORY ${CMAKE_BINARY_DIR}/share/man/
++        DESTINATION share/man/man1/)
++  endif (NOT TXT2MAN)
++endif (UNIX)




More information about the mlpack-svn mailing list