Mueller-Roemer, Johannes Sebastian via llvm-dev
2015-Oct-06 07:35 UTC
[llvm-dev] Extra space in LLVM_DEFINITIONS causes CMake 3.1 to fail
LLVM_DEFINITIONS used to be defined as set(LLVM_DEFINITIONS "-D__STDC_LIMIT_MACROS" "-D__STDC_CONSTANT_MACROS") Now it is defined as set(LLVM_DEFINITIONS " -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS") (note that it is no longer a cmake list but a string, and the string contains a leading space!) This causes CMake 3.1 to emit g++ -D -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS [...] when LLVM_DEFINITIONS is used via target_compile_definitions. Which, unsurprisingly, fails. Although this issue is fixed in current CMake versions (3.2+), do we really want to require these versions just to have LLVM_DEFINITIONS defined as a string instead of a list? A simple check if LLVM_DEFINITIONS is empty in add_llvm_definitions might solve the issue. -- Johannes S. Mueller-Roemer, MSc Wiss. Mitarbeiter - Interactive Engineering Technologies (IET) Fraunhofer-Institut für Graphische Datenverarbeitung IGD Fraunhoferstr. 5 | 64283 Darmstadt | Germany Tel +49 6151 155-606 | Fax +49 6151 155-139 johannes.mueller-roemer at igd.fraunhofer.de | www.igd.fraunhofer.de -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151006/552fa829/attachment.html>
Mueller-Roemer, Johannes Sebastian via llvm-dev
2015-Oct-06 07:50 UTC
[llvm-dev] Extra space in LLVM_DEFINITIONS causes CMake 3.1 to fail
Correction, I was accidentally testing with an old version for my CMake 3.2+ tests. They fail just the same with the current version. -- Johannes S. Mueller-Roemer, MSc Wiss. Mitarbeiter - Interactive Engineering Technologies (IET) Fraunhofer-Institut für Graphische Datenverarbeitung IGD Fraunhoferstr. 5 | 64283 Darmstadt | Germany Tel +49 6151 155-606 | Fax +49 6151 155-139 johannes.mueller-roemer at igd.fraunhofer.de | www.igd.fraunhofer.de From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Mueller-Roemer, Johannes Sebastian via llvm-dev Sent: Tuesday, October 06, 2015 09:36 To: llvm-dev at lists.llvm.org Subject: [llvm-dev] Extra space in LLVM_DEFINITIONS causes CMake 3.1 to fail LLVM_DEFINITIONS used to be defined as set(LLVM_DEFINITIONS "-D__STDC_LIMIT_MACROS" "-D__STDC_CONSTANT_MACROS") Now it is defined as set(LLVM_DEFINITIONS " -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS") (note that it is no longer a cmake list but a string, and the string contains a leading space!) This causes CMake 3.1 to emit g++ -D -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS [...] when LLVM_DEFINITIONS is used via target_compile_definitions. Which, unsurprisingly, fails. Although this issue is fixed in current CMake versions (3.2+), do we really want to require these versions just to have LLVM_DEFINITIONS defined as a string instead of a list? A simple check if LLVM_DEFINITIONS is empty in add_llvm_definitions might solve the issue. -- Johannes S. Mueller-Roemer, MSc Wiss. Mitarbeiter - Interactive Engineering Technologies (IET) Fraunhofer-Institut für Graphische Datenverarbeitung IGD Fraunhoferstr. 5 | 64283 Darmstadt | Germany Tel +49 6151 155-606 | Fax +49 6151 155-139 johannes.mueller-roemer at igd.fraunhofer.de<mailto:johannes.mueller-roemer at igd.fraunhofer.de> | www.igd.fraunhofer.de<http://www.igd.fraunhofer.de> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151006/6dc5377a/attachment.html>
Chris Bieneman via llvm-dev
2015-Oct-07 16:29 UTC
[llvm-dev] Extra space in LLVM_DEFINITIONS causes CMake 3.1 to fail
I don’t think there is any reason why we would want to push people to any particular version of CMake. Personally I’d love to make CMake 3.2 our minimum version, but at the moment our minimum required (and supported) version of CMake is 2.8.12.2. It looks to me like the issue you’re reporting was an unintended side effect of r248884. We will of course welcome patches to resolve the issue. -Chris> On Oct 6, 2015, at 12:50 AM, Mueller-Roemer, Johannes Sebastian via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > Correction, I was accidentally testing with an old version for my CMake 3.2+ tests. They fail just the same with the current version. > > -- > Johannes S. Mueller-Roemer, MSc > Wiss. Mitarbeiter - Interactive Engineering Technologies (IET) > > Fraunhofer-Institut für Graphische Datenverarbeitung IGD > Fraunhoferstr. 5 | 64283 Darmstadt | Germany > Tel +49 6151 155-606 | Fax +49 6151 155-139 > johannes.mueller-roemer at igd.fraunhofer.de <mailto:johannes.mueller-roemer at igd.fraunhofer.de> | www.igd.fraunhofer.de <http://www.igd.fraunhofer.de/> > > From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Mueller-Roemer, Johannes Sebastian via llvm-dev > Sent: Tuesday, October 06, 2015 09:36 > To: llvm-dev at lists.llvm.org > Subject: [llvm-dev] Extra space in LLVM_DEFINITIONS causes CMake 3.1 to fail > > LLVM_DEFINITIONS used to be defined as > > set(LLVM_DEFINITIONS "-D__STDC_LIMIT_MACROS" "-D__STDC_CONSTANT_MACROS") > > Now it is defined as > > set(LLVM_DEFINITIONS " -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS") > > (note that it is no longer a cmake list but a string, and the string contains a leading space!) > > This causes CMake 3.1 to emit > > g++ -D -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS […] > > when LLVM_DEFINITIONS is used via target_compile_definitions. Which, unsurprisingly, fails. > > Although this issue is fixed in current CMake versions (3.2+), do we really want to require these versions just to have LLVM_DEFINITIONS defined as a string instead of a list? A simple check if LLVM_DEFINITIONS is empty in add_llvm_definitions might solve the issue. > > -- > Johannes S. Mueller-Roemer, MSc > Wiss. Mitarbeiter - Interactive Engineering Technologies (IET) > > Fraunhofer-Institut für Graphische Datenverarbeitung IGD > Fraunhoferstr. 5 | 64283 Darmstadt | Germany > Tel +49 6151 155-606 | Fax +49 6151 155-139 > johannes.mueller-roemer at igd.fraunhofer.de <mailto:johannes.mueller-roemer at igd.fraunhofer.de> | www.igd.fraunhofer.de <http://www.igd.fraunhofer.de/> > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151007/9eb0fac8/attachment-0001.html>
Reasonably Related Threads
- Extra space in LLVM_DEFINITIONS causes CMake 3.1 to fail
- [LLVMdev] Set up ExecutionEngine according to actual machine capabilities
- [LLVMdev] build failure on mingw gcc 4.9.1
- [LLVMdev] build failure on mingw gcc 4.9.1
- ExecutionEngine::runFunction and libffi