| View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||
| 0012871 | CMake | CMake | public | 2012-01-10 09:53 | 2012-07-09 06:52 | ||||
| Reporter | Sam Morris | ||||||||
| Assigned To | Brad King | ||||||||
| Priority | normal | Severity | major | Reproducibility | always | ||||
| Status | closed | Resolution | duplicate | ||||||
| Platform | OS | OS Version | |||||||
| Product Version | CMake 2.8.7 | ||||||||
| Target Version | Fixed in Version | ||||||||
| Summary | 0012871: add_definitions adds flags to RC_DEFINES | ||||||||
| Description | The attached project tries to create an executable from a C++ file and a Windows resource script: CMakeLists.txt contains: project(restest) add_definitions(-msse) add_executable(a a.cpp a_res.rc) The build fails because -msse ends up in RC_DEFINES, which is passed to windres to compile the resource script.  | ||||||||
| Steps To Reproduce | $ make VERBOSE=1 /usr/bin/cmake -H/home/sam/src/cmake/rc -B/home/sam/src/cmake/rc/build --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start /home/sam/src/cmake/rc/build/CMakeFiles /home/sam/src/cmake/rc/build/CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[1]: Entering directory `/home/sam/src/cmake/rc/build' make -f CMakeFiles/a.dir/build.make CMakeFiles/a.dir/depend make[2]: Entering directory `/home/sam/src/cmake/rc/build' cd /home/sam/src/cmake/rc/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/sam/src/cmake/rc /home/sam/src/cmake/rc /home/sam/src/cmake/rc/build /home/sam/src/cmake/rc/build /home/sam/src/cmake/rc/build/CMakeFiles/a.dir/DependInfo.cmake --color= make[2]: Leaving directory `/home/sam/src/cmake/rc/build' make -f CMakeFiles/a.dir/build.make CMakeFiles/a.dir/build make[2]: Entering directory `/home/sam/src/cmake/rc/build' /usr/bin/cmake -E cmake_progress_report /home/sam/src/cmake/rc/build/CMakeFiles 2 [ 50%] Building RC object CMakeFiles/a.dir/a_res.res /usr/bin/i686-w64-mingw32-windres -O coff -msse /home/sam/src/cmake/rc/a_res.rc CMakeFiles/a.dir/a_res.res /usr/bin/i686-w64-mingw32-windres: invalid option -- 'm' Usage: /usr/bin/i686-w64-mingw32-windres [option(s)] [input-file] [output-file] The options are: -i --input=<file> Name input file -o --output=<file> Name output file -J --input-format=<format> Specify input format -O --output-format=<format> Specify output format -F --target=<target> Specify COFF target --preprocessor=<program> Program to use to preprocess rc file --preprocessor-arg=<arg> Additional preprocessor argument -I --include-dir=<dir> Include directory when preprocessing rc file -D --define <sym>[=<val>] Define SYM when preprocessing rc file -U --undefine <sym> Undefine SYM when preprocessing rc file -v --verbose Verbose - tells you what it's doing -c --codepage=<codepage> Specify default codepage -l --language=<val> Set language when reading rc file --use-temp-file Use a temporary file instead of popen to read the preprocessor output --no-use-temp-file Use popen (default) -r Ignored for compatibility with rc @<file> Read options from <file> -h --help Print this help message -V --version Print version information FORMAT is one of rc, res, or coff, and is deduced from the file name extension if not specified. A single file name is an input file. No input-file is stdin, default rc. No output-file is stdout, default rc. /usr/bin/i686-w64-mingw32-windres: supported targets: pe-i386 pei-i386 elf32-i386 elf32-little elf32-big plugin srec symbolsrec verilog tekhex binary ihex make[2]: *** [CMakeFiles/a.dir/a_res.res] Error 1 make[2]: Leaving directory `/home/sam/src/cmake/rc/build' make[1]: *** [CMakeFiles/a.dir/all] Error 2 make[1]: Leaving directory `/home/sam/src/cmake/rc/build' make: *** [all] Error 2  | ||||||||
| Tags | No tags attached. | ||||||||
| Attached Files | |||||||||
| Relationships | ||||||
  | 
||||||
| Relationships | 
| Notes | |
| 
				(0028234) Michael Wild (reporter) 2012-01-10 10:10  | 
	
		add_definitions() should only be used to add preprocessor defines (-D or /D flag), not compiler flags. For this, use the variables CMAKE_<lang>_FLAGS and CMAKE_<lang>_FLAGS_<config> or the COMPILE_FLAGS and COMPILE_FLAGS_<config> properties. IMHO if you encounter problems it would be preferable if you first contacted the mailing list to confirm the bug before filing a report. This would help keeping the user errors out of the bug tracker...  | 
| 
				(0028235) Sam Morris (reporter) 2012-01-10 10:14  | 
	Thanks for that. I will pass that advice on to the maintainers of the project I'm trying to build. FYI, this is probably a duplicate of http://public.kitware.com/Bug/view.php?id=12444. [^] | 
| 
				(0029949) David Cole (manager) 2012-07-09 06:52  | 
	Closing resolved issues that have not been updated in more than 4 months. | 
| Notes | 
| Issue History | |||
| Date Modified | Username | Field | Change | 
| 2012-01-10 09:53 | Sam Morris | New Issue | |
| 2012-01-10 09:53 | Sam Morris | File Added: rc.tar.gz | |
| 2012-01-10 10:10 | Michael Wild | Note Added: 0028234 | |
| 2012-01-10 10:14 | Sam Morris | Note Added: 0028235 | |
| 2012-01-10 13:54 | Brad King | Relationship added | duplicate of 0012444 | 
| 2012-01-10 13:54 | Brad King | Status | new => resolved | 
| 2012-01-10 13:54 | Brad King | Resolution | open => duplicate | 
| 2012-01-10 13:54 | Brad King | Assigned To | => Brad King | 
| 2012-07-09 06:52 | David Cole | Note Added: 0029949 | |
| 2012-07-09 06:52 | David Cole | Status | resolved => closed | 
| Issue History | 
| Copyright © 2000 - 2018 MantisBT Team |