Added documentation generation as CMake target for Release
This commit is contained in:
		
							parent
							
								
									5ee86709ee
								
							
						
					
					
						commit
						c3ec86de87
					
				
							
								
								
									
										6
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -7,3 +7,9 @@ cmake-build-debug/
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
\.idea/
 | 
					\.idea/
 | 
				
			||||||
*.lzw
 | 
					*.lzw
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					docs/Doxyfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					docs/html/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					docs/latex/
 | 
				
			||||||
 | 
				
			|||||||
@ -7,15 +7,6 @@ set(TGT "projet_lzw")
 | 
				
			|||||||
set(${TGT}_VERSION_MAJOR 0)
 | 
					set(${TGT}_VERSION_MAJOR 0)
 | 
				
			||||||
set(${TGT}_VERSION_MINOR 1)
 | 
					set(${TGT}_VERSION_MINOR 1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
message("CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}")
 | 
					 | 
				
			||||||
IF(CMAKE_BUILD_TYPE MATCHES Debug)
 | 
					 | 
				
			||||||
    message("Debug build.")
 | 
					 | 
				
			||||||
ELSEIF(CMAKE_BUILD_TYPE MATCHES Release)
 | 
					 | 
				
			||||||
    message("Release build.")
 | 
					 | 
				
			||||||
ELSE()
 | 
					 | 
				
			||||||
    message("Some other build.")
 | 
					 | 
				
			||||||
ENDIF()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
set(CXX_COVERAGE_COMPILE_FLAGS "-pedantic -Wall -Wextra -Wold-style-cast -Woverloaded-virtual -Wfloat-equal -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wconversion -Wsign-conversion -Wshadow -Weffc++ -Wredundant-decls -Wdouble-promotion -Winit-self -Wswitch-default -Wswitch-enum -Wundef -Winline -Wunused -Wnon-virtual-dtor -pthread")
 | 
					set(CXX_COVERAGE_COMPILE_FLAGS "-pedantic -Wall -Wextra -Wold-style-cast -Woverloaded-virtual -Wfloat-equal -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wconversion -Wsign-conversion -Wshadow -Weffc++ -Wredundant-decls -Wdouble-promotion -Winit-self -Wswitch-default -Wswitch-enum -Wundef -Winline -Wunused -Wnon-virtual-dtor -pthread")
 | 
				
			||||||
set(CMAKE_CXX_FLAGS_DEBUG "${CXX_COVERAGE_COMPILE_FLAGS} -DDebug -g -pg")
 | 
					set(CMAKE_CXX_FLAGS_DEBUG "${CXX_COVERAGE_COMPILE_FLAGS} -DDebug -g -pg")
 | 
				
			||||||
set(CMAKE_CXX_FLAGS_RELEASE "${CXX_COVERAGE_COMPILE_FLAGS} -O3")
 | 
					set(CMAKE_CXX_FLAGS_RELEASE "${CXX_COVERAGE_COMPILE_FLAGS} -O3")
 | 
				
			||||||
@ -34,8 +25,6 @@ else()
 | 
				
			|||||||
        message( FATAL_ERROR "C++17 not supported, CMake will exit." )
 | 
					        message( FATAL_ERROR "C++17 not supported, CMake will exit." )
 | 
				
			||||||
    endif()
 | 
					    endif()
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					 | 
				
			||||||
# set(CMAKE_CXX_STANDARD 17)
 | 
					 | 
				
			||||||
set(CMAKE_CXX_STANDARD_REQUIRED YES)
 | 
					set(CMAKE_CXX_STANDARD_REQUIRED YES)
 | 
				
			||||||
set(CMAKE_CXX_EXTENSIONS OFF)
 | 
					set(CMAKE_CXX_EXTENSIONS OFF)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -45,6 +34,26 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "../debug/")
 | 
				
			|||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_COVERAGE_COMPILE_FLAGS}")
 | 
					set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_COVERAGE_COMPILE_FLAGS}")
 | 
				
			||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CXX_COVERAGE_COMPILE_FLAGS}")
 | 
					set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CXX_COVERAGE_COMPILE_FLAGS}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# indicate the doc build as an option, ON by default
 | 
				
			||||||
 | 
					if(CMAKE_BUILD_TYPE MATCHES "^[Rr]elease")
 | 
				
			||||||
 | 
					    option(BUILD_DOC "Build documentation" ON)
 | 
				
			||||||
 | 
					    find_package(Doxygen
 | 
				
			||||||
 | 
					                 REQUIRED dot)
 | 
				
			||||||
 | 
					    if(DOXYGEN_FOUND)
 | 
				
			||||||
 | 
					        set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile.in)
 | 
				
			||||||
 | 
					        set(DOXYGEN_OUT ${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile)
 | 
				
			||||||
 | 
					        configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
 | 
				
			||||||
 | 
					        message("Doxygen build started")
 | 
				
			||||||
 | 
					        add_custom_target(docs ALL
 | 
				
			||||||
 | 
					            COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
 | 
				
			||||||
 | 
					            WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
 | 
				
			||||||
 | 
					            COMMENT "Generating API documentation with Doxygen"
 | 
				
			||||||
 | 
					            VERBATIM )
 | 
				
			||||||
 | 
					    else()
 | 
				
			||||||
 | 
					        message("Doxygen needs to be installed to generate the doxygen documentation.")
 | 
				
			||||||
 | 
					    endif()
 | 
				
			||||||
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
include_directories(includes)
 | 
					include_directories(includes)
 | 
				
			||||||
file(GLOB SOURCES "src/*.cc")
 | 
					file(GLOB SOURCES "src/*.cc")
 | 
				
			||||||
add_executable(${TGT} ${SOURCES})
 | 
					add_executable(${TGT} ${SOURCES})
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										3
									
								
								doc/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								doc/.gitignore
									
									
									
									
										vendored
									
									
								
							@ -1,3 +0,0 @@
 | 
				
			|||||||
*
 | 
					 | 
				
			||||||
!.gitignore
 | 
					 | 
				
			||||||
!Doxyfile
 | 
					 | 
				
			||||||
							
								
								
									
										2440
									
								
								doc/Doxyfile
									
									
									
									
									
								
							
							
						
						
									
										2440
									
								
								doc/Doxyfile
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										33
									
								
								docs/Doxyfile.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								docs/Doxyfile.in
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					OUTPUT_DIRECTORY       = @CMAKE_CURRENT_SOURCE_DIR@/docs/
 | 
				
			||||||
 | 
					INPUT                  = @CMAKE_CURRENT_SOURCE_DIR@/src/ @CMAKE_CURRENT_SOURCE_DIR@/docs
 | 
				
			||||||
 | 
					DOXYFILE ENCODING      = UTF-8
 | 
				
			||||||
 | 
					PROJECT_NAME           = "Compression LZW"
 | 
				
			||||||
 | 
					PROJECT_NUMBER         = 0.3
 | 
				
			||||||
 | 
					PROJECT_BRIEF          = "Utilitaire de compression/décompression de fichiers via l’algorithme LZW"
 | 
				
			||||||
 | 
					ALLOW_UNICODE_NAMES    = YES
 | 
				
			||||||
 | 
					OUTPUT_LANGUAGE        = French
 | 
				
			||||||
 | 
					FULL_PATH_NAMES        = NO
 | 
				
			||||||
 | 
					TAB_SIZE               = 2
 | 
				
			||||||
 | 
					EXTRACT_ALL            = YES
 | 
				
			||||||
 | 
					CASE_SENSE_NAMES       = YES
 | 
				
			||||||
 | 
					INPUT_ENCODING         = UTF-8
 | 
				
			||||||
 | 
					FILE_PATTERNS          = *.cc \
 | 
				
			||||||
 | 
					                          *.hh
 | 
				
			||||||
 | 
					RECURSIVE              = YES
 | 
				
			||||||
 | 
					EXAMPLE_PATTERNS       = *
 | 
				
			||||||
 | 
					SOURCE_BROWSER         = YES
 | 
				
			||||||
 | 
					INLINE_SOURCES         = YES
 | 
				
			||||||
 | 
					REFERENCED_BY_RELATION = YES
 | 
				
			||||||
 | 
					REFERENCES_RELATION    = YES
 | 
				
			||||||
 | 
					USE_HTAGS              = NO
 | 
				
			||||||
 | 
					HTML_TIMESTAMP         = YES
 | 
				
			||||||
 | 
					GENERATE_DOCSET        = NO
 | 
				
			||||||
 | 
					GENERATE_HTMLHELP      = NO
 | 
				
			||||||
 | 
					LATEX_SOURCE_CODE      = YES
 | 
				
			||||||
 | 
					LATEX_TIMESTAMP        = YES
 | 
				
			||||||
 | 
					ENABLE_PREPROCESSING   = NO
 | 
				
			||||||
 | 
					HAVE_DOT               = YES
 | 
				
			||||||
 | 
					UML_LOOK               = YES
 | 
				
			||||||
 | 
					CALL_GRAPH             = YES
 | 
				
			||||||
 | 
					CALLER_GRAPH           = YES
 | 
				
			||||||
 | 
					INTERACTIVE_SVG        = YES
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user