[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