diff options
author | Markus Ferrell <markus.ferrell@kitware.com> | 2022-07-20 17:24:40 (GMT) |
---|---|---|
committer | Markus Ferrell <markus.ferrell@kitware.com> | 2022-08-08 21:15:48 (GMT) |
commit | ccba87b05b022cc021580b65ae51bbae0002fadb (patch) | |
tree | e90c94d2bb65845b23c483dae801cfbd8cf498d3 /Help/guide/tutorial/Step6 | |
parent | ad20e7b2ae6e698b6778f0572f1a03fdf1fcacda (diff) | |
download | CMake-ccba87b05b022cc021580b65ae51bbae0002fadb.zip CMake-ccba87b05b022cc021580b65ae51bbae0002fadb.tar.gz CMake-ccba87b05b022cc021580b65ae51bbae0002fadb.tar.bz2 |
Tutorial: Move step 10 to step 4
Shifts steps 4-9 to 5-10.
Diffstat (limited to 'Help/guide/tutorial/Step6')
-rw-r--r-- | Help/guide/tutorial/Step6/CMakeLists.txt | 19 | ||||
-rw-r--r-- | Help/guide/tutorial/Step6/MathFunctions/CMakeLists.txt | 5 |
2 files changed, 18 insertions, 6 deletions
diff --git a/Help/guide/tutorial/Step6/CMakeLists.txt b/Help/guide/tutorial/Step6/CMakeLists.txt index 3ac5cd6..da9e852 100644 --- a/Help/guide/tutorial/Step6/CMakeLists.txt +++ b/Help/guide/tutorial/Step6/CMakeLists.txt @@ -1,11 +1,20 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.15) # set the project name and version project(Tutorial VERSION 1.0) # specify the C++ standard -set(CMAKE_CXX_STANDARD 11) -set(CMAKE_CXX_STANDARD_REQUIRED True) +add_library(tutorial_compiler_flags INTERFACE) +target_compile_features(tutorial_compiler_flags INTERFACE cxx_std_11) + +# add compiler warning flags just when building this project via +# the BUILD_INTERFACE genex +set(gcc_like_cxx "$<COMPILE_LANG_AND_ID:CXX,ARMClang,AppleClang,Clang,GNU,LCC>") +set(msvc_cxx "$<COMPILE_LANG_AND_ID:CXX,MSVC>") +target_compile_options(tutorial_compiler_flags INTERFACE + "$<${gcc_like_cxx}:$<BUILD_INTERFACE:-Wall;-Wextra;-Wshadow;-Wformat=2;-Wunused>>" + "$<${msvc_cxx}:$<BUILD_INTERFACE:-W3>>" +) # should we use our own math functions option(USE_MYMATH "Use tutorial provided math implementation" ON) @@ -22,7 +31,7 @@ endif() # add the executable add_executable(Tutorial tutorial.cxx) -target_link_libraries(Tutorial PUBLIC ${EXTRA_LIBS}) +target_link_libraries(Tutorial PUBLIC ${EXTRA_LIBS} tutorial_compiler_flags) # add the binary tree to the search path for include files # so that we will find TutorialConfig.h @@ -37,7 +46,7 @@ install(FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h" ) # enable testing -include(CTest) +enable_testing() # does the application run add_test(NAME Runs COMMAND Tutorial 25) diff --git a/Help/guide/tutorial/Step6/MathFunctions/CMakeLists.txt b/Help/guide/tutorial/Step6/MathFunctions/CMakeLists.txt index b12f27d..226099a 100644 --- a/Help/guide/tutorial/Step6/MathFunctions/CMakeLists.txt +++ b/Help/guide/tutorial/Step6/MathFunctions/CMakeLists.txt @@ -6,6 +6,9 @@ target_include_directories(MathFunctions INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} ) +target_link_libraries(MathFunctions tutorial_compiler_flags) + # install rules -install(TARGETS MathFunctions DESTINATION lib) +set(installable_libs MathFunctions tutorial_compiler_flags) +install(TARGETS ${installable_libs} DESTINATION lib) install(FILES MathFunctions.h DESTINATION include) |