|
|
Line 1: |
Line 1: |
| [[CMake_User_Contributed_Macros|Back]]
| | {{CMake/Template/Moved}} |
|
| |
|
| This macro takes a list of files as input and generates source groups that follow the relative path of the files from the ProjectDir folder. This is strictly a cosmetic change, but it's nice if you're using the CMake generated projects also for development | | This page has moved [https://gitlab.kitware.com/cmake/community/wikis/contrib/macros/GenerateProject here]. |
| | |
| -----
| |
| | |
| <pre>
| |
| # create hierarchical source groups
| |
| MACRO ( GenerateProject ProjectDir ProjectSources )
| |
|
| |
| SET ( DirSources "${ProjectSources}" )
| |
| FOREACH ( Source ${DirSources} )
| |
| STRING ( REGEX REPLACE "${ProjectDir}" "" RelativePath "${Source}" )
| |
| STRING ( REGEX REPLACE "[\\\\/][^\\\\/]*$" "" RelativePath "${RelativePath}" )
| |
| STRING ( REGEX REPLACE "^[\\\\/]" "" RelativePath "${RelativePath}" )
| |
| STRING ( REGEX REPLACE "/" "\\\\\\\\" RelativePath "${RelativePath}" )
| |
| SOURCE_GROUP ( "${RelativePath}" FILES ${Source} )
| |
| ENDFOREACH ( Source )
| |
| ENDMACRO ( GenerateProject)
| |
| </pre>
| |
| | |
| -----
| |
| | |
| | |
| A typical use for this macro would be:
| |
| | |
| <pre>
| |
| GenerateProject ( src/MyLib ${MyLibSources} )
| |
| ADD_LIBRARY (MyLib SHARED ${MyLibSources} )
| |
| </pre>
| |
| | |
| | |
| [[CMake_User_Contributed_Macros|Back]]
| |
| | |
| {{CMake/Template/Footer}}
| |
Latest revision as of 15:41, 30 April 2018