mrdocs icon indicating copy to clipboard operation
mrdocs copied to clipboard

Standard library incompatibility fix by packaging libc++

Open fpelliccioni opened this issue 1 year ago • 47 comments

Fixes https://github.com/cppalliance/mrdocs/issues/644

fpelliccioni avatar Jul 24 '24 15:07 fpelliccioni

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 24 '24 15:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 25 '24 11:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 26 '24 10:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 26 '24 10:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 26 '24 10:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 26 '24 10:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 26 '24 11:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 26 '24 12:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 26 '24 14:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 29 '24 10:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 29 '24 13:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 29 '24 13:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 29 '24 14:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 29 '24 14:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 29 '24 20:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 30 '24 09:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 30 '24 10:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 30 '24 13:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 30 '24 15:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 30 '24 15:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 30 '24 16:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 30 '24 16:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 30 '24 16:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 30 '24 17:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 30 '24 22:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 31 '24 06:07 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Jul 31 '24 06:07 cppalliance-bot

Great! Thanks por the detailed explanation.

On Wed, Jul 31, 2024, 6:21 PM Alan de Freitas @.***> wrote:

@.**** commented on this pull request.

In include/mrdocs/ConfigOptions.inc https://github.com/cppalliance/mrdocs/pull/648#discussion_r1698785065:

@@ -69,6 +69,8 @@ COMMON_OPTION (compilationDatabase , compilation-database , Path to the c // Build options COMMON_OPTION (cmake , cmake , CMake arguments when generating the compilation database from CMakeLists.txt) COMMON_OPTION (defines , defines , Additional defines passed to the compiler) +COMMON_OPTION (useSystemStdLib , use-system-stdlib , True if the compiler has to use just the system standard library) +COMMON_OPTION (stdLibPaths , stdlib-path , Standard Library include paths)

This PR already incorporates -isystem with the -stdlib-path option.

Yes. But it's the other way around. This PR should already incorporates -stdlib-path with the -isystem option. Because -isystem is the general case. Not -stdlib-path.

Let's just this new options stdlib-paths make it represent -isystem instead of -stdlib because, in our case, 1) -stdlib is just a subset of -isystem (we only need the headers in MrDocs - there's no linking), and 2) the syntax of -stdlib is -stdlib= but that's not our syntax, which is confusing.

In other words, let's rename this. We already have defines for what is PREDEFINED in Doxygen. Let's create an includes option, which we can apply in the database as -I, and another option we can apply in the database as -isystem, so we can call it system-includes.

So instead of stdlib-paths, we will have includes and system-includes. Instead of stdlib-paths, we will use system-includes for these stdlib paths. This way, we already implement non-ambiguous options we'll need anyway and already solve the problem about whether stdlib-paths should be public or not.

— Reply to this email directly, view it on GitHub https://github.com/cppalliance/mrdocs/pull/648#discussion_r1698785065, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACC2E7UWNY6YKOP4ZYXCODZPEFG7AVCNFSM6AAAAABLMWOQS6VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDEMJQGYZDCMBXGM . You are receiving this because you authored the thread.Message ID: @.***>

fpelliccioni avatar Jul 31 '24 16:07 fpelliccioni

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Aug 01 '24 15:08 cppalliance-bot

An automated preview of the documentation is available at https://648.mrdocs.prtest2.cppalliance.org/index.html

cppalliance-bot avatar Aug 02 '24 09:08 cppalliance-bot