aboutsummaryrefslogtreecommitdiff
path: root/libc/cmake
diff options
context:
space:
mode:
authorJoseph Huber <huberjn@outlook.com>2024-06-07 07:07:00 -0500
committerJoseph Huber <huberjn@outlook.com>2024-06-07 07:55:06 -0500
commit2c3723d321ae000dfc9dfab064076799a90c322e (patch)
tree2055d7b7e521b53778d4d5de45b0de04d22b539f /libc/cmake
parent913a8244fe8687df1f27b61c87aa23cf4fcbe84e (diff)
downloadllvm-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.cmake10
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