CMake User Contributed Macros: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
(typo: ADD_CXXTEXT to ADD_CXXTEST)
(Replace content with link to new CMake community wiki)
 
(16 intermediate revisions by 5 users not shown)
Line 1: Line 1:
'''User Contributed Macros'''
{{CMake/Template/Moved}}


== Find Modules ==
This page has moved [https://gitlab.kitware.com/cmake/community/wikis/Contrib here].
Although CMake comes with a whole bunch of FindXXX packages, there is a large number of packages there are not covered. The hope is that these user-contributed macros will eventually make their way into the official distribution.  Before contributing, please have your FindXXX package conform to the [http://www.cmake.org/cgi-bin/viewcvs.cgi/Modules/readme.txt?root=CMake&view=markup CMake Module Guidelines].
 
#[[CMakeUserFindAUTOPACK | Find Autopack]]
#[[CMakeUserFindClanLib | Find ClanLib]]
#[[CMakeUserFindDirectShow | Find DirectShow]]
#[[CMakeUserFindMySQL | Find MySQL]]
#[[CMakeUserFindPARMETIS | Find ParMetis]]
#[[CMakeUserFindVLD| Find VLD - Visual Leak Debugger]]
#[[CMakeUserUseBison| Use Bison - Parser Generator]]
#[[CMakeUserUseFlex| Use Flex - Lexer Generator]]
#[[CMakeUserUseLATEX| Use LaTeX - Build LaTeX Documents]]
#[[CMakeUserUseRPMTools| Use RPM Tools - Build RPM (source or binary)]]
 
[[CMake|Home]]  [[CMake_User_Contributed_Macros|Back]]
 
== Make Equivalents ==
While attempting to convert a gnu makefile to Cmake, there was
a need to provide some macros to provide equivalent functionality.  
 
#[[CMakeMacroFilterOut | FILTER_OUT (filter-out)]]
#[[CMakeMacroLibtoolFile | CREATE_LIBTOOL_FILE (create a libtool archive file)]]
 
[[CMake|Home]]  [[CMake_User_Contributed_Macros|Back]]
 
== Some helpers along the way ==
#[[CMakeCopyIfDifferent | COPY_IF_DIFFERENT]]
#[[CMakeMacroMerge | MERGE]] --- Merges two sorted lists into a single sorted list. Useful to keep source and header files next to each other.
#[[CMakeMacroCreateFinalFile | CREATE_FINAL_FILE]] -- create a KDE style final file, which includes all source files, so that the compilation will be noticable faster.
#[[CMakeMacroListOperations | List Operations]] -- A compilation of some helpful list operations.
#[[CMakeMacroParseArguments | PARSE_ARGUMENTS]] -- A macro to help parse arguments for other macros.
#[[CMakeMacroAddCxxTest | ADD_CXXTEST]] -- A macro to add tests written the CxxTest testing framework.
#[[CMakeMacroForceAddFlags | Force Flags]] -- A macro to force certain arguments for specified flag (similar to a set union).
#[[CMakeTestInline | Test Inline]] -- A test for how your compiler defines inline.
#[[CMakeCompareVersionStrings | COMPARE_VERSION_STRINGS]] -- A macro to help compare arbitrary version strings for less than, equal to, and greater than.
 
See also the list of all macros in the [[:Category:CMakeMacro | CMake Macro category]].
 
[[CMake|Home]] 
[[CMake_User_Contributed_Macros|Back]]
 
== Visual Studio generator helpers ==
When generating Visual Studio projects, the priorities can be
sometimes different than for other generators. These are some
VS-specific (and sometimes not-so-specific) macros that could
help you generate better VS projects.
 
#[[CMakeMacroGatherProjectFiles | GatherProjectFiles]] -- create and cache a list of project files by recursively globbing a directory structure
#[[CMakeMacroGenerateProject | GenerateProject]] -- creates a VS project with subgroups that mimic the directory structure
 
 
[[CMake|Home]]  [[CMake_User_Contributed_Macros|Back]]
 
{{CMake/Template/Footer}}

Latest revision as of 15:41, 30 April 2018


The CMake community Wiki has moved to the Kitware GitLab Instance.

This page has moved here.