-
Notifications
You must be signed in to change notification settings - Fork 15k
Closed
Labels
cmakeBuild system in general and CMake in particularBuild system in general and CMake in particularhardeningIssues related to the hardening effortIssues related to the hardening effortlibc++libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.
Milestone
Description
When we added LIBCXX_ASSERTION_HANDLER_FILE, we did not specify whether it was a relative or an absolute path, and if relative, we did not specify relative to what it would be evaluated. That makes it extremely challenging to specify the path in a CMake cache file.
From a cache file, variables like CMAKE_SOURCE_DIR expand to runtimes/ since that's where the "top-level" CMakeLists.txt is located. So using an absolute path has to look awkward like ${CMAKE_SOURCE_DIR}/../libcxx/vendor/foo/some_assertion_handler.in.
Using a relative path is weird too: the path seems to be evaluated relative to libcxx/include since that's where the LIBCXX_ASSERTION_HANDLER_FILE is used in configure_file, and that is confusing too.
Metadata
Metadata
Assignees
Labels
cmakeBuild system in general and CMake in particularBuild system in general and CMake in particularhardeningIssues related to the hardening effortIssues related to the hardening effortlibc++libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.
Type
Projects
Status
Done