瀏覽代碼

Merge topic 'tutorial_install_when_built_static'

0fdfd6bf37 Tutorial: Install correctly when built statically

Acked-by: Kitware Robot <[email protected]>
Merge-request: !4906
Brad King 5 年之前
父節點
當前提交
3252bc4476

+ 5 - 1
Help/guide/tutorial/Complete/MathFunctions/CMakeLists.txt

@@ -57,7 +57,11 @@ set_property(TARGET MathFunctions PROPERTY VERSION "1.0.0")
 set_property(TARGET MathFunctions PROPERTY SOVERSION "1")
 set_property(TARGET MathFunctions PROPERTY SOVERSION "1")
 
 
 # install rules
 # install rules
-install(TARGETS MathFunctions tutorial_compiler_flags
+set(installable_libs MathFunctions tutorial_compiler_flags)
+if(TARGET SqrtLibrary)
+  list(APPEND installable_libs SqrtLibrary)
+endif()
+install(TARGETS ${installable_libs}
         DESTINATION lib
         DESTINATION lib
         EXPORT MathFunctionsTargets)
         EXPORT MathFunctionsTargets)
 install(FILES MathFunctions.h DESTINATION include)
 install(FILES MathFunctions.h DESTINATION include)

+ 5 - 1
Help/guide/tutorial/Step10/MathFunctions/CMakeLists.txt

@@ -47,5 +47,9 @@ endif()
 target_compile_definitions(MathFunctions PRIVATE "EXPORTING_MYMATH")
 target_compile_definitions(MathFunctions PRIVATE "EXPORTING_MYMATH")
 
 
 # install rules
 # install rules
-install(TARGETS MathFunctions DESTINATION lib)
+set(installable_libs MathFunctions)
+if(TARGET SqrtLibrary)
+  list(APPEND installable_libs SqrtLibrary)
+endif()
+install(TARGETS ${installable_libs} DESTINATION lib)
 install(FILES MathFunctions.h DESTINATION include)
 install(FILES MathFunctions.h DESTINATION include)

+ 5 - 1
Help/guide/tutorial/Step11/MathFunctions/CMakeLists.txt

@@ -51,5 +51,9 @@ target_link_libraries(MathFunctions PUBLIC tutorial_compiler_flags)
 target_compile_definitions(MathFunctions PRIVATE "EXPORTING_MYMATH")
 target_compile_definitions(MathFunctions PRIVATE "EXPORTING_MYMATH")
 
 
 # install rules
 # install rules
-install(TARGETS MathFunctions DESTINATION lib)
+set(installable_libs MathFunctions tutorial_compiler_flags)
+if(TARGET SqrtLibrary)
+  list(APPEND installable_libs SqrtLibrary)
+endif()
+install(TARGETS ${installable_libs} DESTINATION lib)
 install(FILES MathFunctions.h DESTINATION include)
 install(FILES MathFunctions.h DESTINATION include)

+ 5 - 1
Help/guide/tutorial/Step12/MathFunctions/CMakeLists.txt

@@ -53,7 +53,11 @@ target_link_libraries(MathFunctions PUBLIC tutorial_compiler_flags)
 target_compile_definitions(MathFunctions PRIVATE "EXPORTING_MYMATH")
 target_compile_definitions(MathFunctions PRIVATE "EXPORTING_MYMATH")
 
 
 # install rules
 # install rules
-install(TARGETS MathFunctions tutorial_compiler_flags
+set(installable_libs MathFunctions tutorial_compiler_flags)
+if(TARGET SqrtLibrary)
+  list(APPEND installable_libs SqrtLibrary)
+endif()
+install(TARGETS ${installable_libs}
         DESTINATION lib
         DESTINATION lib
         EXPORT MathFunctionsTargets)
         EXPORT MathFunctionsTargets)
 install(FILES MathFunctions.h DESTINATION include)
 install(FILES MathFunctions.h DESTINATION include)

+ 3 - 3
Help/guide/tutorial/index.rst

@@ -675,9 +675,9 @@ The first step is to update the starting section of the top-level
 
 
 Now that we have made MathFunctions always be used, we will need to update
 Now that we have made MathFunctions always be used, we will need to update
 the logic of that library. So, in ``MathFunctions/CMakeLists.txt`` we need to
 the logic of that library. So, in ``MathFunctions/CMakeLists.txt`` we need to
-create a SqrtLibrary that will conditionally be built when ``USE_MYMATH`` is
-enabled. Now, since this is a tutorial, we are going to explicitly require
-that SqrtLibrary is built statically.
+create a SqrtLibrary that will conditionally be built and installed when
+``USE_MYMATH`` is enabled. Now, since this is a tutorial, we are going to
+explicitly require that SqrtLibrary is built statically.
 
 
 The end result is that ``MathFunctions/CMakeLists.txt`` should look like:
 The end result is that ``MathFunctions/CMakeLists.txt`` should look like: