mirror of
				https://github.com/ArthurSonzogni/FTXUI.git
				synced 2025-10-31 18:48:11 +08:00 
			
		
		
		
	CMake: use compile_features to set min C++ standard (#647)
This commit is contained in:
		| @@ -14,10 +14,7 @@ function(fuzz source) | ||||
|   target_link_libraries(${name} PRIVATE component) | ||||
|   target_compile_options(${name} PRIVATE -fsanitize=fuzzer,address) | ||||
|   target_link_libraries(${name} PRIVATE -fsanitize=fuzzer,address) | ||||
|   set_target_properties(${name} PROPERTIES | ||||
|     CXX_STANDARD 20 | ||||
|     CXX_EXTENSIONS OFF | ||||
|   ) | ||||
|   target_compile_features(${name} PRIVATE cxx_std_17) | ||||
| endfunction(fuzz) | ||||
|  | ||||
| fuzz(terminal_input_parser_test_fuzzer) | ||||
|   | ||||
| @@ -43,19 +43,7 @@ function(ftxui_set_options library) | ||||
|       $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> | ||||
|   ) | ||||
|  | ||||
|   # Play nicely if we are being consumed by another project | ||||
|   # and use their CMAKE_CXX_STANDARD. Otherwise, fall back to 17 | ||||
|   # C++17 is used. We require fold expression at least. | ||||
|   if (DEFINED CMAKE_CXX_STANDARD) | ||||
|     set(CXX_STANDARD ${CMAKE_CXX_STANDARD}) | ||||
|   else() | ||||
|     set(CXX_STANDARD 17) | ||||
|   endif() | ||||
|    | ||||
|   set_target_properties(${library} PROPERTIES | ||||
|     CXX_STANDARD ${CXX_STANDARD} | ||||
|     CXX_EXTENSIONS OFF | ||||
|   ) | ||||
|   target_compile_features(${library} PUBLIC cxx_std_17) | ||||
|  | ||||
|   # Force Microsoft Visual Studio to decode sources files in UTF-8. This applies | ||||
|   # to the library and the library users. | ||||
|   | ||||
| @@ -57,10 +57,7 @@ target_link_libraries(ftxui-tests | ||||
| target_include_directories(ftxui-tests | ||||
|   PRIVATE src | ||||
| ) | ||||
| set_target_properties(ftxui-tests PROPERTIES | ||||
|   CXX_STANDARD 20 | ||||
|   CXX_EXTENSIONS OFF | ||||
| ) | ||||
| target_compile_features(ftxui-tests PRIVATE cxx_std_20) | ||||
|  | ||||
| if (FTXUI_MICROSOFT_TERMINAL_FALLBACK) | ||||
|   target_compile_definitions(ftxui-tests | ||||
|   | ||||
| @@ -8,9 +8,7 @@ function(example name) | ||||
|   target_link_libraries(ftxui_example_${name} PUBLIC ${DIRECTORY_LIB}) | ||||
|   file(RELATIVE_PATH dir ${EXAMPLES_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) | ||||
|   set_property(GLOBAL APPEND PROPERTY FTXUI::EXAMPLES ${dir}/${name}) | ||||
|   set_target_properties(ftxui_example_${name} PROPERTIES | ||||
|     CXX_STANDARD 17 | ||||
|   ) | ||||
|   target_compile_features(ftxui_example_${name} PRIVATE cxx_std_17) | ||||
| endfunction(example) | ||||
|  | ||||
| add_subdirectory(component) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 SpaceIm
					SpaceIm