-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Case-sensitivity sometimes causes include files not to be recognized on Linux #32
Comments
It looks like the examples you provided with
Changing from case sensitive to case insensitive looks like a breaking change, since you can |
Whoops! I've updated the initial post, but yeah the output you got is the same.
I agree that it could technically be a breaking change, but this behavior is only present on Linux (and Mac, probably) with this flag. It doesn't match toolset behavior or Windows behavior. In case someone is using that "feature" for some reason, we could always check for a case-sensitive match first and fall back to a case insensitive match if it didn't exist. |
If the toolset compiler doesn't match this behavior then I agree with the change. No flag should be necessary. |
Anyone using both "Test" and "test" deserves what he gets. I just ran into this too. I think it should be case insensitive when using the -i as well. Btw, I just noticed you guys switch back to using the right letter for the include directory option. Yay. Maybe I'll start using this instead of maintaining my own :) |
Since filenames are case-sensitive on Linux,
#include
directives must be case sensitive unless the file is sourced from the game's data files. For example, given the following script:Compilation succeeds using
-l
:It fails using
-i
:Changing the include file to
x3_inc_string
makes compilation work:While you can just make sure your scripts always use lowercase versions of the filenames, a lot of the base game scripts use uppercase filenames in their include directives, and this can cause things to break. I think the file's basename ought to be compared case-insensitively to the include directive so that
-i
behavior matches-l
behavior.The text was updated successfully, but these errors were encountered: