diff options
author | Joseph Huber <huberjn@outlook.com> | 2024-06-07 07:07:00 -0500 |
---|---|---|
committer | Joseph Huber <huberjn@outlook.com> | 2024-06-07 07:55:06 -0500 |
commit | 2c3723d321ae000dfc9dfab064076799a90c322e (patch) | |
tree | 2055d7b7e521b53778d4d5de45b0de04d22b539f /libc/cmake | |
parent | 913a8244fe8687df1f27b61c87aa23cf4fcbe84e (diff) | |
download | llvm-2c3723d321ae000dfc9dfab064076799a90c322e.zip llvm-2c3723d321ae000dfc9dfab064076799a90c322e.tar.gz llvm-2c3723d321ae000dfc9dfab064076799a90c322e.tar.bz2 |
[libc] Correctly pass the C++ standard to NVPTX internal builds
Summary:
The NVPTX build wasn't getting the `C++20` standard necessary for a few
files.
Diffstat (limited to 'libc/cmake')
-rw-r--r-- | libc/cmake/modules/LLVMLibCObjectRules.cmake | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/libc/cmake/modules/LLVMLibCObjectRules.cmake b/libc/cmake/modules/LLVMLibCObjectRules.cmake index 134c514..1f80e7f 100644 --- a/libc/cmake/modules/LLVMLibCObjectRules.cmake +++ b/libc/cmake/modules/LLVMLibCObjectRules.cmake @@ -44,6 +44,10 @@ function(create_object_library fq_target_name) message(FATAL_ERROR "'add_object_library' rule requires SRCS to be specified.") endif() + if(NOT ADD_OBJECT_CXX_STANDARD) + set(ADD_OBJECT_CXX_STANDARD ${CMAKE_CXX_STANDARD}) + endif() + set(internal_target_name ${fq_target_name}.__internal__) set(public_packaging_for_internal "-DLIBC_COPT_PUBLIC_PACKAGING") @@ -75,6 +79,9 @@ function(create_object_library fq_target_name) target_include_directories(${internal_target_name} PRIVATE ${LIBC_SOURCE_DIR}) target_compile_options(${internal_target_name} PRIVATE ${compile_options} -fno-lto -march=${LIBC_GPU_TARGET_ARCHITECTURE}) + set_target_properties(${internal_target_name} + PROPERTIES + CXX_STANDARD ${ADD_OBJECT_CXX_STANDARD}) endif() if(SHOW_INTERMEDIATE_OBJECTS) @@ -92,9 +99,6 @@ function(create_object_library fq_target_name) target_link_libraries(${fq_target_name} PUBLIC ${fq_deps_list}) endif() - if(NOT ADD_OBJECT_CXX_STANDARD) - set(ADD_OBJECT_CXX_STANDARD ${CMAKE_CXX_STANDARD}) - endif() set_target_properties( ${fq_target_name} PROPERTIES |