[CMake] Help creating a module for detecting mysql-connector-c++
Ryan Pavlik
rpavlik at iastate.edu
Wed May 26 14:58:29 EDT 2010
On 05/26/2010 01:49 PM, Torri, Stephen CIV NSWCDD, W15 wrote:
>> From: Ryan Pavlik [mailto:rpavlik at iastate.edu]
>> Sent: Wed 5/26/2010 2:42 PM
>> To: Torri, Stephen CIV NSWCDD, W15; cmake at cmake.org
>> Subject: Re: [CMake] Help creating a module for detecting mysql-connector-c++
>>
>> Didn't test it, just ran it through my cleanup software and then tweaked
>> it a bit by hand. Hopefully this should help - at the very least it
>> will be more readable and standardized.
>>
>> With this, you should just be able to set a MYSQLCONNECTORCPP_ROOT_DIR
>> and have it find the rest properly and automatically, marking as
>> advanced when possible.
>>
>> Ryan
>>
> What software are you using to clean up a CMakeLists.txt file? Thanks for the help.
>
> Stephen
>
It's "cmake-bulk-decrufter" - software I wrote that parses the CMake
file into a parse tree in Python, optionally applies modifications to it
(such as "lowercase commands" "loose loop constructs" etc) using the
visitor pattern, then re-serializes it out to a (nicely-indented) cmake
file. Instead of overwriting your file, because you might want to
hand-tweak its cleanups, it opens your choice of merge programs with the
original and the cleaned up version both for reference. (In your case,
I took the output and modified it by hand further, making it match the
style of the de-facto standard module style - look at
http://github.com/rpavlik/wiimote-head-tracker-gui to see more of my
modules)
It's internal only for right now, but if there's interest I might be
able to release it. (If it were completely up to me, I would, but I
wrote it in the course of my work, so I have to check first.) I
personally have found it tremendously useful in improving my ability to
understand and work with other peoples' CMake code, especially those who
started by copying outdated or sloppy examples (which is a lot).
Ryan
--
Ryan Pavlik
HCI Graduate Student
Virtual Reality Applications Center
Iowa State University
rpavlik at iastate.edu
http://academic.cleardefinition.com
More information about the CMake
mailing list