.rules generation

Greg Toombs <[email protected]>
Newsgroups gmane.text.doxygen.devel
Message-ID <[email protected]>
Hi there.

I think it would be really cool to add the following functionality
to doxygen at compile-time. As a warning, I have used doxygen but
haven't messed with its source code, so apologies if what I propose is
silly or unfeasible.

I believe some sort of modification to config.h would allow for
generation of an MSVC .rules file similar to (but obviously huger than)
than the following:

<?xml version="1.0" encoding="utf-8"?>

<VisualStudioToolFile

Name="doxygen"

Version="8.00"

>

<Rules>

<CustomBuildRule

Name="doxygen"

DisplayName="doxygen"

CommandLine="echo @INCLUDE =
[inputs]&gt;$(IntDir)\$(InputName).temp&#x0D;&#x0A;[AllOptions]&#x0D;&#x0A;doxygen
$(IntDir)\$(InputName).temp"

Outputs="$(OutDir)\html\index.html"

FileExtensions="*.doxygen"

ExecutionDescription="Generating doxygen documentation..."

>

<Properties>

<StringProperty

Name="PROJECTNAME"

DisplayName="Project name"

Category="Project"

Description="The project name."

HelpURL="http://www.stack.nl/~dimitri/doxygen/config.html#cfg_project_name"

Switch="echo
PROJECT_NAME=[value]&gt;&gt;$(IntDir)\$(InputName).temp
&amp;"

DefaultValue="$(ProjectName)"

/>

<StringProperty

Name="OUTPUTDIRECTORY"

DisplayName="Output directory"

Category="Project"

Description="The output directory for generated
documentation."

HelpURL="http://www.stack.nl/~dimitri/doxygen/config.html#cfg_output_directory"

Switch="echo
OUTPUT_DIRECTORY=[value]&gt;&gt;$(IntDir)\$(InputName).temp
&amp;"

DefaultValue="$(OutDir)"

/>

<EnumProperty

Name="BRIEFMEMBERDESC"

DisplayName="Brief Member Desc"

Category="Project"

Description="Include brief member descriptions
after the members."

HelpURL="http://www.stack.nl/~dimitri/doxygen/config.html#cfg_brief_member_desc"

DefaultValue="1"

>

<Values>

<EnumValue

Value="0"

Switch="echo
BRIEF_MEMBER_DESC=NO&gt;&gt;$(IntDir)\$(InputName).temp
&amp;"

DisplayName="No"

/>

<EnumValue

Value="1"

Switch="echo
BRIEF_MEMBER_DESC=YES&gt;&gt;$(IntDir)\$(InputName).temp
&amp;"

DisplayName="Yes"

/>

</Values>

</EnumProperty>

</Properties>

</CustomBuildRule>

</Rules>

</VisualStudioToolFile>

This would allow for .doxygen files to have their own configuration
section in the project settings. Basically, the rule file generates a
temporary doxygen file on the fly and then runs doxygen, all based on
user-selected parameters in the project settings. I don't foresee this
being terribly difficult to do. Another advantage is that it's portable
- if you want to carry the project over to posix, just take the
generated doxygen file and ignore the MSVC project file.

What do you think?

--

Greg Toombs

Software consultant

Mountain Path Consultation

(519) 400-0065

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

_______________________________________________
Doxygen-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/doxygen-develop
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.