CMakeMacroGenerateProject: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
(Add explicit preformat markup)
(Replace content with link to new CMake community wiki)
 
(One intermediate revision by one other user not shown)
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


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

This page has moved here.