Skip to contentSkip to conversation

New: CMake toolchain file uses the FORCE attribute on CMAKE_CXX_FLAGS

Buildroot bugzilla at busybox.net 1 participant 8 messages Jul 24, 2014 – Oct 20, 2014

lore
Share & tools
lore
#0 lore raw

https://bugs.busybox.net/show_bug.cgi?id=7280

Summary: CMake toolchain file uses the FORCE attribute on
CMAKE_CXX_FLAGS
Product: buildroot
Version: 2014.05
Platform: PC
OS/Version: Linux
Status: NEW
Severity: minor
Priority: P5
Component: Other
AssignedTo: unassigned at buildroot.uclibc.org
ReportedBy: deblauwetom+buildroot at gmail.com
CC: buildroot at uclibc.org
Estimated Hours: 0.0

It seems the cmake toolchain file generated by buildroot uses "FORCE" to set the CXX and C flags. However, this can be a problem. The toolchain file is read every run of cmake, so the CXX flags keep growing. This results in a complete rebuild everytime something changes in a CMakeLists.txt. CMake correctly thinks that it must rebuild everything because the CMAKE_CXX_FLAGS must be applied to all which you are compiling. It can be solved by removing the FORCE attribute of the set() command. The same goes for the CMAKE_C_FLAGS.

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#1 lore raw

[Buildroot] [Bug 7280] CMake toolchain file uses the FORCE attribute on CMAKE_CXX_FLAGS

https://bugs.busybox.net/show_bug.cgi?id=7280

Thomas De Schampheleire <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |s.martin49 at gmail.com

--- Comment #1 from Thomas De Schampheleire <[email protected]> 2014-07-24 12:43:15 UTC --- Thanks for your bug report. Could you share a minimal .config and reproduction scenario (for cmake dummies)?

Ccing Samuel Martin...

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#2 lore raw

[Buildroot] [Bug 7280] CMake toolchain file uses the FORCE attribute on CMAKE_CXX_FLAGS

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=7280

--- Comment #2 from deblauwetom+buildroot at gmail.com 2014-07-24 12:57:11 UTC --- Created attachment 5522
--> https://bugs.busybox.net/attachment.cgi?id=5522
simple application to use with cmake toolchain

Unzip this attachment, and then do this from the directory:

cd ..
mkdir buildSimpleApp
cd buildSimpleApp
cmake -DCMAKE_TOOLCHAIN_FILE=<full path to your buildroot compilation>/output/host/usr/share/buildroot/toolchainfile.cmake . ../SimpleApp/

This will work OK and generate makefiles. But if you run it again, you will see the build flags list grow and grow.

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#3 lore raw

[Buildroot] [Bug 7280] CMake toolchain file uses the FORCE attribute on CMAKE_CXX_FLAGS

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=7280

--- Comment #3 from Thomas De Schampheleire <[email protected]> 2014-08-09 11:30:56 UTC --- Samuel, could you have a look at this maybe?

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#4 lore raw

[Buildroot] [Bug 7280] CMake toolchain file uses the FORCE attribute on CMAKE_CXX_FLAGS

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=7280

Samuel Martin <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at buildroot.uclibc |s.martin49 at gmail.com
|.org |

--- Comment #4 from Samuel Martin <[email protected]> 2014-08-09 11:52:26 UTC --- (In reply to comment #3)

Quoted 1 line

Samuel, could you have a look at this maybe?

Yep, don't worry, I'm on it ;-)

So far, removing FORCE option in the toolchainfile.cmake.in looks ok, except for cdrkit :-/ I'll investigate this and hopefully post and fix during the rc month.

Regards,

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#5 lore raw

[Buildroot] [Bug 7280] CMake toolchain file uses the FORCE attribute on CMAKE_CXX_FLAGS

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=7280

--- Comment #5 from Thomas Petazzoni <[email protected]> 2014-08-16 13:43:24 UTC --- Patch series sent by Samuel at
http://lists.busybox.net/pipermail/buildroot/2014-August/104293.html.

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#6 lore raw

[Buildroot] [Bug 7280] CMake toolchain file uses the FORCE attribute on CMAKE_CXX_FLAGS

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=7280

Thomas De Schampheleire <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |2014.11

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#7 lore raw

[Buildroot] [Bug 7280] CMake toolchain file uses the FORCE attribute on CMAKE_CXX_FLAGS

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=7280

Thomas De Schampheleire <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #6 from Thomas De Schampheleire <[email protected]> 2014-10-20 19:13:42 UTC --- Bug fixed with commit
http://git.buildroot.net/buildroot/commit/?id=47544e43a5e36f6c4ee1acb06315ab974cde78b4
and will be part of 2014.11.

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.