[cmake-developers] install(DIRECTORY) genex support

2014-11-05 Thread Tim Blechmann
hi all,

i wonder, is there any reason for not supporting generator expressions
for install(DIRECTORY)? i need this functionality to be able to install
dSYM folders which are generated by xcode.

if not, could someone review/merge this patch [1]? it is probably too
late for 3.1, right?

thanks a lot,
tim

[1] https://github.com/Kitware/CMake/pull/124

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] GCC HPPA linker errors

2014-11-05 Thread Chuck Atkins
So, it seems nothing changed.  Looking at the log though, it looks like the
flags aren't even getting used.  Can you check the output of uname with
it's various options?  I suspect the result might not be exactly parisc.

- Chuck

On Tue, Nov 4, 2014 at 4:27 PM, Chuck Atkins chuck.atk...@kitware.com
wrote:

 just a matter of taste if this will be narrowed to Linux or not. In any
 case
 please try if you can just drop the existing workarounds. The best would
 probably to just replace their set() with yours and see if it works. If it
 does you can remove the if(Linux) and only match for the processor.


 I didn't realize the -Wl,--unique=.text._* was trying to address the same
 problem!  I'll try this as a replacement tonight and we'll see if it cleans
 it up.


-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

Re: [cmake-developers] GCC HPPA linker errors

2014-11-05 Thread Brad King
On 11/05/2014 10:38 AM, Chuck Atkins wrote:
 So, it seems nothing changed.  Looking at the log though, it
 looks like the flags aren't even getting used.

The value of cmake_machine_parisc is not set on HP-UX by the
bootstrap script so it can only ever work on Linux right now.

These changes broke the bootstrap script on non-Linux systems.
I've extended the topic to fix that:

 bootstrap: Initialize cmake_machine_parisc on non-Linux systems
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=25bae877

Previously the variable was only ever used on Linux.  You'll
have to update the topic further to actually set the value of
cmake_machine_parisc on HP-UX.

-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] Assembly/preprocessed targets for Fortran

2014-11-05 Thread Brad King
On 11/04/2014 06:37 PM, Tim Gallagher wrote:
 I have attached the patch to enable the targets for Fortran.

Thanks.  Please update it to avoid using hard TABs for indentation.
Also in the CompileCommandOutput test hunk:

 -project (CompileCommandOutput CXX)
 +project (CompileCommandOutput)
 +enable_language(CXX)
 +enable_language(Fortran)

there are a couple problems:

- By removing any explicit languages from the project() call
  it will enable C and CXX by default.  Use NONE to suppress
  that.

- We cannot assume that Fortran will be available.  The other
  Fortran tests are all guarded by availability of a Fortran
  compiler.

The test for CMAKE_EXPORT_COMPILE_COMMANDS was already missing
for C, so let's just skip Fortran for the test too.  They can
be fixed together as a separate change later.

Thanks,
-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] install(DIRECTORY) genex support

2014-11-05 Thread Brad King
On 11/05/2014 07:01 AM, Tim Blechmann wrote:
 i wonder, is there any reason for not supporting generator expressions
 for install(DIRECTORY)?

It just hasn't been implemented.  Support for generator expressions
was added to install(FILES) here:

 install: Support generator expressions in FILES and PROGRAMS mode
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6e89c8a5

and included in 3.0.  Thanks for working on it.

 it is probably too late for 3.1, right?

Yes.  We don't make non-doc/non-regression fixes after the feature
freeze for the release, which is long past.

 [1] https://github.com/Kitware/CMake/pull/124

Good start.  Please extend documentation and tests for this feature
similar to how it was done for install(FILES) in the above-linked
commit.

Then please read CONTRIBUTING.rst and send the patch to this list
for further review.

Thanks,
-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] [Review request] Topic ExternalProject_SCM_DISCONNECTED

2014-11-05 Thread Brad King
On 11/05/2014 03:58 AM, Daniele E. Domenichelli wrote:
 If SCM_DISCONNECTED is set, the update step is not executed
 automatically when building the main target. The update step can still
 be added as a step target and called manually.

Good feature.

Would the name UPDATE_INDEPENDENT or UPDATE_DISCONNECTED
make more sense?  Otherwise, the topic looks ready for testing
to me.

Thanks,
-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] install(DIRECTORY) genex support

2014-11-05 Thread Tim Blechmann
hi brad,

 [1] https://github.com/Kitware/CMake/pull/124
 
 Good start.  Please extend documentation and tests for this feature
 similar to how it was done for install(FILES) in the above-linked
 commit.
 
 Then please read CONTRIBUTING.rst and send the patch to this list
 for further review.

thanks for the link regarding files/programs ... will update the patch
in the next few days ...

cheers,
tim


-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] GCC HPPA linker errors

2014-11-05 Thread Rolf Eike Beer
Am Mittwoch, 5. November 2014, 10:38:14 schrieben Sie:
 So, it seems nothing changed.  Looking at the log though, it looks like the
 flags aren't even getting used.  Can you check the output of uname with
 it's various options?  I suspect the result might not be exactly parisc.

voyager ~ # uname -a
Linux voyager 3.16.1 #1 Tue Sep 2 17:27:07 CEST 2014 parisc PA8600 (PCX-W+) 
9000/785/C3600 GNU/Linux
voyager ~ # uname -m
parisc

signature.asc
Description: This is a digitally signed message part.
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

Re: [cmake-developers] Assembly/preprocessed targets for Fortran

2014-11-05 Thread Tim Gallagher
Sorry about the TABs, I guess emacs defaults to it and I never noticed.

I have attached an updated patch where the tabs are removed and the test for 
CMAKE_EXPORT_COMPILE_COMMANDS is also removed. 

Tim

- Original Message -
From: Brad King brad.k...@kitware.com
To: tim gallagher tim.gallag...@gatech.edu, cmake-developers@cmake.org
Sent: Wednesday, November 5, 2014 11:26:26 AM
Subject: Re: [cmake-developers] Assembly/preprocessed targets for Fortran

On 11/04/2014 06:37 PM, Tim Gallagher wrote:
 I have attached the patch to enable the targets for Fortran.

Thanks.  Please update it to avoid using hard TABs for indentation.
Also in the CompileCommandOutput test hunk:

 -project (CompileCommandOutput CXX)
 +project (CompileCommandOutput)
 +enable_language(CXX)
 +enable_language(Fortran)

there are a couple problems:

- By removing any explicit languages from the project() call
  it will enable C and CXX by default.  Use NONE to suppress
  that.

- We cannot assume that Fortran will be available.  The other
  Fortran tests are all guarded by availability of a Fortran
  compiler.

The test for CMAKE_EXPORT_COMPILE_COMMANDS was already missing
for C, so let's just skip Fortran for the test too.  They can
be fixed together as a separate change later.

Thanks,
-Brad

From ff4a9ffe8a03822e87bc7d26a144ab2ca1e1ced6 Mon Sep 17 00:00:00 2001
From: Tim Gallagher tim.gallag...@gatech.edu
Date: Wed, 5 Nov 2014 12:07:33 -0500
Subject: [PATCH] Enabled the generation of assembly and preprocessor targets 
 for Fortran.

The Makefile generator has been updated to create .i and .s targets for
Fortran files. The variable lang_is_c_or_cxx has been changed and split
into variables to indicate languages which can be preprocessed, generate
assembly, or have their compile commands output. This should allow for
more fine-grained control over these behaviors if languages can handle
some or all of those features.

The modules have been updated to set the CMAKE_Fortran_CREATE_* flags
required. This has been tested successfully on Intel and GNU suites but
remains untested for the others. The assumption is that other Fortran
compilers handle the options the same way their respective C/C++
compilers handle it.

Testing has been added to the FortranOnly test to verify the
preprocessor works. This test behaves the same as the test in the
Complex test for C++. There is no test for assembly in C/C++ however, so
there is not one in Fortran either.
---
 Modules/Compiler/GNU-Fortran.cmake   |5 
 Modules/Compiler/HP-Fortran.cmake|3 +++
 Modules/Compiler/Intel-Fortran.cmake |3 +++
 Modules/Compiler/PGI-Fortran.cmake   |5 
 Modules/Compiler/SunPro-Fortran.cmake|3 +++
 Modules/Compiler/XL-Fortran.cmake|4 ---
 Modules/Platform/HP-UX-HP-Fortran.cmake  |3 +++
 Modules/Platform/IRIX.cmake  |8 ++
 Modules/Platform/IRIX64.cmake|9 +++
 Source/cmLocalUnixMakefileGenerator3.cxx |   43 +-
 Source/cmMakefileTargetGenerator.cxx |   13 ++---
 Tests/FortranOnly/CMakeLists.txt |   22 +++
 Tests/FortranOnly/test_preprocess.cmake  |7 +
 13 files changed, 91 insertions(+), 37 deletions(-)
 create mode 100644 Tests/FortranOnly/test_preprocess.cmake

diff --git a/Modules/Compiler/GNU-Fortran.cmake b/Modules/Compiler/GNU-Fortran.cmake
index 313ccbd..dfd7927 100644
--- a/Modules/Compiler/GNU-Fortran.cmake
+++ b/Modules/Compiler/GNU-Fortran.cmake
@@ -8,10 +8,5 @@ set(CMAKE_Fortran_FORMAT_FREE_FLAG -ffree-form)
 set(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT -Os)
 set(CMAKE_Fortran_FLAGS_RELEASE_INIT -O3)
 
-# We require updates to CMake C++ code to support preprocessing rules
-# for Fortran.
-set(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE)
-set(CMAKE_Fortran_CREATE_ASSEMBLY_SOURCE)
-
 # Fortran-specific feature flags.
 set(CMAKE_Fortran_MODDIR_FLAG -J)
diff --git a/Modules/Compiler/HP-Fortran.cmake b/Modules/Compiler/HP-Fortran.cmake
index cc56b46..ad821ab 100644
--- a/Modules/Compiler/HP-Fortran.cmake
+++ b/Modules/Compiler/HP-Fortran.cmake
@@ -1,3 +1,6 @@
 set(CMAKE_Fortran_VERBOSE_FLAG -v)
 set(CMAKE_Fortran_FORMAT_FIXED_FLAG +source=fixed)
 set(CMAKE_Fortran_FORMAT_FREE_FLAG +source=free)
+
+set(CMAKE_Fortran_CREATE_ASSEMBLY_SOURCE CMAKE_Fortran_COMPILER DEFINES FLAGS -S SOURCE -o ASSEMBLY_SOURCE)
+set(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE CMAKE_Fortran_COMPILER DEFINES FLAGS -E SOURCE  PREPROCESSED_SOURCE)
diff --git a/Modules/Compiler/Intel-Fortran.cmake b/Modules/Compiler/Intel-Fortran.cmake
index 84f6182..9ebac5a 100644
--- a/Modules/Compiler/Intel-Fortran.cmake
+++ b/Modules/Compiler/Intel-Fortran.cmake
@@ -7,3 +7,6 @@ set(CMAKE_Fortran_MODDIR_FLAG -module )
 set(CMAKE_Fortran_VERBOSE_FLAG -v)
 set(CMAKE_Fortran_FORMAT_FIXED_FLAG -fixed)
 set(CMAKE_Fortran_FORMAT_FREE_FLAG -free)
+
+set(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE CMAKE_Fortran_COMPILER DEFINES FLAGS -E SOURCE  

Re: [cmake-developers] Assembly/preprocessed targets for Fortran

2014-11-05 Thread Brad King
On 11/05/2014 12:14 PM, Tim Gallagher wrote:
 I have attached an updated patch

Thanks!  Please split this into two patches.  The first one should
do the refactoring of the variable name and corresponding logic
with no functionality changes.  The second one can add the Fortran
feature.

Also please keep C++ source lines to 79 columns or below.

The FortranOnly test fails for me with:

 f95: error: gfortran does not support -E without -cpp

because it doesn't enable preprocessing for lower-case extensions.
You'll need to add another .F test source with an upper-case
extension to activate preprocessing without special flags.

Thanks,
-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] Initial Attempt at Green Hill MULTI IDE Generator Support

2014-11-05 Thread Geoffrey Viola
I rebased and squashed the previous commits and made some new changes. The GHS 
generator should now build a kernel and a monolith, which is necessary to 
autogenerate all the files necessary to compile. The generator determines that 
the executable target is a kernel based on a compiler flag and determines that 
it is a monolith if a file with an int ending is there. Also, there are a few 
changes to find boost libraries with this generator.

Some of the code is C++11. I'm not sure if that is an issue.

Also, it skips the step where it determines the compiler by using the force 
compiler macro. I don't see any other cmake module using this functionality.


Geoffrey Viola
SOFTWARE ENGINEER
T

+1.435.755.2980

ext 1077
M

+1.215.896.6521


asirobots.com




-Original Message-
From: Brad King [mailto:brad.k...@kitware.com]
Sent: Monday, October 27, 2014 7:46 AM
To: Geoffrey Viola
Cc: cmake-developers@cmake.org
Subject: Re: [cmake-developers] Initial Attempt at Green Hill MULTI IDE 
Generator Support

On 10/14/2014 12:48 PM, Geoffrey Viola wrote:
 Green Hills MULTI is an IDE for embedded real-time systems.
 http://www.ghs.com/products/MULTI_IDE.html.
 http://www.ghs.com/products/rtos/integrity.html.

Thanks for the explanation.

 I took a look at CMAKE_OSX_SYSROOT. It is similar to GHS_OS_DIR.
 There may be a simpler way to represent these customizations, but I
 don't know if there are any guarantees on standard folder structures
 or names.
[snip]
 It seems there needs to be some development to use the find boost
 module, because CMAKE_FIND_LIBRARY_PREFIXES is not set.

Both of these should be addressed by creating the corresponding 
Modules/Platform/*.cmake files associated with the target platform.

-Brad
This message contains confidential information and is intended only for the 
recipient. If you are not the named addressee you should not disseminate, 
distribute or copy this e-mail. Please notify the sender immediately if you 
have received this e-mail by mistake and delete this e-mail from your system. 
Finally, the recipient should check this email and any attachments for the 
presence of viruses. The company accepts no liability for any damage caused by 
any virus transmitted by this email.


0001-Added-basic-and-partial-support-for-a-Green-Hill-MUL.patch
Description: 0001-Added-basic-and-partial-support-for-a-Green-Hill-MUL.patch
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

Re: [cmake-developers] Assembly/preprocessed targets for Fortran

2014-11-05 Thread Tim Gallagher
Here's to hoping 3rd time's the charm...

Also, what version of gfortran do you have that requires both -E and -cpp to do 
the preprocessing? I don't need that on my version, I'm using 4.7.1. There may 
need to be more sophisticated logic in the Compiler module to add -cpp to the 
command line for versions that require it.

Tim

- Original Message -
From: Brad King brad.k...@kitware.com
To: Tim Gallagher tim.gallag...@gatech.edu
Cc: cmake-developers@cmake.org
Sent: Wednesday, November 5, 2014 12:55:04 PM
Subject: Re: [cmake-developers] Assembly/preprocessed targets for Fortran

On 11/05/2014 12:14 PM, Tim Gallagher wrote:
 I have attached an updated patch

Thanks!  Please split this into two patches.  The first one should
do the refactoring of the variable name and corresponding logic
with no functionality changes.  The second one can add the Fortran
feature.

Also please keep C++ source lines to 79 columns or below.

The FortranOnly test fails for me with:

 f95: error: gfortran does not support -E without -cpp

because it doesn't enable preprocessing for lower-case extensions.
You'll need to add another .F test source with an upper-case
extension to activate preprocessing without special flags.

Thanks,
-Brad

From 4d7eafbcf923fda5f541bc9e5fbdb1004e29ecf1 Mon Sep 17 00:00:00 2001
From: Tim Gallagher tim.gallag...@gatech.edu
Date: Wed, 5 Nov 2014 13:37:25 -0500
Subject: [PATCH] Refactored the checks for language-specific targets and
 export compile cmds

The checks are now split into languages that are able to generate
assembly listings, languages that are able to generate
preprocessed listings and languages that are able to export the
compile commands.
---
 Source/cmLocalUnixMakefileGenerator3.cxx |   44 +-
 Source/cmMakefileTargetGenerator.cxx |   14 +++---
 2 files changed, 35 insertions(+), 23 deletions(-)

diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index c18e027..e6b125b 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -314,37 +314,43 @@ void cmLocalUnixMakefileGenerator3::WriteLocalMakefile()
  lo-first.c_str(), lo-second);

 // Check whether preprocessing and assembly rules make sense.
-// They make sense only for C and C++ sources.
-bool lang_is_c_or_cxx = false;
+// They make sense only for C/C++ sources.
+bool lang_has_preprocessor = false;
+bool lang_has_assembly = false;
+
 for(std::vectorLocalObjectEntry::const_iterator ei =
   lo-second.begin(); ei != lo-second.end(); ++ei)
   {
-  if(ei-Language == C || ei-Language == CXX)
+  if(ei-Language == C ||
+ ei-Language == CXX)
 {
-lang_is_c_or_cxx = true;
+   // Right now, C/C++ have both a preprocessor and the
+   // ability to generate assembly code
+lang_has_preprocessor = true;
+lang_has_assembly = true;
 break;
 }
   }

 // Add convenience rules for preprocessed and assembly files.
-if(lang_is_c_or_cxx  (do_preprocess_rules || do_assembly_rules))
+if(lang_has_preprocessor  do_preprocess_rules)
   {
   std::string::size_type dot_pos = lo-first.rfind(.);
   std::string base = lo-first.substr(0, dot_pos);
-  if(do_preprocess_rules)
-{
-this-WriteObjectConvenienceRule(
-  ruleFileStream, target to preprocess a source file,
-  (base + .i).c_str(), lo-second);
-  lo-second.HasPreprocessRule = true;
-}
-  if(do_assembly_rules)
-{
-this-WriteObjectConvenienceRule(
-  ruleFileStream, target to generate assembly for a file,
-  (base + .s).c_str(), lo-second);
-  lo-second.HasAssembleRule = true;
-}
+  this-WriteObjectConvenienceRule(
+ruleFileStream, target to preprocess a source file,
+   (base + .i).c_str(), lo-second);
+  lo-second.HasPreprocessRule = true;
+  }
+
+if(lang_has_assembly  do_assembly_rules)
+  {
+  std::string::size_type dot_pos = lo-first.rfind(.);
+  std::string base = lo-first.substr(0, dot_pos);
+  this-WriteObjectConvenienceRule(
+   ruleFileStream, target to generate assembly for a file,
+   (base + .s).c_str(), lo-second);
+  lo-second.HasAssembleRule = true;
   }
 }

diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index 1adcb8a..6b98b35 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -702,7 +702,13 @@ cmMakefileTargetGenerator

   vars.Defines = definesString.c_str();

-  bool lang_is_c_or_cxx = ((lang == C) || (lang == CXX));
+  // At the moment, it is assumed that C/C++ have both
+  // assembly and preprocessor capabilities. The same is true for the
+  // ability to export compile commands
+  bool lang_has_preprocessor = ((lang == C) ||
+

Re: [cmake-developers] Assembly/preprocessed targets for Fortran

2014-11-05 Thread Brad King
On 11/05/2014 01:53 PM, Tim Gallagher wrote:
 Here's to hoping 3rd time's the charm...

Thanks.  Applied with minor tweaks:

 Makefile: Refactor checks for lang-specific targets and export compile cmds
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=06f8b429

 Makefile: Add assembly and preprocessed targets for Fortran
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a811f014

and merged to 'next' for testing.

 Also, what version of gfortran do you have that requires both -E
 and -cpp to do the preprocessing?

It is gfortran 4.9.1.

Many other compilers have this too.  Uppercase source extensions
get preprocessed by default, lowercase extensions require -cpp.
That is why Modules/CMakeFortranCompilerId.F.in uses an uppercase
extension.

-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] [wip/patch] Expose Ninja console pool feature for custom commands/targets

2014-11-05 Thread Peter Collingbourne
On Mon, Nov 03, 2014 at 04:22:56PM -0800, Peter Collingbourne wrote:
 Hi all,
 
 This patch exposes the Ninja console pool feature via the add_custom_command
 and add_custom_target commands. Specifically, it introduces a USE_CONSOLE
 flag which can be used to communicate to the generator that the command
 would prefer to use the console. It has no effect on generators other than
 the Ninja generator.

I've added documentation and tests and addressed Ben's comments, and published
the staging branch 'console-pool'. PTAL.

Thanks,
-- 
Peter
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers