Commit 3564493f authored by Jason Rhinelander's avatar Jason Rhinelander

Merge remote MathJax; added API building

parents fe043f4f 6ba3072b

Too many changes to show.

To preserve performance only 1000 of ${real_size} files are displayed.

......@@ -3,6 +3,10 @@ project(voting)
cmake_minimum_required(VERSION 2.8)
# voting package version
set(VOTING_VERSION_MAJOR "0")
set(VOTING_VERSION_MINOR "0")
set(VOTING_VERSION_PATCH "1")
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON)
......@@ -15,10 +19,10 @@ include(MacroEnsureOutOfSourceBuild)
macro_ensure_out_of_source_build("${PROJECT_NAME} requires an out-of-source build. Create a build directory and run 'cmake ${CMAKE_SOURCE_DIR} [options]'.")
include_directories(include)
file(GLOB_RECURSE voting_include RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} include/*.h include/*.hpp)
file(GLOB_RECURSE voting_src RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} src/voting/*.cpp)
file(GLOB voting_scripts RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} src/*.cpp)
file(GLOB voting_R RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} src/*.R)
file(GLOB_RECURSE voting_include include/*.h include/*.hpp)
file(GLOB_RECURSE voting_src src/voting/*.cpp)
file(GLOB voting_scripts src/*.cpp)
file(GLOB voting_R src/*.R)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/results)
......@@ -47,9 +51,10 @@ foreach(v_src ${voting_scripts})
endforeach()
foreach(v_r ${voting_R})
file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/${v_r}" DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY "${v_r}" DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
endforeach()
add_subdirectory(doc EXCLUDE_FROM_ALL)
add_subdirectory(report EXCLUDE_FROM_ALL)
#add_library(eris SHARED ${eris_src})
......
add_custom_target(doc)
# Need at least version 1.8.2 (as that was when c++11 support was added to doxygen)
find_package(Doxygen 1.8.2 REQUIRED)
if(NOT DOXYGEN_DOT_FOUND)
message(FATAL_ERROR "Could NOT find dot (required by doxygen)")
endif()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/DoxygenLayout.xml.in ${CMAKE_CURRENT_BINARY_DIR}/DoxygenLayout.xml @ONLY)
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/MathJax DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
PATTERN ".git*" EXCLUDE
PATTERN "docs" EXCLUDE
PATTERN "README*" EXCLUDE
PATTERN "test" EXCLUDE
PATTERN "unpacked" EXCLUDE
)
message("voting_inc: ${voting_include}")
# Use a custom command to output doxygen's generated index file. Doing it this way ensures
# that 'make doc' only runs doxygen when something in src or include has changed.
add_custom_command(OUTPUT "api/index.xhtml"
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
DEPENDS "Doxyfile.in" "DoxygenLayout.xml.in" ${voting_src} ${voting_include}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API documentation (using doxygen)"
)
add_custom_target(api_doc DEPENDS "api/index.xhtml")
set_property(DIRECTORY APPEND PROPERTY
ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_BINARY_DIR}/api")
#set_property(DIRECTORY APPEND PROPERTY
# ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_BINARY_DIR}/api-latex")
add_dependencies(doc api_doc)
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = @PROJECT_NAME@
PROJECT_NUMBER = v@VOTING_VERSION_MAJOR@.@VOTING_VERSION_MINOR@.@VOTING_VERSION_PATCH@
PROJECT_BRIEF = "Eris-based voting model"
INPUT = @CMAKE_CURRENT_SOURCE_DIR@/../include @CMAKE_CURRENT_SOURCE_DIR@/../src
INPUT_ENCODING = UTF-8
FILE_PATTERNS = *.cpp *.hpp
RECURSIVE = YES
OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@
QUIET = YES
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = @CMAKE_CURRENT_SOURCE_DIR@/..
STRIP_FROM_INC_PATH = @CMAKE_CURRENT_SOURCE_DIR@/../include
JAVADOC_AUTOBRIEF = YES
GENERATE_HTML = YES
HTML_FILE_EXTENSION = .xhtml
HTML_OUTPUT = api
LAYOUT_FILE = DoxygenLayout.xml
GENERATE_LATEX = NO
LATEX_OUTPUT = api-latex
PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
PAPER_TYPE = letter
HAVE_DOT = YES
DOT_IMAGE_FORMAT = svg
USE_MATHJAX = YES
MATHJAX_RELPATH = ../MathJax
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
#CALL_GRAPH = YES
#CALLER_GRAPH = YES
GRAPHICAL_HIERARCHY = YES
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
#ENABLE_PREPROCESSING = YES
#MACRO_EXPANSION = YES
#SKIP_FUNCTION_MACROS = NO
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
<doxygenlayout version="1.0">
<!-- Generated by doxygen 1.8.3.1 -->
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="mainpage" visible="yes" title=""/>
<tab type="pages" visible="yes" title="" intro=""/>
<tab type="modules" visible="yes" title="" intro=""/>
<tab type="namespaces" visible="yes" title="">
<tab type="namespacelist" visible="yes" title="" intro=""/>
<tab type="namespacemembers" visible="yes" title="" intro=""/>
</tab>
<tab type="classes" visible="yes" title="">
<tab type="classlist" visible="yes" title="" intro=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="hierarchy" visible="yes" title="" intro=""/>
<tab type="classmembers" visible="yes" title="" intro=""/>
</tab>
<tab type="files" visible="yes" title="">
<tab type="filelist" visible="yes" title="" intro=""/>
<tab type="globals" visible="yes" title="" intro=""/>
</tab>
<tab type="examples" visible="yes" title="" intro=""/>
</navindex>
<!-- Layout definition for a class page -->
<class>
<briefdescription visible="yes"/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<memberdecl>
<nestedclasses visible="yes" title=""/>
<publictypes title=""/>
<publicslots title=""/>
<signals title=""/>
<publicmethods title=""/>
<publicstaticmethods title=""/>
<publicattributes title=""/>
<publicstaticattributes title=""/>
<protectedtypes title=""/>
<protectedslots title=""/>
<protectedmethods title=""/>
<protectedstaticmethods title=""/>
<protectedattributes title=""/>
<protectedstaticattributes title=""/>
<packagetypes title=""/>
<packagemethods title=""/>
<packagestaticmethods title=""/>
<packageattributes title=""/>
<packagestaticattributes title=""/>
<properties title=""/>
<events title=""/>
<privatetypes title=""/>
<privateslots title=""/>
<privatemethods title=""/>
<privatestaticmethods title=""/>
<privateattributes title=""/>
<privatestaticattributes title=""/>
<friends title=""/>
<related title="" subtitle=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>
<enums title=""/>
<constructors title=""/>
<functions title=""/>
<related title=""/>
<variables title=""/>
<properties title=""/>
<events title=""/>
</memberdef>
<allmemberslink visible="yes"/>
<inheritancegraph visible="$CLASS_GRAPH"/>
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
<usedfiles visible="$SHOW_USED_FILES"/>
<authorsection visible="yes"/>
</class>
<!-- Layout definition for a namespace page -->
<namespace>
<briefdescription visible="yes"/>
<memberdecl>
<nestednamespaces visible="yes" title=""/>
<classes visible="yes" title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
</memberdef>
<authorsection visible="yes"/>
</namespace>
<!-- Layout definition for a file page -->
<file>
<briefdescription visible="yes"/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<includegraph visible="$INCLUDE_GRAPH"/>