# Auto-generated by tools/gen_part1.py — do not edit by hand.
# 章节：p01/ch05
add_executable(p1c05_01 function_template.cpp)
set_target_properties(p1c05_01 PROPERTIES C_STANDARD 17 C_STANDARD_REQUIRED ON C_EXTENSIONS OFF)
set_target_properties(p1c05_01 PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF)
target_compile_options(p1c05_01 PRIVATE -Wall -Wextra)
add_executable(p1c05_02 template_vs_function.cpp)
set_target_properties(p1c05_02 PROPERTIES C_STANDARD 17 C_STANDARD_REQUIRED ON C_EXTENSIONS OFF)
set_target_properties(p1c05_02 PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF)
target_compile_options(p1c05_02 PRIVATE -Wall -Wextra)
add_executable(p1c05_03 template_call_rules.cpp)
set_target_properties(p1c05_03 PROPERTIES C_STANDARD 17 C_STANDARD_REQUIRED ON C_EXTENSIONS OFF)
set_target_properties(p1c05_03 PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF)
target_compile_options(p1c05_03 PRIVATE -Wall -Wextra)
add_executable(p1c05_04 template_limitations.cpp)
set_target_properties(p1c05_04 PROPERTIES C_STANDARD 17 C_STANDARD_REQUIRED ON C_EXTENSIONS OFF)
set_target_properties(p1c05_04 PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF)
target_compile_options(p1c05_04 PRIVATE -Wall -Wextra)
add_executable(p1c05_05 class_template_basics.cpp)
set_target_properties(p1c05_05 PROPERTIES C_STANDARD 17 C_STANDARD_REQUIRED ON C_EXTENSIONS OFF)
set_target_properties(p1c05_05 PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF)
target_compile_options(p1c05_05 PRIVATE -Wall -Wextra)
add_executable(p1c05_06 class_template_as_param.cpp)
set_target_properties(p1c05_06 PROPERTIES C_STANDARD 17 C_STANDARD_REQUIRED ON C_EXTENSIONS OFF)
set_target_properties(p1c05_06 PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF)
target_compile_options(p1c05_06 PRIVATE -Wall -Wextra)
add_executable(p1c05_07 class_template_derives_class.cpp)
set_target_properties(p1c05_07 PROPERTIES C_STANDARD 17 C_STANDARD_REQUIRED ON C_EXTENSIONS OFF)
set_target_properties(p1c05_07 PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF)
target_compile_options(p1c05_07 PRIVATE -Wall -Wextra)
add_executable(p1c05_08 class_template_derives_template.cpp)
set_target_properties(p1c05_08 PROPERTIES C_STANDARD 17 C_STANDARD_REQUIRED ON C_EXTENSIONS OFF)
set_target_properties(p1c05_08 PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF)
target_compile_options(p1c05_08 PRIVATE -Wall -Wextra)
add_executable(p1c05_09 class_template_in_class_impl.cpp)
set_target_properties(p1c05_09 PROPERTIES C_STANDARD 17 C_STANDARD_REQUIRED ON C_EXTENSIONS OFF)
set_target_properties(p1c05_09 PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF)
target_compile_options(p1c05_09 PRIVATE -Wall -Wextra)
add_executable(p1c05_10 class_template_out_of_class_impl.cpp)
set_target_properties(p1c05_10 PROPERTIES C_STANDARD 17 C_STANDARD_REQUIRED ON C_EXTENSIONS OFF)
set_target_properties(p1c05_10 PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF)
target_compile_options(p1c05_10 PRIVATE -Wall -Wextra)
add_executable(p1c05_11 class_template_friend.cpp)
set_target_properties(p1c05_11 PROPERTIES C_STANDARD 17 C_STANDARD_REQUIRED ON C_EXTENSIONS OFF)
set_target_properties(p1c05_11 PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF)
target_compile_options(p1c05_11 PRIVATE -Wall -Wextra)
add_executable(p1c05_12 class_template_application.cpp)
set_target_properties(p1c05_12 PROPERTIES C_STANDARD 17 C_STANDARD_REQUIRED ON C_EXTENSIONS OFF)
set_target_properties(p1c05_12 PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF)
target_compile_options(p1c05_12 PRIVATE -Wall -Wextra)
add_custom_target(all_p01_ch05 DEPENDS p1c05_01 p1c05_02 p1c05_03 p1c05_04 p1c05_05 p1c05_06 p1c05_07 p1c05_08 p1c05_09 p1c05_10 p1c05_11 p1c05_12)
