Enable LOGURU_STACKTRACES cmake variable by default on non-windows platforms using glibc#254
Open
skaravos wants to merge 1 commit intoemilk:masterfrom
Open
Enable LOGURU_STACKTRACES cmake variable by default on non-windows platforms using glibc#254skaravos wants to merge 1 commit intoemilk:masterfrom
skaravos wants to merge 1 commit intoemilk:masterfrom
Conversation
Changes: - Fixes issue [emilk#248](emilk#248) - CMake now performs a quick `try_run()` to inspect whether the currently detected C++ compiler is using glibc, and if so sets the LOGURU_STACKTRACES variable to TRUE by default to match the default value of the LOGURU_STACKTRACES macro inside `loguru.cpp`. Notes: - This is required because the cmake file is currently setup to only link loguru to the `dl` library if the cmake variable LOGURU_STACKTRACES is TRUE. Unfortunately, the `loguru.cpp` file implicitly enables the stacktraces feature under certain conditions (glibc on non-windows) and the CMake file wasn't previously written to account for that. This meant that the `dl` library wasn't being linked even though stacktraces were enabled (in the .cpp file), causing a linking error. - `undefined reference to `dladdr'`
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes:
try_run()to inspect whether the currently detected C++ compiler is using glibc, and if so sets the LOGURU_STACKTRACES variable to TRUE by default to match the default value of the LOGURU_STACKTRACES macro insideloguru.cpp.Notes:
dllibrary if the cmake variable LOGURU_STACKTRACES is TRUE. Unfortunately, theloguru.cppfile implicitly enables the stacktraces feature under certain conditions (glibc on non-windows) and the CMake file wasn't previously written to account for that. This meant that thedllibrary wasn't being linked even though stacktraces were enabled (in the .cpp file), causing a linking error.undefined reference to 'dladdr'