diff cmake/function/IrccdBuildHtml.cmake @ 818:49fa22f0b4b9

windows: support for VS2017
author David Demelier <markand@malikania.fr>
date Fri, 23 Nov 2018 21:50:20 +0100
parents ebe561276c33
children 06cc2f95f479
line wrap: on
line diff
--- a/cmake/function/IrccdBuildHtml.cmake	Mon Nov 19 07:04:42 2018 +0100
+++ b/cmake/function/IrccdBuildHtml.cmake	Fri Nov 23 21:50:20 2018 +0100
@@ -71,80 +71,78 @@
 endif ()
 
 macro(irccd_build_html)
-	if (NOT IRCCD_HAVE_HTML)
-		return ()
-	endif ()
+	if (IRCCD_HAVE_HTML)
+		set(options "")
+		set(oneValueArgs "COMPONENT;OUTPUT_DIR;OUTPUT_VAR;SOURCE;TEMPLATE")
+		set(multiValueArgs "VARIABLES")
 
-	set(options "")
-	set(oneValueArgs "COMPONENT;OUTPUT_DIR;OUTPUT_VAR;SOURCE;TEMPLATE")
-	set(multiValueArgs "VARIABLES")
-
-	cmake_parse_arguments(HTML "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+		cmake_parse_arguments(HTML "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
 
-	if (NOT HTML_SOURCE)
-		message(FATAL_ERROR "Missing SOURCE parameter")
-	endif ()
-	if (NOT HTML_TEMPLATE)
-		message(FATAL_ERROR "Missing TEMPLATE parameter")
-	endif ()
-	if (IS_ABSOLUTE ${HTML_OUTPUT_DIR})
-		message(FATAL_ERROR "OUTPUT_DIR variable must not be absolute")
-	endif ()
+		if (NOT HTML_SOURCE)
+			message(FATAL_ERROR "Missing SOURCE parameter")
+		endif ()
+		if (NOT HTML_TEMPLATE)
+			message(FATAL_ERROR "Missing TEMPLATE parameter")
+		endif ()
+		if (IS_ABSOLUTE ${HTML_OUTPUT_DIR})
+			message(FATAL_ERROR "OUTPUT_DIR variable must not be absolute")
+		endif ()
 
-	#
-	# Get the basename, use string REGEX REPLACE because
-	# get_filename_component will remove all extensions while we only want
-	# to remove md. (e.g. irccd.conf.md becomes irccd.conf).
-	#
-	get_filename_component(filename ${HTML_SOURCE} NAME)
-	string(REGEX REPLACE "^(.*)\\.md$" "\\1" filename ${filename})
+		#
+		# Get the basename, use string REGEX REPLACE because
+		# get_filename_component will remove all extensions while we only want
+		# to remove md. (e.g. irccd.conf.md becomes irccd.conf).
+		#
+		get_filename_component(filename ${HTML_SOURCE} NAME)
+		string(REGEX REPLACE "^(.*)\\.md$" "\\1" filename ${filename})
 
-	# Compute baseurl.
-	file(
-		RELATIVE_PATH
-		baseurl
-		${CMAKE_BINARY_DIR}/html/${HTML_OUTPUT_DIR}
-		${CMAKE_BINARY_DIR}/html
-	)
+		# Compute baseurl.
+		file(
+			RELATIVE_PATH
+			baseurl
+			${CMAKE_BINARY_DIR}/html/${HTML_OUTPUT_DIR}
+			${CMAKE_BINARY_DIR}/html
+		)
 
-	if (baseurl STREQUAL "")
-		set(baseurl "./")
-	endif ()
-	if (NOT HTML_OUTPUT_DIR OR HTML_OUTPUT_DIR STREQUAL "")
-		set(HTML_OUTPUT_DIR ".")
-	endif ()
+		if (baseurl STREQUAL "")
+			set(baseurl "./")
+		endif ()
+		if (NOT HTML_OUTPUT_DIR OR HTML_OUTPUT_DIR STREQUAL "")
+			set(HTML_OUTPUT_DIR ".")
+		endif ()
 
-	# Filname path to output directory and files.
-	set(outputdir ${CMAKE_BINARY_DIR}/html/${HTML_OUTPUT_DIR})
-	set(output ${outputdir}/${filename}.html)
+		# Filname path to output directory and files.
+		set(outputdir ${CMAKE_BINARY_DIR}/html/${HTML_OUTPUT_DIR})
+		set(output ${outputdir}/${filename}.html)
 
-	# Build arguments.
-	if (HTML_TEMPLATE)
-		set(args -t ${HTML_TEMPLATE} -v baseurl="${baseurl}")
-	endif ()
+		# Build arguments.
+		if (HTML_TEMPLATE)
+			set(args -t ${HTML_TEMPLATE} -v baseurl="${baseurl}")
+		endif ()
 
-	add_custom_command(
-		OUTPUT ${output}
-		COMMAND
-			${CMAKE_COMMAND} -E make_directory ${outputdir}
-		COMMAND
-			$<TARGET_FILE:marker::marker> ${args} ${HTML_VARIABLES}
-			$<TARGET_FILE:marker::libmarker-bulma> ${output} ${HTML_SOURCE}
-		DEPENDS
-			${HTML_SOURCE}
-			${HTML_TEMPLATE}
-	)
+		add_custom_command(
+			OUTPUT ${output}
+			COMMAND
+				${CMAKE_COMMAND} -E make_directory ${outputdir}
+			COMMAND
+				$<TARGET_FILE:marker::marker> ${args} ${HTML_VARIABLES}
+				$<TARGET_FILE:marker::libmarker-bulma> ${output} ${HTML_SOURCE}
+			DEPENDS
+				${HTML_SOURCE}
+				${HTML_TEMPLATE}
+		)
 
-	# Install the documentation file as component if provided.
-	if (HTML_COMPONENT)
-		install(
-			FILES ${output}
-			COMPONENT ${HTML_COMPONENT}
-			DESTINATION ${CMAKE_INSTALL_DOCDIR}/${HTML_OUTPUT_DIR}
-		)
-	endif ()
+		# Install the documentation file as component if provided.
+		if (HTML_COMPONENT)
+			install(
+				FILES ${output}
+				COMPONENT ${HTML_COMPONENT}
+				DESTINATION ${CMAKE_INSTALL_DOCDIR}/${HTML_OUTPUT_DIR}
+			)
+		endif ()
 
-	if (HTML_OUTPUT_VAR)
-		set(${HTML_OUTPUT_VAR} ${output})
+		if (HTML_OUTPUT_VAR)
+			set(${HTML_OUTPUT_VAR} ${output})
+		endif ()
 	endif ()
 endmacro ()