Bug 365561 - Upper case file extension CPP not included in build and not registrable
Summary: Upper case file extension CPP not included in build and not registrable
Status: NEW
Alias: None
Product: CDT
Classification: Tools
Component: cdt-build-managed (show other bugs)
Version: 8.0   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact: Jonah Graham CLA
URL:
Whiteboard:
Keywords:
: 214018 (view as bug list)
Depends on: 105022
Blocks:
  Show dependency tree
 
Reported: 2011-12-05 05:00 EST by Lukas Felber CLA
Modified: 2020-09-04 15:24 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lukas Felber CLA 2011-12-05 05:00:36 EST
Build Identifier: I20110613-1736

Upper case file extension CPP is e.g. used in the recently open-source Doom3 source code ( https://github.com/TTimo/doom3.gpl ).
CDT does not includes CPP files in its build. One could argue that, since CPP is not in the "Preferences->C/C++->File Types" list, this is ok. The real problem, however, is that one cannot add the CPP file extension there. Reason: "The Association between '*.CPP' and 'C++ Source File' already exits".

Obviously, since CPP files are not included in the built, this is not true.

Reproducible: Always

Steps to Reproduce:
1. Create empty c++ project
2. Create source file main.CPP
3. Hit the 'build' button

yields: g++: fatal error: no input files
Comment 1 Andrew Gvozdev CLA 2011-12-05 10:30:37 EST
*** Bug 214018 has been marked as a duplicate of this bug. ***
Comment 2 Andrew Gvozdev CLA 2011-12-05 10:35:09 EST
As reported, this is an issue with Eclipse Platform which does not handle case sensitive content types, i.e. bug 105022. But it is probably feasible to workaround that in managed build.
Comment 3 Serge Beauchamp CLA 2013-10-11 14:42:00 EDT
This bug is now fixed with the following change, including junit tests:

https://git.eclipse.org/r/17314

The change consists of making the managed builder gracefully handle input with extensions of different case than their corresponding input types extensions.

This way, the managed builder follows the case-insensitive behavior of the Platform content type feature, and the user can build files with .CPP extensions along with other files with .cpp extension in the same projects.

3rd party makefile generators might still contain bugs preventing this to work for them, but the fix supports both the internal builder and the external builder using the GnuMakefileGenerator.
Comment 4 Mario Pierro CLA 2015-09-11 09:16:43 EDT
This is still present in CDT 8.7.0.201506070905, running against Eclipse Mars  4.5.0.20150621-1200 running under Windows

Simply creating a new C++ project and adding a .CPP file to it will reproduce the issue using the : that file will not be built, either with the Internal builder nor the Gnu Makefile builder.
Comment 5 Mario Pierro CLA 2015-09-11 09:18:01 EDT
This is still present in CDT 8.7.0.201506070905, running against Eclipse Mars  4.5.0.20150621-1200 running under Windows

Simply creating a new C++ project and adding a .CPP file to it will reproduce the issue: that file will not be built, either with the Internal builder nor the Gnu Makefile builder.