diff options
| author | Brad King <brad.king@kitware.com> | 2022-09-29 11:53:57 (GMT) |
|---|---|---|
| committer | Kitware Robot <kwrobot@kitware.com> | 2022-09-29 11:54:05 (GMT) |
| commit | beb4f5df47fe28f9dbbb5d6cecfd783e92de14ac (patch) | |
| tree | 1ede2b485b35ae59c489e4d5dded5595f8e43e85 /Help/guide/tutorial/Step4 | |
| parent | f9fb96285126b811104cff133ee85a2e9b92f173 (diff) | |
| parent | 37fceb6fd382bcfb85860b6b288bfc323e4f4ab7 (diff) | |
| download | CMake-beb4f5df47fe28f9dbbb5d6cecfd783e92de14ac.zip CMake-beb4f5df47fe28f9dbbb5d6cecfd783e92de14ac.tar.gz CMake-beb4f5df47fe28f9dbbb5d6cecfd783e92de14ac.tar.bz2 | |
Merge topic 'tutorial_step4_update'
37fceb6fd3 Tutorial: Update step 4 style
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7646
Diffstat (limited to 'Help/guide/tutorial/Step4')
| -rw-r--r-- | Help/guide/tutorial/Step4/CMakeLists.txt | 26 | ||||
| -rw-r--r-- | Help/guide/tutorial/Step4/MathFunctions/CMakeLists.txt | 2 |
2 files changed, 28 insertions, 0 deletions
diff --git a/Help/guide/tutorial/Step4/CMakeLists.txt b/Help/guide/tutorial/Step4/CMakeLists.txt index 38e9b1f..fa4aab2 100644 --- a/Help/guide/tutorial/Step4/CMakeLists.txt +++ b/Help/guide/tutorial/Step4/CMakeLists.txt @@ -1,12 +1,36 @@ +# TODO 4: Update the minimum required version to 3.15 + cmake_minimum_required(VERSION 3.10) # set the project name and version project(Tutorial VERSION 1.0) +# TODO 1: Replace the following code by: +# * Creating an interface library called tutorial_compiler_flags +# Hint: use add_library() with the INTERFACE signature +# * Add compiler feature cxx_std_11 to tutorial_compiler_flags +# Hint: Use target_compile_features() + # specify the C++ standard set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED True) +# TODO 5: Create helper variables to determine which compiler we are using: +# * Create a new variable gcc_like_cxx that is true if we are using CXX and +# any of the following compilers: ARMClang, AppleClang, Clang, GNU, LCC +# * Create a new variable msvc_cxx that is true if we are using CXX and MSVC +# Hint: Use set() and COMPILE_LANG_AND_ID + +# TODO 6: Add warning flag compile options to the interface library +# tutorial_compiler_flags. +# * For gcc_like_cxx, add flags -Wall;-Wextra;-Wshadow;-Wformat=2;-Wunused +# * For msvc_cxx, add flags -W3 +# Hint: Use target_compile_options() + +# TODO 7: With nested generator expressions, only use the flags for the +# build-tree +# Hint: Use BUILD_INTERFACE + # should we use our own math functions option(USE_MYMATH "Use tutorial provided math implementation" ON) @@ -23,6 +47,8 @@ endif() # add the executable add_executable(Tutorial tutorial.cxx) +# TODO 2: Link to tutorial_compiler_flags + target_link_libraries(Tutorial PUBLIC ${EXTRA_LIBS}) # add the binary tree to the search path for include files diff --git a/Help/guide/tutorial/Step4/MathFunctions/CMakeLists.txt b/Help/guide/tutorial/Step4/MathFunctions/CMakeLists.txt index 0515852..5f7369c 100644 --- a/Help/guide/tutorial/Step4/MathFunctions/CMakeLists.txt +++ b/Help/guide/tutorial/Step4/MathFunctions/CMakeLists.txt @@ -5,3 +5,5 @@ add_library(MathFunctions mysqrt.cxx) target_include_directories(MathFunctions INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} ) + +# TODO 3: Link to tutorial_compiler_flags |
