[CMake] Port from Debian to Windows: Include files not found

Parag Chandra parag at ionicsecurity.com
Fri Sep 18 14:08:29 EDT 2015


That is interesting. I’m used to seeing “-I/header/search/path”, but in this case it’s doing “—include_path=/header/search/path”; I guess you’re using some specialized compiler toolchain. So if I understand you correctly, if you were to manually edit the command that you pasted such that it had the necessary include paths in it and manually re-run it, then the command would succeed? Maybe you need to explicitly set the supported LANGUAGES in your project() command so that it includes both assembly and C?


Parag Chandra
Senior Software Engineer, Mobile Team
Mobile: +1.919.824.1410

[https://www.ionicsecurity.com/IonicSigHz.png]<https://ionic.com>

Ionic Security Inc.
1170 Peachtree St. NE STE 400, Atlanta, GA 30309











From: Randy Turner
Date: Friday, September 18, 2015 at 2:01 PM
To: Parag Chandra
Cc: "cmake at cmake.org<mailto:cmake at cmake.org>"
Subject: Re: [CMake] Port from Debian to Windows: Include files not found

Awesome suggestion. I'm surprised that I hadn't yet tried that. I sent the output to a file and included the relevant portion below. I'm not the most familiar with parsing the output of makefiles, but it seems to only be using the include_paths for the first assembly object and not any of the subsequent c objects. I feel like there is something really obvious that I'm missing.

[  6%] Building ASM object CMakeFiles/timer1.dir/os/vecs_timer1.asm.obj
c:\ti\ccsv6\tools\compiler\c6000_7.4.15\bin\cl6x.exe  --compile_only --asm_file=C:\Users\aec_user-14\Documents\Repos\OperatingSystem\os\vecs_timer1.asm  --include_path=C:\Users\aec_user-14\Documents\Repos\OperatingSystem\C6xCSL\include --include_path=C:\Users\aec_user-14\Documents\Repos\OperatingSystem\C6xCSL\lib_3x --include_path=c:\ti\ccsv6\tools\compiler\c6000_7.4.15\include --include_path=c:\ti\ccsv6\tools\compiler\c6000_7.4.15\lib --include_path=C:\Users\aec_user-14\Documents\Repos\OperatingSystem\udp_ip --include_path=C:\Users\aec_user-14\Documents\Repos\OperatingSystem --include_path=C:\Users\aec_user-14\Documents\Repos\OperatingSystem\os --include_path=C:\Users\aec_user-14\Documents\Repos\OperatingSystem\sys --include_path=C:\Users\aec_user-14\Documents\Repos\OperatingSystem\utilities    -g --define="_DEBUG" --define="CHIP_6713" --define="RUNTEST" --output_file=CMakeFiles\timer1.dir\os\vecs_timer1.asm.obj
[ 13%] Building C object CMakeFiles/timer1.dir/os/Arinc.c.obj
c:\ti\ccsv6\tools\compiler\c6000_7.4.15\bin\cl6x.exe  --compile_only --c_file=C:\Users\aec_user-14\Documents\Repos\OperatingSystem\os\Arinc.c  -mv6710 --abi=coffabi --quiet --diag_wrap=off @CMakeFiles/timer1.dir/includes_C.rsp   -g --define="_DEBUG" --define="CHIP_6713" --define="RUNTEST" --output_file=CMakeFiles\timer1.dir\os\Arinc.c.obj

>> Compilation failure

On Fri, Sep 18, 2015 at 1:26 PM, Parag Chandra <parag at ionicsecurity.com<mailto:parag at ionicsecurity.com>> wrote:
As a diagnostic measure, can you try running in verbose mode, ala:

make VERBOSE=1

That will dump out the exact command lines that are being used, so you can see the search paths.


Parag Chandra
Senior Software Engineer, Mobile Team
Mobile: +1.919.824.1410<tel:%2B1.919.824.1410>

[https://www.ionicsecurity.com/IonicSigHz.png]<https://ionic.com>

Ionic Security Inc.
1170 Peachtree St. NE STE 400, Atlanta, GA 30309











From: CMake on behalf of Randy Turner
Date: Friday, September 18, 2015 at 1:22 PM
To: "cmake at cmake.org<mailto:cmake at cmake.org>"
Subject: [CMake] Port from Debian to Windows: Include files not found

I am having trouble building a Code Composer Studio project with CMake. Executing from the same directory in Linux compiles successfully, but in Linux it fails to find any included files that aren't in the same directory as the .c file that it's building. I can provide a relative path to help it move on, but it will just fail to find the files referenced by that one.

The very first #include of the project is <stdbool.h> which is located in the compiler's install files. As shown in my StackOVerflow question about this issue (http://stackoverflow.com/questions/32591626/cmake-header-files-cannot-be-opened) I can confirm that the files are in the directory that is included in the CMakeLists.txt file and can be found while CMake is executing, but fail to be located by make. I am using MinGW's make, and using the commands make and mingw32-make both ellicit the same result, "fatal error: could not open source file "stdbool.h" (no directories in search list)."

Is there something that I'm missing here? Is something else necessary beyond using INCLUDE_DIRECTORIES for all of the directories in the project?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20150918/8d753577/attachment-0001.html>


More information about the CMake mailing list