Placeholder Image

字幕列表 影片播放

  • Hi, and welcome to a screencast on CMake support in CLion. Now, CMake is

  • central to CLion's operations

  • so when you make a new project, or when you open an existing project, you're

  • going to be working

  • with CMake build scripts. Now when you

  • import something from sources, you can import a set of files that has nothing

  • to do with CMake per se and, in this case,

  • CLion will simply generate the CMakeLists file for you

  • but here we're going to make a new project. I'll make this one "Hello CMake"

  • and we'll take a look at how CMake support is actually

  • implemented

  • so here is our generated project and you'll notice that

  • all the definitions related to this project are in a file called

  • CMakeLists

  • so that's the project file that CMake will be using to build the application

  • and CLion itself is using to figure out what's what

  • in the project itself; so as soon as you make any changes

  • CLion is going to attempt to reload those changes, so for example let me

  • comment out this line here. As soon as I do that

  • CLion is telling me that the CMake project needs to be reloaded and there

  • are two options here: one is to press the link to reload the changes

  • or I can enable auto-reloading which means that

  • anytime I change the CMakeLists file, CLion

  • is going to reload the project. Now, CLion, as I mentioned, it takes all the

  • information about the project from the CMakeLists file, so it figures out

  • what files make up the application;

  • it takes the target name,

  • it takes variable values, compiler options and so on.

  • And so operations in CLion quite often involve changes to the CMakeLists

  • file so, for example, if I were to

  • add a new class [let's call it Example] you'll see that

  • there is an option here too added to the targets. And as soon

  • as I press OK here, if we go back into CMakeLists, you can see that both the

  • header

  • and the CPP have been added to this CMakeLists file

  • Now, of course, in addition to manipulating CMakeLists filed by

  • having new classes for example you can simply and it'd manually

  • so for instance I can

  • an instruction to find a package in let's take a look at how this works so

  • that suppose

  • i right find package notice I get code completion here I can simply press

  • return at this point but I have provided a parameter

  • so what happens isline tries to fire up see make

  • and look for potential problems with the sea make lists file

  • and indeed had reports and there it tells me that fine package is called

  • within

  • incorrect number of arguments so if I were to provide a bogus

  • argument like asdf for example then once again

  • see make doesn't reload and now we get a warning that there is no find a SPF 30

  • me

  • so that's finally put something sensible in here and in a similar fashion

  • line provides code completion for the file name so let me simply comment out

  • the fires here

  • and that suppose I want to add example to the source file

  • soon as I start typing notice I get code completion for example dot CPP an

  • example that age so I can simply

  • press return here and since we collected to order reload the changes

  • those changes get automatically updated without any

  • involvement from me personally so we looked at the scene make

  • aris in the appropriate when there let's take a look at once again

  • in the tests are being up see make so there are no problems right now but

  • let's talk about some

  • of the buttons that are available here suffer stubble the scenic settings

  • now the four-week even jump in to see make let's talk about the two chain n

  • hear things are fairly simple because he lie in tax the bundles

  • a version ups he makes so you don't have to install one

  • unless there is a specific question that you want in which case you can take the

  • you specified

  • and simply provide a path for that version will

  • go with the one that's provided for us byline and noticed that there is

  • a said of indicators here telling you whether or not

  • the settings you've got a correct so that's the to change in terms of C make

  • but let's get back into the sea make setting so here's our setting for

  • automatically reloading the project on any kind of changes

  • in addition it's possible to provide see make options

  • so here for example I can type dashed d and then simply rightfully cause bar to

  • provide a property

  • we are also electing to pass system environment variables and there is a

  • hyperlink air to

  • show you what those environment variables actually are and in it she you

  • can specify

  • additional properties but once again typing the name here

  • and some value in here so in addition to that you can specify the build-up in so

  • for example specifying how many course you want

  • your application to be compiled on and you can also specify the build

  • output path and this can be either absolute or relative

  • for example I can specified a folder called bill that would be relative

  • to my project would so let's press okay here and we've incorporated some setting

  • so now see makers going to

  • make you serve the San notice we get a small warning here that that setting for

  • that we specified isn't actually being used for anything

  • now in addition to this setting there is another setting here call change project

  • to attend to explain how it works let me give you an example where

  • all of our project files are inside some folder deeper

  • in our project structure so what I'm going to do is I'm going to make

  • in your territory let's call it example and let's suppose

  • that although our files are in fact in that territory so I'll put them

  • here now imagine what would happen

  • if we open the project right now so let me close

  • line close the project humble open it once again but this time

  • I'm going to open it from that territory where I put it

  • so I'm taking the project from the example folder and

  • as I press hello well as you can imagine they end up having

  • that exact folder has my rude however

  • what would happen if I wanted to work with the previous poll to the one that I

  • had previously shown

  • in this case what I can go in to see make and I can choose an option to

  • change the project root

  • now what I can do is I can move upper-level

  • and choosing the higher-level folder as the rude can press OK here

  • and that is the structure in the project view has changed we now have the example

  • for your being a subfolder other higher hello see make folder

  • so in addition to the problems we know we also have the

  • capture window and this is where you can edit the sea make cash so once again you

  • can

  • go into a particular property you can specify a setting like

  • changing something from onto of and don't forget to press the Save button to

  • incorporate the settings

  • finally let's talk about bill targets so essentially in RC make lists far we have

  • a single

  • excutive ok I'll tell a/c make so if you go into the configurations for TSI line

  • has inferred from the sea make this file

  • you will see that there is in fact a Hello see make target here

  • but there is also a build all target

  • which incorporates all the targets inside you see make lists while

  • and these are some other ways in whichline supports working with C make

  • tough to find

  • more aboutline go to egypt brings the comp slashedline

  • thanks for watching

Hi, and welcome to a screencast on CMake support in CLion. Now, CMake is

字幕與單字

單字即點即查 點擊單字可以查詢單字解釋

A2 初級

CLion中的CMake支持 (CMake support in CLion)

  • 56 4
    Amy.Lin 發佈於 2021 年 01 月 14 日
影片單字