diff options
Diffstat (limited to 'Help/guide/tutorial/Step3/directions.txt')
-rw-r--r-- | Help/guide/tutorial/Step3/directions.txt | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Help/guide/tutorial/Step3/directions.txt b/Help/guide/tutorial/Step3/directions.txt new file mode 100644 index 0000000..54d0318 --- /dev/null +++ b/Help/guide/tutorial/Step3/directions.txt @@ -0,0 +1,26 @@ +# Adding Usage Requirements for Library # + +Usage requirements allow for far better control over a library / executable's +link and include line. While also giving more control over the transitive +property of targets inside CMake. The primary commands that leverage usage +requirements are: + + - target_compile_definitions + - target_compile_options + - target_include_directories + - target_link_libraries + +First up is MathFunctions. We first state that anybody linking to MathFunctions +needs to include the current source directory, while MathFunctions itself +doesn't. So this can become an INTERFACE usage requirement. + +Remember INTERFACE means things that consumers require but the producer doesn't. + + target_include_directories(MathFunctions + INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) + +Now that we've specified usage requirements for MathFunctions we can safely remove +our uses of the EXTRA_INCLUDES variable. + +Run cmake or cmake-gui to configure the project and then build it with your +chosen build tool. |