Re: [CMake] Forwarding parameters to cmake through cmake-gui

2013-11-01 Thread Matthew Woehlke
On 2013-11-01 19:39, Matthew Woehlke wrote: On 2013-11-01 17:35, physhh . wrote: I've tried to implement it in the same way as CCMake seem to do it. Because I can't compare it = Could somone with access to ccmake test this: - Start CCMake with -D foo=123 - Configure - Question: Is foo displayed

Re: [CMake] Proper way to export a library

2013-10-31 Thread Matthew Woehlke
On 2013-10-31 05:26, Cyrille Faucheux wrote: Can you tell me a bit more about implicit compile flags [...] for imported tagets? See documentation on target_compile_definitions. On the library I'm currently working on, with Visual Studio, I have to declare some compile definition in order to

Re: [CMake] Proper way to export a library

2013-10-31 Thread Matthew Woehlke
On 2013-10-31 14:46, Hendrik Sattler wrote: Matthew Woehlke schrieb: On 2013-10-31 05:26, Cyrille Faucheux wrote: On the library I'm currently working on, with Visual Studio, I have to declare some compile definition in order to get the proper __declspec(dllimport) or __declspec(dllexport

Re: [CMake] Proper way to export a library

2013-10-30 Thread Matthew Woehlke
On 2013-10-30 13:56, Cyrille Faucheux wrote: I'm trying to learn how to properly import/export librairies with CMake. I think I've read somewhere that the proper way to export libraries is through the module mode (as described in [1]), but: a) I can't find back where I've read that, b) Lots of

Re: [CMake] Can I run a command every time a given target is created?

2013-10-23 Thread Matthew Woehlke
On 2013-10-23 15:41, Paul Smith wrote: I need to be able to run a command after a target is created, every time the target is created. I need this to happen regardless of the command line. Does add_custom_command(TARGET myTarget POST_BUILD ...) do what you want? -- Matthew -- Powered by

Re: [CMake] CMake 3.0?

2013-10-21 Thread Matthew Woehlke
On 2013-10-21 04:12, Gregoire Aujay wrote: I have seen that CMake 2.8.13 has been removed from the Mantis Roadmap. Instead there is a new 3.0 version Can you tell us more about it? See http://permalink.gmane.org/gmane.comp.programming.tools.cmake.devel/8207. -- Matthew -- Powered by

Re: [cmake-developers] Perforce Patch for CTest

2013-10-17 Thread Matthew Woehlke
On 2013-10-17 16:59, Brad King wrote: On 10/17/2013 04:56 PM, Rolf Eike Beer wrote: We should think if this should be something that is needed. Running some sort of background process is a common pattern for all sorts of tests. Often really detaching is not needed, It is usually sufficient to

Re: [CMake] Transitive linking and static libraries

2013-10-17 Thread Matthew Woehlke
On 2013-10-17 12:58, James Bigler wrote: It doesn't seem to work. I can't use target_link_libraries on an imported target. add_library(imported_lib STATIC IMPORTED GLOBAL) set_target_properties(imported_lib PROPERTIES IMPOARTED_LOCATION ${imported_lib_location})

Re: [CMake] Transitive linking and static libraries

2013-10-16 Thread Matthew Woehlke
On 2013-10-16 14:05, James Bigler wrote: Is it possible to stop known static libraries from being carried through shared libraries? Did you try using 'LINK_PRIVATE' in your target_link_libraries? -- Matthew -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ

Re: [cmake-developers] Perforce Patch for CTest

2013-10-15 Thread Matthew Woehlke
On 2013-10-15 18:44, Pedro Navarro wrote: I'm imagining that, depending on the testing machine, we might need to be able to specify where the perforce server is located, if it's not the local machine (using either a command line switch or an environment variable). Is there any infrastructure for

Re: [CMake] How to test for the usability of a target

2013-10-15 Thread Matthew Woehlke
On 2013-10-15 11:49, Johannes Zarl wrote: I'd like to make some code in my build system dependent on the existance of a target. Basically I'd like to write something like this: if(TARGET optional_lib) add_library(bar ${bar_srcs}) target_link_library(bar optional_lib) endif() The problem

Re: [CMake] How to write a correct wrapper of MESSAGE()?

2013-10-14 Thread Matthew Woehlke
On 2013-10-09 07:44, Johannes Zarl wrote: I guess you search for something like this: function(info) set(msg) foreach(i RANGE ${ARGC}) set(msg ${msg}${ARGV${i}}) endforeach() message(STATUS [info] ${msg}) endfunction() message(Foo:bar;baz space FOO)

Re: [CMake] How to write a correct wrapper of MESSAGE()?

2013-10-04 Thread Matthew Woehlke
On 2013-09-27 04:18, Clark WANG wrote: I'm trying to write some MESSAGE() wrappers like info(), warning(), fatal(), etc which may be a bit easier to use. But I failed to simulate the correct MESSAGE() behavior no matter I use MACRO or FUNCTION. For example: [snip] FUNCTION vs MACRO shouldn't

Re: [CMake] correct dependencies of update-if-different generated files?`

2013-09-19 Thread Matthew Woehlke
On 2013-07-29 19:02, Matthew Woehlke wrote: Let's say¹ I have a code generation tool, 'gen', that I am naïvely using to build a library, like so: add_custom_command( OUTPUT a.cpp b.cpp COMMAND gen in.xml DEPENDS in.xml ) add_library(foo a.cpp b.cpp) Now let's say that 'gen' is clever

[CMake] view CMake configuration without triggering reonfigure?

2013-09-17 Thread Matthew Woehlke
I find it convenient to view the current CMake configuration (e.g. install prefix, or to copy package locations from one build to another) using ccmake. However, any time I start ccmake, it causes the build to think that it needs to re-run cmake, even if I don't save (or even make!) changes.

Re: [CMake] unset(PARENT_SCOPE)

2013-09-17 Thread Matthew Woehlke
On 2013-09-17 14:00, James Bigler wrote: If there is a set(PARENT_SCOPE) why isn't there an unset(PARENT_SCOPE)? It seems like a hole in the API. I noticed this when I was trying to update my push_variable/pop_variable functions. I use set(PARENT_SCOPE) to set the variable outside of the

Re: [CMake] Inherited Directory Properties?

2013-09-13 Thread Matthew Woehlke
On 2013-09-13 16:43, Stewart, Robert wrote: I want a way to manage a list that applies to the current directory and any subdirectories, unless overridden for a subdirectory (which then applies to that subdirectory's subdirectories). I tried using SET_DIRECTORY_PROPERTIES() to set/modify the

Re: [CMake] Standard template for building and installing a library

2013-09-11 Thread Matthew Woehlke
On 2013-09-10 19:12, Littlefield, Tyler wrote: On 9/10/2013 6:43 PM, Matthew Woehlke wrote: On 2013-09-10 17:38, Littlefield, Tyler wrote: My final question is how to make the debug/release build work, as well as to allow to let this install. I need to install libxlog.a and the include

Re: [CMake] Standard template for building and installing a library

2013-09-10 Thread Matthew Woehlke
On 2013-09-10 17:38, Littlefield, Tyler wrote: First, I can create a demo directory and from there I can have a cmakelists.txt per demo. Is there a way somehow to link to the generated static library? Sounds like you are looking for 'target_link_libraries'? If I move the CXXFLAGS_DEBUG/etc

Re: [CMake] Makefile doesn't automatically create executable path as Ninja

2013-09-03 Thread Matthew Woehlke
On 2013-09-03 13:21, Felipe Menezes Machado wrote: I'm having trouble understanding this behavior: what happens if the directory of the executable doesn't exist? I created a minimum example CMakeLists.txt (where foo.cpp is just a hello world): add_executable(test/test.bin foo.cpp) If the test

Re: [cmake-developers] CMakeLists.txt needs to be undone.

2013-09-02 Thread Matthew Woehlke
On 2013-08-31 20:42, outro pessoa wrote: It's that simple. 1. I know that this isn't the traverso mailing list. 2. There is no response; and, therefore, it is up to me to fix it. 3. Resetting vorbis/vorbisfile.h to accept the FreeBSD paths does not work. 4. Contacting the former maintainers

Re: [cmake-developers] CMakeLists.txt needs to be undone.

2013-09-02 Thread Matthew Woehlke
On 2013-09-02 11:15, Matthew Woehlke wrote: On 2013-08-31 20:42, outro pessoa wrote: It's that simple. 1. I know that this isn't the traverso mailing list. 2. There is no response; and, therefore, it is up to me to fix it. 3. Resetting vorbis/vorbisfile.h to accept the FreeBSD paths does

Re: [CMake] Resetting cmake variables

2013-09-02 Thread Matthew Woehlke
On 2013-08-30 21:02, outro pessoa wrote: I am trying to build traverso-daw. In CMakeLists.txt file, wavpack.h was edited to use the full path; Edited in what manner? configure_file? Can you show us the relevant snippet of CMake code and relevant before/after snippets of the file being

Re: [CMake] Question about best practices for large Multi-stage builds

2013-08-26 Thread Matthew Woehlke
On 2013-08-26 15:16, Thomas Taranowski wrote: I have the following build structure: workspace/ CMakeLists.txt # top level cmake component_a/ CMakeLists.txt # component cmake src/ # source in here component_b/ CMakeLists.txt # component cmake

Re: [CMake] Question about best practices for large Multi-stage builds

2013-08-26 Thread Matthew Woehlke
On 2013-08-26 16:37, Thomas Taranowski wrote: I tend to agree with you that 2 would not generally be a target. However, there are external factors at play that I haven't mentioned. For one, in our environment we'd like to pull the auto generated code into a code review tool, and to mechanize

Re: [CMake] macro/functions in ctest scripts

2013-08-09 Thread Matthew Woehlke
On 2013-08-09 04:43, Yngve Inntjore Levinsen wrote: Sorry all, I found my mistake. Essentially in the 'ctest -S script' I moved all CTestTestfile.cmake to a binary directory using configure_file() instead of file(COPY .. DESTINATION ..). The configure_file evaluates all ${}, so the ${MESSAGE}

Re: [CMake] macro/functions in ctest scripts

2013-08-08 Thread Matthew Woehlke
On 2013-08-08 09:24, Jakub Zakrzewski wrote: On 2013-08-08 09:08, Yngve Inntjore Levinsen wrote: macro(hello MESSAGE) message(${MESSAGE}) endmacro(hello) hello(Hello World) This does not work (it gives a warning that the message command was called with wrong number of arguments). However,

Re: [CMake] correct dependencies of update-if-different generated files?`

2013-08-06 Thread Matthew Woehlke
On 2013-07-29 19:02, Matthew Woehlke wrote: Let's say¹ I have a code generation tool, 'gen', that I am naïvely using to build a library, like so: add_custom_command( OUTPUT a.cpp b.cpp COMMAND gen in.xml DEPENDS in.xml ) add_library(foo a.cpp b.cpp) Now let's say that 'gen' is clever

Re: [CMake] Robust check/prevention of in source builds

2013-08-02 Thread Matthew Woehlke
On 2013-08-02 17:12, Zaak Beekman wrote: I am wondering what the best way to detect and prevent in source builds is. Some potential pitfalls are relative paths vs absolute paths, and symbolic links (build_dir - source_dir). If anyone has any suggestions, I'd love to hear them. Obviously string

Re: [cmake-developers] cmake --deprecated-warnings and cmake --deprecated-errors

2013-07-30 Thread Matthew Woehlke
On 2013-07-30 08:45, Brad King wrote: On 07/30/2013 06:30 AM, Stephen Kelly wrote: I wonder if we should add --deprecated-warnings and --deprecated-errors and document them in cmake --help, as --warn-uninitialized etc? I think it's something we can do after 2.8.12, but I want to make sure it

[CMake] correct dependencies of update-if-different generated files?`

2013-07-29 Thread Matthew Woehlke
Let's say¹ I have a code generation tool, 'gen', that I am naïvely using to build a library, like so: add_custom_command( OUTPUT a.cpp b.cpp COMMAND gen in.xml DEPENDS in.xml ) add_library(foo a.cpp b.cpp) Now let's say that 'gen' is clever and does not overwrite the output files with

Re: [cmake-developers] target_link_libraries, IMPORTED targets and SYSTEM includes

2013-07-25 Thread Matthew Woehlke
On 2013-07-25 11:25, Stephen Kelly wrote: Brad King wrote: On 07/25/2013 09:16 AM, Stephen Kelly wrote: Should we treat the INTERFACE_INCLUDE_DIRECTORIES of all IMPORTED targets as SYSTEM includes automatically? I don't think so because one could be importing targets from a dependency that

Re: [cmake-developers] target_link_libraries, IMPORTED targets and SYSTEM includes

2013-07-25 Thread Matthew Woehlke
On 2013-07-25 13:25, Stephen Kelly wrote: Brad King wrote: On 07/25/2013 12:22 PM, Stephen Kelly wrote: library A should have a unit test which attempts to compile all of its headers with all warnings enabled. In Qt every module has a 'headersclean' unit test which does exactly that. While

Re: [cmake-developers] How to set environment variable for custom command.

2013-07-19 Thread Matthew Woehlke
On 2013-07-19 10:36, Nicolas Desprès wrote: In Unix shell we can do that: $ VAR=foo cmd in out This way the environment variable is only set in the environment of the process of the command and not the in current shell like when using the export built-in. I would like to be able to do the same

Re: [CMake] if defined and boolean value

2013-07-15 Thread Matthew Woehlke
On 2013-07-13 17:54, Victor Aurélio Santos wrote: I'm trying to evaluate a expression if variable X is defined and Y is ON: tried this: if (defined ${GETTEXT_LIB-NOTFOUND} and ${ENABLE_NLS}) For FOO not found, FOO-NOTFOUND gets defined? That'd be news to me... (Usually I expect FOO-NOTFOUND

Re: [CMake] How to embed Qt resources using CMake

2013-07-09 Thread Matthew Woehlke
On 2013-07-08 12:59, Júlio Hoffimann wrote: My CMakeLists.txt resides at the same directory as icons.qrc, but my main application is linked in a completely separate folder: main/ -- resources/ -- -- pixmaps/ -- CMakeLists1.txt -- icons.qrc exe/ -- CMakeLists2.txt -- main.cpp Is it okay? What

Re: [CMake] How to embed Qt resources using CMake

2013-07-09 Thread Matthew Woehlke
On 2013-07-09 14:46, Júlio Hoffimann wrote: One last question, is it portable to use ../ links in CMake? Or you just typed it for fast illustration? I use ../ all over the place... all that is required is a correct absolute or relative path to the .qrc (or whatever other source file).

Re: [cmake-developers] Disallowing include() of export() result

2013-06-28 Thread Matthew Woehlke
On 2013-06-28 08:40, Brad King wrote: What about the APPEND mode of export? Do you plan to try to collect all the appended pieces together, all delayed until generate time? That would be great if you could! One of my big gripes with export() is how much less elegant it is generating a

Re: [cmake-developers] Disallowing include() of export() result

2013-06-28 Thread Matthew Woehlke
On 2013-06-28 09:06, Stephen Kelly wrote: Brad King wrote: Perhaps the policy could also disallow the APPEND mode altogether. IIRC I've participated in discussion in the past about how APPEND is a bad approach anyway. I've never used it, but then I've never used export() except in unit tests

Re: [CMake] Disable parallel build under windows

2013-06-26 Thread Matthew Woehlke
On 2013-06-26 10:01, ycollette.nos...@free.fr wrote: In a directory, I build some ExternalProjects. Under windows, if I use the NMake Makefiles generator, the build is sequential (thanks to nmake which doesn't understand parallel build). But if I generate a Visual Studio solution, the external

Re: [cmake-developers] Add a manifest file to the created jar

2013-06-17 Thread Matthew Woehlke
On 2013-06-17 12:25, Matthew Woehlke wrote: On 2013-06-17 09:59, paul.chav...@fnac.net wrote: Following this thread¹ and bug², i would like to submit a patch that allow to specify a Manifest.txt when creating a jar. ¹ http://www.cmake.org/pipermail/cmake/2011-December/048015.html ² http

Re: [CMake] Add a manifest file to the created jar

2013-06-17 Thread Matthew Woehlke
On 2013-06-17 09:59, paul.chav...@fnac.net wrote: Following this thread¹ and bug², i would like to submit a patch that allow to specify a Manifest.txt when creating a jar. ¹ http://www.cmake.org/pipermail/cmake/2011-December/048015.html ² http://public.kitware.com/Bug/view.php?id=12886 Could

Re: [CMake] Add a manifest file to the created jar

2013-06-17 Thread Matthew Woehlke
On 2013-06-17 12:25, Matthew Woehlke wrote: On 2013-06-17 09:59, paul.chav...@fnac.net wrote: Following this thread¹ and bug², i would like to submit a patch that allow to specify a Manifest.txt when creating a jar. ¹ http://www.cmake.org/pipermail/cmake/2011-December/048015.html ² http

Re: [cmake-developers] Testing Groups

2013-06-10 Thread Matthew Woehlke
On 2013-06-10 15:49, Alexander Neundorf wrote: On Monday, June 10, 2013 09:19:15 AM Andreas Schneider wrote: Hi, I'm currently working on some libraries [1] which allows you advanced testing of daemons. Especially ones which require a network in testing. However for using this I need some

Re: [CMake] write file if different?

2013-06-03 Thread Matthew Woehlke
On 2013-05-28 16:07, Matthew Woehlke wrote: Is there a built-in way to write a string to a file (a la FILE(WRITE)) that will only write the file if the content would be different? (Or does FILE(WRITE) already work this way despite no obvious hint in the documentation that it does?) Right now I

Re: [cmake-developers] Safe source list GLOBs

2013-05-30 Thread Matthew Woehlke
On 2013-05-30 08:47, Wojciech Knapik wrote: Working with make taught me once and for all, that functions like [execute_process] should be avoided whenever possible. A build tool creates files from files via the means of targets. So if you want to use a tool like this effectively, you should use

Re: [CMake] CMake unable to detect Qt

2013-05-30 Thread Matthew Woehlke
On 2013-05-24 00:31, Gargi Das wrote: I am trying to build pyside and for that i need to build CMake for RHEL 5 machine, i follow the procedure mentioned in Readme.txt which is very straight forward. First i run the command: ./bootstrap --prefix=some path this operation generates lots of .o

Re: [CMake] write file if different?

2013-05-30 Thread Matthew Woehlke
On 2013-05-30 12:11, j s wrote: On Wed, May 29, 2013 at 11:14 PM, them...@gmail.com wrote: j s wrote: On 28.05.2013 22:07, Matthew Woehlke wrote: Is there a built-in way to write a string to a file (a la FILE(WRITE)) that will only write the file if the content would be different? (Or does

Re: [CMake] write file if different?

2013-05-30 Thread Matthew Woehlke
On 2013-05-30 17:24, J Decker wrote: On Tue, May 28, 2013 at 1:07 PM, Matthew Woehlke matthew.woeh...@kitware.com wrote: Is there a built-in way to write a string to a file (a la FILE(WRITE)) that will only write the file if the content would be different? (Or does FILE(WRITE) already work

Re: [CMake] write file if different?

2013-05-30 Thread Matthew Woehlke
On 2013-05-29 03:32, Michael Wild wrote: On 28.05.2013 22:07, Matthew Woehlke wrote: Is there a built-in way to write a string to a file (a la FILE(WRITE)) that will only write the file if the content would be different? (Or does FILE(WRITE) already work this way despite no obvious hint

Re: [cmake-developers] Safe source list GLOBs

2013-05-29 Thread Matthew Woehlke
On 2013-05-28 19:50, Wojciech Knapik wrote: Files don't just happen to be lying around in directories. You have to create them in a specific path, with a specific name. Even if the act of creation was performed by another developer, on another machine, that information is written to disk in the

Re: [cmake-developers] Safe source list GLOBs

2013-05-29 Thread Matthew Woehlke
On 2013-05-28 21:23, Wojciech Knapik wrote: On Fri, May 24, 2013 at 11:21:57AM -0400, Matthew Woehlke wrote: GLOB is just one of many things that will surprise you when working with CMake if you don't understand the difference between the configure and build passes. I've written quite a bit

[CMake] write file if different?

2013-05-28 Thread Matthew Woehlke
Is there a built-in way to write a string to a file (a la FILE(WRITE)) that will only write the file if the content would be different? (Or does FILE(WRITE) already work this way despite no obvious hint in the documentation that it does?) Right now I am writing to a temporary file and running

Re: [cmake-developers] review request: fix-protobuf-threads

2013-05-24 Thread Matthew Woehlke
On 2013-05-21 15:54, Brad King wrote: On 05/08/2013 05:09 PM, Matthew Woehlke wrote: After chatting with Marcus how to resolve ParaView link errors due to things using Google Protobuf needing to link to pthread, I have updated FindProtobuf.cmake to also find the pthread library on UNIX

Re: [cmake-developers] review request: fix-protobuf-threads

2013-05-24 Thread Matthew Woehlke
On 2013-05-24 15:56, Robert Maynard wrote: Did you verify that you have ssh access to g...@cmake.org? It was getting as far as dumping usage for 'stage' (elided in the previous message), so yes. Thanks to Brad King's help, it was determined to be a problem with my access credentials that

[Cmake-commits] CMake branch, next, updated. v2.8.11-2209-g9cd173a

2013-05-24 Thread Matthew Woehlke
- http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9cd173a67f7af3c8717369beef1fa42a19b88289 commit 9cd173a67f7af3c8717369beef1fa42a19b88289 Merge: fa05305 8961c4b Author: Matthew Woehlke matthew.woeh...@kitware.com AuthorDate: Fri May 24 16:06:10 2013 -0400 Commit: CMake

[Cmake-commits] CMake branch, next, updated. v2.8.11-2211-g8252abe

2013-05-24 Thread Matthew Woehlke
- http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8252abe4f37642139ee239aec67503a3ab0cdfa2 commit 8252abe4f37642139ee239aec67503a3ab0cdfa2 Merge: 9cd173a 81b5fb5 Author: Matthew Woehlke matthew.woeh...@kitware.com AuthorDate: Fri May 24 16:14:01 2013 -0400 Commit: CMake

Re: [CMake] How can I run my excutable in build

2013-05-14 Thread Matthew Woehlke
On 2013-05-14 06:19, Nils Gladitz wrote: I think something like this: add_executable(2 2.cpp) add_executable(gen gen.cpp) add_custom_command(OUTPUT 2.cpp COMMAND gen ${CMAKE_CURRENT_SOURCE_DIR}/2.txt -o 2.cpp DEPENDS 2.txt ) 'DEPENDS 2.txt gen' :-). You want the dependency on 'gen'

Re: [CMake] How can I run my excutable in build

2013-05-14 Thread Matthew Woehlke
On 2013-05-14 14:58, Nils Gladitz wrote: Unless I misunderstand the documentation a target level dependency is automatically added if the command references a target created by add_executable. That may be; I didn't check. Personally, I'd be inclined to be paranoid and list it anyway :-). At

Re: [CMake] What are the best way to set project-wide compiler flags?

2013-05-14 Thread Matthew Woehlke
On 2013-05-14 13:48, Todd Greer wrote: My development team and I have struggled with what should be a simple question: what is the best way to add project-wide compiler flags? Here are the ways I've seen from the documentation and miscellaneous sources: 1. add_definitions function 2.

[cmake-developers] review request: fix-protobuf-threads

2013-05-08 Thread Matthew Woehlke
After chatting with Marcus how to resolve ParaView link errors due to things using Google Protobuf needing to link to pthread, I have updated FindProtobuf.cmake to also find the pthread library on UNIX platforms and include it in PROTOBUF_LIBRARIES. This should fix link errors in a number of

Re: [CMake] copy_if_different on build

2013-04-24 Thread Matthew Woehlke
On 2013-04-23 16:00, Skippy VonDrake wrote: Hmm... that is odd. I think there may be something else going on in your project that is not obvious from the above information. I wrote a quick example along the lines of what you show, and it worked fine for me. Actual CMakeLists.txt I used is

Re: [CMake] copy_if_different on build

2013-04-23 Thread Matthew Woehlke
Please keep this on list so that others may contribute/benefit. Thanks. On 2013-04-23 10:43, Skippy VonDrake wrote: Hmm... yes, I'm not sure if add_dependencies can be used to add a file dependency to a target (the documentation only talks about adding other targets as dependencies). Usually

Re: [CMake] Install target after building it

2013-04-22 Thread Matthew Woehlke
On 2013-04-22 18:12, Robert Dailey wrote: I want to setup a target's header files to be copied to a separate directory after that target is built. Any dependent targets will reference the INSTALLED header files, so they must be copied after that target is built and prior to any other targets

Re: [CMake] Install target after building it

2013-04-22 Thread Matthew Woehlke
On 2013-04-22 19:46, Matthew Woehlke wrote: On 2013-04-22 18:12, Robert Dailey wrote: I want to setup a target's header files to be copied to a separate directory after that target is built. Any dependent targets will reference the INSTALLED header files, so they must be copied after

Re: [CMake] copy_if_different on build

2013-04-19 Thread Matthew Woehlke
On 2013-04-17 12:41, Skippy VonDrake wrote: Thought I understood this - but alas my implementation is wrong. Here's my test case with a top-level cmake file and 3 subdirectories: 'src', 'bin' and 'outdir'. Top level CMakeLists.txt cmake_minimum_required (VERSION 2.8) project (copyFile)

Re: [CMake] patch proposal for PythonInterp

2013-04-11 Thread Matthew Woehlke
Matthew On 2013-04-11 14:58, Yngve Inntjore Levinsen wrote: I have now finished a patch which I am quite sure does not break old logic, while fixing this problem. It should be said that I know little about code conventions and it is perhaps not as pretty as it could be, so please feel free to

Re: [CMake] Installing and Exporting for multiple configurations

2013-04-08 Thread Matthew Woehlke
On 2013-04-06 18:01, J Decker wrote: I see so the proper full path would be get_property( existing_outname TARGET ${target} PROPERTY OUTPUT_NAME ) if( NOT existing_outname ) set( existing_outname ${target} ) endif( NOT existing_outname )

Re: [CMake] Installing and Exporting for multiple configurations

2013-04-04 Thread Matthew Woehlke
On 2013-04-03 22:06, Saad Khattak wrote: Hi, I am trying my best to understand CMake's install and export commands so that separate projects are able to find libraries easily. I am having a tremendously hard time understand what CMake is doing. After 'add_library()' where the library is called

Re: [CMake] make superclean target? (i.e. clear *everything*)

2013-04-04 Thread Matthew Woehlke
On 2013-04-04 11:01, Daniel Carrera wrote: On 4 April 2013 12:41, Eric Noulard wrote: Yes I know. By suicidal I mean that the built tool will remove its own file (but not the CMakeLists.txt off course). I see what you mean. The Makefile is killing itself. It is committing suicide. Would it

Re: [CMake] make superclean target? (i.e. clear *everything*)

2013-04-04 Thread Matthew Woehlke
On 2013-04-04 06:30, Daniel Carrera wrote: On 4 April 2013 11:40, Ansis Māliņš wrote: What would be the benefit of such a command besides syntax? Only a small convenience, nothing big. I am used to typing make cleann when I want to make sure that I am starting from a clean slate. I also have

Re: [CMake] Installing and Exporting for multiple configurations

2013-04-04 Thread Matthew Woehlke
On 2013-04-04 17:04, J Decker wrote: Also, you should install to 'lib${LIB_SUFFIX}', not 'lib'. This will allow you (and distros packaging your software) to set LIB_SUFFIX to separate arch-specific components of 32- and 64-bit builds. E.g. on Linux, lib_suffix is usually ''/'64' or '32'/'', and

Re: [CMake] Explanation of the CMake INSTALL and EXPORT Commands

2013-04-03 Thread Matthew Woehlke
On 2013-04-03 16:16, Saad Khattak wrote: I am having a hard time understanding some commands in CMake which by the looks of it are vital for proper project deployment. One of the commands is INSTALL and the other is EXPORT. There are two forms of EXPORT, and I am not certain which one you are

Re: [cmake-developers] ninja enforces explicit dependencies before order-only

2013-04-02 Thread Matthew Woehlke
On 2013-04-02 09:19, Brad King wrote: Hi Peter, We've come across a case where the Makefile, VS, and Xcode generators work but Ninja does not:: cmake_minimum_required(VERSION 2.8.10) project(DependSideEffect C) add_library(A a.c) add_custom_command( TARGET A POST_BUILD COMMAND

Re: [CMake] Link different libraries in different targets

2013-04-02 Thread Matthew Woehlke
On 2013-04-02 12:08, domenico wrote: I'm quite new to CMake, so please forgive me if the question seems obvious. My project has lines like : link_directories(/path/to/libA/) add_library(my_project SHARED my_file.cpp) target_link_libraries(my_project A) I browsed help and googled a few, but I

Re: [CMake] copy_if_different on build

2013-04-01 Thread Matthew Woehlke
On 2013-03-29 17:07, Skippy VonDrake wrote: I'll look closer at add_custom_command. I want the file to copy over if it has changed - at build time. Not cmake time. And not copy if it hasn't changed. But that may not be doable. Seems like every StackOverflow post I see has a different take on

Re: [CMake] copy_if_different on build

2013-03-29 Thread Matthew Woehlke
On 2013-03-29 15:15, Skippy VonDrake wrote: I'm using: execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different some-file some-dest-dir) Should the file be copied when: the file has changed AND a build is executed? Or the file has changed AND CMakeLists.txt has changed

Re: [CMake] Do not build targets whose dependencies are not available

2013-03-28 Thread Matthew Woehlke
On 2013-03-28 16:02, Chris Stankevitz wrote: On Tue, Mar 19, 2013 at 3:13 AM, Ansis Māliņš wrote: Q: Can cmake automatically not build b when a is not available? find_package(a) if(a_FOUND) ExternalProject_Add(b PREFIX blabla ...) endif() Hello, If I understand correctly, this is

Re: [cmake-developers] [review] add_jar (UseJava) uses cmake_parse_arguments

2013-03-26 Thread Matthew Woehlke
On 2013-03-26 08:16, Brad King wrote: On 03/25/2013 05:20 PM, Matthew Woehlke wrote: Actually, there is a fourth option: I could write a patch that ONLY adds INCLUDE_JARS and doesn't touch the rest of the logic. This might be a more reasonable avenue for adding jar dependency support without

Re: [cmake-developers] [review] add_jar (UseJava) uses cmake_parse_arguments

2013-03-26 Thread Matthew Woehlke
On 2013-03-26 13:05, Rolf Eike Beer wrote: Brad King wrote: @@ -190,6 +198,8 @@ # (To distribute this file outside of CMake, substitute the full # License text for the above reference.) +include(CMakeParseArguments) + function (__java_copy_file src dest comment)

[cmake-developers] [review] add_jar (UseJava) uses cmake_parse_arguments

2013-03-25 Thread Matthew Woehlke
I have pushed a branch (use-java-use-parse-arguments) to stage that converts add_jar to using cmake_parse_arguments. This partly revers the previous change to accept jars and jar targets as sources for 'linking'; these must now be explicitly specified with INCLUDE_JARS. Other named arguments

Re: [cmake-developers] [review] add_jar (UseJava) uses cmake_parse_arguments

2013-03-25 Thread Matthew Woehlke
On 2013-03-25 13:14, Brad King wrote: On 03/25/2013 12:28 PM, Matthew Woehlke wrote: I'm on the fence if this should target 2.8.11. On the plus side, it means the historic behavior of ignoring jar files listed as sources will be preserved. On the down side, it is late in the cycle

Re: [cmake-developers] [review] add_jar (UseJava) uses cmake_parse_arguments

2013-03-25 Thread Matthew Woehlke
On 2013-03-25 14:07, Brad King wrote: On 03/25/2013 01:46 PM, Matthew Woehlke wrote: As is: - Pros: add_jar accepts jars as it was apparently intended to, as 'source' arguments - Cons: maybe not optimal interface, must support this going forward Even after the proposed interface goes in we

Re: [CMake] Is there an easy way to time how long build parts take.

2013-03-22 Thread Matthew Woehlke
On 2013-03-21 14:11, Miller Henry wrote: Our build it taking a long time, (15+ minutes even when with a massive build farm to distribute compiles across), and the question keeps coming up: what is actually taking so long. Is there an easy way to measure? If you are using ninja

Re: [CMake] change source which does not trigger rebuild ?

2013-03-22 Thread Matthew Woehlke
On 2013-03-13 09:22, Martin Koller wrote: I'd like to solve the following problem, but have not found a way how to yet: Our source is rebuilt every night, but only if some sources changed (e.g. the build tree is not removed, only the source tree is updated from CVS). What I want is to include

[CMake] does target_include_directories support SYSTEM?

2013-03-22 Thread Matthew Woehlke
See subject. I have a target that is the compiled sources from some stuff generated by Google Protobuf, which means using the headers also depend on ${PROTOBUF_INCLUDE_DIRS}. I would like to have this be a SYSTEM include... is this supported? Also, is there a way to treat all interface

Re: [cmake-developers] if (FOO == BAR) ...

2013-03-21 Thread Matthew Woehlke
On 2013-03-21 14:56, David Cole wrote: Unfortunately, this entire discussion nicely demonstrates and reinforces my belief that we ought not to do this == thing... If Alex, Brad, Matthew and I can't understand each other's meanings within the context of this discussion, what chance does a poor

Re: [cmake-developers] if (FOO == BAR) ...

2013-03-21 Thread Matthew Woehlke
On 2013-03-21 16:55, David Cole wrote: I almost always do one of these for string compare to a CMake variable value: if(${var} STREQUAL some string constant) if(${var} STREQUAL ${some_other_variable}) However, this is only because I am almost always certain that ${var} does not

Re: [cmake-developers] if (FOO == BAR) ...

2013-03-20 Thread Matthew Woehlke
On 2013-03-20 17:10, David Cole wrote: Are you proposing that == behaves as STREQUAL, or as EQUAL? What's the difference? Okay, for , , there is an obvious answer, but for ==, I am trying and failing to think of a situation where treating the arguments as numbers would give a different

Re: [cmake-developers] CMake 2.8.11-rc1 ready for testing

2013-03-15 Thread Matthew Woehlke
On 2013-03-15 11:57, Robert Maynard wrote: I am happy to announce that CMake 2.8.11 has entered the release candidate stage. I guess this does not include yesterday's genex fix? Will there be an rc2 to pick that up? -- Matthew -- Powered by www.kitware.com Visit other Kitware open-source

Re: [cmake-developers] please review: fix UseJava.cmake to support dependent jars

2013-03-15 Thread Matthew Woehlke
On 2013-03-14 11:14, Andreas Schneider wrote: On Thursday 14 March 2013 10:57:10 Brad King wrote: On 03/14/2013 10:47 AM, Matthew Woehlke wrote: This is now pushed to stage/fix-java-jar-depends. If someone knowledgeable could have a look, that would be much appreciated. Andreas, Nicholas

[cmake-developers] target_include_directories + genex bug?

2013-03-14 Thread Matthew Woehlke
If I have a target 'foo' and I do: target_include_directories(foo INTERFACE $BUILD_INTERFACE:hello $INSTALL_INTERFACE:world ) ...then in the build export file, I see the interface include directories 'hello', which seems reasonable. However, if I do: target_include_directories(foo

Re: [cmake-developers] target_include_directories + genex bug?

2013-03-14 Thread Matthew Woehlke
On 2013-03-14 16:46, Stephen Kelly wrote: Matthew Woehlke wrote: ...then I get 'hello;$INSTALL_INTERFACE:world;left'. Is this expected/correct? Nope, this is a bug. Thanks for testing/reporting. I've pushed a fix to the next branch. Please try that out. That seems to do the trick (no more

[CMake] please review: fix UseJava.cmake to support dependent jars (was: how to add jar that depends on other built jar?)

2013-03-14 Thread Matthew Woehlke
On 2013-03-13 18:14, Matthew Woehlke wrote: On 2013-03-13 17:09, Matthew Woehlke wrote: I have a project that builds a bunch of jar's with add_jar from UseJava.cmake. Let's say we have myjar1 and myjar2. How do I write the build rules for myjar2 such that it depends on myjar1? It looks like

[CMake] how to export header-only library (2.8.11)?

2013-03-14 Thread Matthew Woehlke
Now that 2.8.11 supports interface include_directories on targets, is there a way to create a library target that can be exported that has no actual library, but *does* define interface include_directories? -- Matthew -- Powered by www.kitware.com Visit other Kitware open-source projects at

Re: [CMake] how to export header-only library (2.8.11)?

2013-03-14 Thread Matthew Woehlke
On 2013-03-14 15:33, Stephen Kelly wrote: Matthew Woehlke wrote: Now that 2.8.11 supports interface include_directories on targets, is there a way to create a library target that can be exported that has no actual library, but *does* define interface include_directories? That won't

[cmake-developers] can't configure CMake master

2013-03-13 Thread Matthew Woehlke
If I turn off BUILD_TESTING, I get this error: CMake Error at Tests/CMakeTests/CMakeLists.txt:7 (add_test): Error evaluating generator expression: $TARGET_FILE:cmsysTestsCxx No target cmsysTestsCxx Call Stack (most recent call first): Tests/CMakeTests/CMakeLists.txt:32

[cmake-developers] bizarre g_f_c(REALPATH) bug; works backwards(?!)

2013-03-13 Thread Matthew Woehlke
I've discovered an odd an seemingly incorrect behavior of get_filename_component(REALPATH)... apparently there are some conditions when it can take a canonical path and turn it *back into a symlink*. To reproduce: $ ls -l lrwxrwxrwx. 1 matthew matthew 10 Mar 13 20:17 build - real-build

[cmake-developers] target_include_directories is broken with ninja generator

2013-03-13 Thread Matthew Woehlke
This simple CMakeLists.txt is broken with ninja: cmake_minimum_required(VERSION 2.8.10.20130312) project(Foo) add_executable(foo foo.cpp) target_include_directories(foo PUBLIC $BUILD_INTERFACE:${Foo_BINARY_DIR} $INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/include ) ...with Ninja, the

Re: [cmake-developers] target_include_directories is broken with ninja generator

2013-03-13 Thread Matthew Woehlke
On 2013-03-13 20:59, Matthew Woehlke wrote: This simple CMakeLists.txt is broken with ninja: cmake_minimum_required(VERSION 2.8.10.20130312) project(Foo) add_executable(foo foo.cpp) target_include_directories(foo PUBLIC $BUILD_INTERFACE:${Foo_BINARY_DIR} $INSTALL_INTERFACE

<    1   2   3   4   >