Re: [cmake-developers] INTERFACE_LIBRARY target type
Stephen Kelly wrote: 7) I've only implemented the support for this target type in the Makefile generator so far. I can also do the Ninja one after all of the details about how it works are sorted out. Can someone else implement the VS and Xcode support? I'm too unfamiliar with those generators. Do you mean support for make iface in the other generators? Yes. Something similar to what is changed in the makefile generator in the first patch 'Add the INTERFACE library type.' is likely needed in other generators too. I've done this part and merged into next for testing. I split off the 'make iface' stuff into a separate gitorious/INTERFACE_LIBRARY-build-targets topic in my clone. I suspect the generator-specific parts of that will be more-involved. Thanks, Steve. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
[cmake-developers] [CMake 0014399]: Can't use assembler files with Visual Studio 11 generator
The following issue has been SUBMITTED. == http://public.kitware.com/Bug/view.php?id=14399 == Reported By:Xuefer Assigned To: == Project:CMake Issue ID: 14399 Category: CMake Reproducibility:always Severity: block Priority: normal Status: new == Date Submitted: 2013-09-11 04:45 EDT Last Modified: 2013-09-11 04:45 EDT == Summary:Can't use assembler files with Visual Studio 11 generator Description: using nightly 2.8.11.20130910-g7124b bug http://public.kitware.com/Bug/view.php?id=11536 is really fixed, but with exactly same code using Visual Studio 11 generator, the asm is not compiled == Issue History Date ModifiedUsername FieldChange == 2013-09-11 04:45 Xuefer New Issue == -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] ExternalProject and git clone
On 10/09/13 18:13, David Cole wrote: Comments: (1) Obviously, remove the FIXME and actually add the documentation before merging this into CMake 'next'... Of course :) I was waiting to define the exact new behaviour before writing the documentation (2) This won't work: +string(REGEX MATCH \^\${abs_binary_dir}\ source_in_binary_dir \\${abs_source_dir}\) If there are REGEX characters in the directory name. We have a similar test in CMake/Tests/CMakeTests/CheckSourceTreeTest.cmake.in, but it uses STREQUAL, string lengths and SUBSTRING to test if it's an in-source build. Something similar to that would work reliably even when REGEX characters are in the directory name. Right, I didn't consider that, thanks for pointing me to that file! (3) Here: + if(NOT IS_DIRECTORY \${source_dir}\) Do you mean to test for the .git directory? I am actually testing if this is a file... If a user has a file with the same name of the source directory, perhaps he doesn't want it to be deleted. That's also the reason why I want to check if the directory is not empty. If you have a folder with the same name of the repository, and it contains some file, perhaps you don't want to lose its content. (If it is empty it was probably created previously by cmake, or anyway you don't lose anything important) But I just realized that it could be a symlink to a directory containing the repository, stored somewhere else... So should I support this? (4) The second time the Repository URL is different code is hit, there will already be an origin.old remote. Does that mean the call will fail with an error? Could you construct a unique name each time through instead to avoid the error? Good idea, I'll rename it to something like origin+timestamp Thanks for the comments, I'll update the patch as soon as possible. Cheers, Daniele -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] ExternalProject and git clone
On 10/09/13 20:05, Brad King wrote: I think it should be explicitly enabled or disabled by an option: GIT_WORK_TREE_PRESERVE 0|1 What about EP_WORK_TREE_PRESERVE? Even though the patch is for git only at the moment, I think this should be supported also for the other repositories (perhaps just failing if there are no equivalent commands to make the checks) Cheers, Daniele -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] ExternalProject and git clone
On 09/11/2013 06:00 AM, Daniele E. Domenichelli wrote: On 10/09/13 20:05, Brad King wrote: I think it should be explicitly enabled or disabled by an option: GIT_WORK_TREE_PRESERVE 0|1 What about EP_WORK_TREE_PRESERVE? Even though the patch is for git only at the moment, I think this should be supported also for the other repositories (perhaps just failing if there are no equivalent commands to make the checks) The EP_ prefix is not needed because this is already an option of the ExternalProject_Add function. How about SOURCE_DIR_PRESERVE? -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] ExternalProject and git clone
The EP_ prefix is not needed because this is already an option of the ExternalProject_Add function. How about SOURCE_DIR_PRESERVE? To me, the name SOURCE_DIR_PRESERVE implies that the source dir, if it exists, will not be touched by the download command or the update command at all. If it will be modified or deleted at all, then there must be a more appropriate name than preserve. In my opinion, a better strategy in this case is to require source trees that need preserving or manual interventions to be setup manually and simply pointed to with SOURCE_DIR, with empty download and update commands. My main point being: if you're actively developing code in these source trees, then they're not really External, are they? D -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] ExternalProject and git clone
On 11/09/13 14:34, Brad King wrote: On 09/11/2013 06:00 AM, Daniele E. Domenichelli wrote: On 10/09/13 20:05, Brad King wrote: I think it should be explicitly enabled or disabled by an option: GIT_WORK_TREE_PRESERVE 0|1 What about EP_WORK_TREE_PRESERVE? Even though the patch is for git only at the moment, I think this should be supported also for the other repositories (perhaps just failing if there are no equivalent commands to make the checks) The EP_ prefix is not needed because this is already an option of the ExternalProject_Add function. How about SOURCE_DIR_PRESERVE? Ah ok, sorry I thought this was supposed to be a global variable, not a parameter of ExternalProject_Add... So, how about a SOURCE_DIR_PRESERVE parameter of ExternalProject_Add that defaults to the value of EP_SOURCE_DIR_PRESERVE if defined, or to TRUE if (The work tree is outside CMAKE_BINARY_DIR) AND (NOT CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.13)? Daniele -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] ExternalProject and git clone
On 9/11/2013 10:35 AM, David Cole wrote: My main point being: if you're actively developing code in these source trees, then they're not really External, are they? If you want to take advantage of ExternalProject, then you have to make all your projects external even the main one you are developing. That is just the nature of ExternalProject. So, for most projects at least one of the projects in a SuperBuild will be the main project they are working on. Having ExternalProject do an initial checkout is a great way to get an initial build for a developer. -Bill -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Warnings with CMake 2.8.12-rc3 driving dashboards
Steve, On 09/11/2013 11:10 AM, David Cole wrote: Configure policy warnings with CMake 2.8.12-rc3 in a Qt-enabled VTK 'master' dashboard: http://open.cdash.org/viewConfigure.php?buildid=3025085 The warning reads CMake Warning (dev) in GUISupport/Qt/CMakeLists.txt: Policy CMP0022 is not set: INTERFACE_LINK_LIBRARIES defines the link interface. Run cmake --help-policy CMP0022 for policy details. Use the cmake_policy command to set the policy and suppress this warning. Target vtkGUISupportQt has a INTERFACE_LINK_LIBRARIES property which differs from its LINK_INTERFACE_LIBRARIES properties. Can you please teach it to print out the value of each of the two properties so we have some hint about what is different? Thanks, -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Warnings with CMake 2.8.12-rc3 driving dashboards
On 09/11/2013 11:10 AM, David Cole wrote: Build warnings about unrecognized option '/link'; ignored on ITK, VTK Please post a sample link line that generates this warning. Thanks, -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
[cmake-developers] Warnings with CMake 2.8.12-rc3 driving dashboards
Configure policy warnings with CMake 2.8.12-rc3 in a Qt-enabled VTK 'master' dashboard: http://open.cdash.org/viewConfigure.php?buildid=3025085 Build warnings about unrecognized option '/link'; ignored on ITK, VTK and VTKWikiExamples dashboards (with 2.8.12-rc3 driving, ninja generator, MS compiler...): http://open.cdash.org/viewBuildError.php?type=1buildid=3025085 (and several others...) These warnings did not occur with CMake 2.8.11.2 driving -- see yesterday's equivalents. David C. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Warnings with CMake 2.8.12-rc3 driving dashboards
C:\dev\My Tests\Nightly\VTK Win32-ninja-Debugninja -v vtkChartsCoreCxxTests [1/1] cmd.exe /c cd . C:\Program Files\CMake 2.8\bin\cmake.exe -E vs_link_exe C:\PROGRA~1\MICRO S~1.0\VC\bin\link.exe /nologo @CMakeFiles/vtkChartsCoreCxxTests.rsp /out:bin\vtkChartsCoreCxxTests. exe /implib:lib\vtkChartsCoreCxxTests.lib /pdb:bin\vtkChartsCoreCxxTests.pdb /version:0.0 /machine: X86 /debug /INCREMENTAL /subsystem:console cd . LINK : warning LNK4044: unrecognized option '/link'; ignored LINK : bin\vtkChartsCoreCxxTests.exe not found or not built by the last incremental link; performing full link It must be in the CMakeFiles/vtkChartsCoreCxxTests.rsp file, but that file's gone after the command executes. Is there an easy way to keep the response files around, or capture their contents, or just avoid their use without re-building CMake...? -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Warnings with CMake 2.8.12-rc3 driving dashboards
On 09/11/2013 11:10 AM, David Cole wrote: Configure policy warnings with CMake 2.8.12-rc3 in a Qt-enabled VTK 'master' dashboard: http://open.cdash.org/viewConfigure.php?buildid=3025085 Here is a fix for the CMP0022 warnings: http://review.source.kitware.com/#/t/3233/ -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Warnings with CMake 2.8.12-rc3 driving dashboards
On 09/11/2013 12:05 PM, David Cole wrote: C:\PROGRA~1\MICROS~1.0\VC\bin\link.exe /nologo @CMakeFiles/vtkChartsCoreCxxTests.rsp [snip] It must be in the CMakeFiles/vtkChartsCoreCxxTests.rsp file, but that file's gone after the command executes. I think ninja writes that file out temporarily. Therefore the ninja build files must have the /link option in them somewhere. -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Warnings with CMake 2.8.12-rc3 driving dashboards
On 09/11/2013 12:32 PM, Brad King wrote: I think ninja writes that file out temporarily. Therefore the ninja build files must have the /link option in them somewhere. Okay, I found the problem. There was a Ninja-specific change made here to do linking with response files: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e31df039 That commit added special handling for /link with executables of which I was not aware when I made this change in 2.8.12: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fb9f73de The latter change switches from cl.exe to link.exe for linking executables and of course the latter does not know about /link. Try this patch: diff --git a/Modules/Platform/Windows-MSVC.cmake b/Modules/Platform/Windows-MSVC.cmake index 685638a..8cb7fd5 100644 --- a/Modules/Platform/Windows-MSVC.cmake +++ b/Modules/Platform/Windows-MSVC.cmake @@ -231,7 +231,6 @@ macro(__windows_compiler_msvc lang) set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE CMAKE_${lang}_COMPILER ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} FLAGS DEFINES /FoNUL /FAs /FaASSEMBLY_SOURCE /c SOURCE${CMAKE_END_TEMP_FILE}) - set(CMAKE_${lang}_COMPILER_LINKER_OPTION_FLAG_EXECUTABLE /link) set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_OBJECTS 1) set(CMAKE_${lang}_LINK_EXECUTABLE -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] ExternalProject and git clone
On 10/09/13 19:54, David Cole wrote: set(dir .) file(GLOB r1 ${dir}/*) list(LENGTH r1 n1) message(n1='${n1}') file(GLOB r2 ${dir}/*.*) list(LENGTH r2 n2) message(n2='${n2}') convinces me that n1 and n2 should both be 0 in an empty directory, and non-0 in a directory that contains any subdirs or files, even invisible ones like .git. The second version is 0 even if you have only files without a '.' in the name, therefore I'll use the first version... Thanks, Daniele -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Targets for FindGTK2.cmake
On 08/06/2013 05:39 AM, Daniele E. Domenichelli wrote: I added a commit introducing a couple of unit tests that should run only if GTK and/or GTKMM are available on the system. Do these tests share a build tree? GTK2Targets.gtk and GTK2Components.gtk failed randomly last night: http://open.cdash.org/viewTest.php?onlyfailedbuildid=3025432 Both start with the output: Internal cmake changing into directory: /home/kitware/Dashboards/My Tests/CMakeGNU-build/Tests/FindGTK2/gtk The tests run in parallel so they must use different directories. Thanks, -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] ninja /link handling (was: Warnings with CMake 2.8.12-rc3 driving dashboards)
Peter, On 09/11/2013 12:40 PM, Brad King wrote: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e31df039 That commit added special handling for /link with executables Why is *_COMPILER_LINKER_OPTION_FLAG_* needed here: http://cmake.org/gitweb?p=cmake.git;a=blob;f=Source/cmNinjaNormalTargetGenerator.cxx;hb=v2.8.11.2#l176 for special handling of the /link flag? The flag already appears (or not) in the right place in CMAKE_${lang}_LINK_EXECUTABLE rules. Thanks, -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] [vtk-developers] Warnings with CMake 2.8.12-rc3 driving dashboards
Yes, that patch (removing the one line in Windows-MSVC.cmake) eliminates the warning. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] [vtk-developers] Warnings with CMake 2.8.12-rc3 driving dashboards
On 09/11/2013 02:33 PM, David Cole wrote: Yes, that patch (removing the one line in Windows-MSVC.cmake) eliminates the warning. Okay, thanks. Applied: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3cd753df I've started a branch off this thread on cmake-developers to inquire about Ninja's special /link handling in general. -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] ExternalProject and git clone
On 09/11/2013 10:39 AM, Daniele E. Domenichelli wrote: Ah ok, sorry I thought this was supposed to be a global variable, not a parameter of ExternalProject_Add... So, how about a SOURCE_DIR_PRESERVE parameter of ExternalProject_Add that defaults to the value of EP_SOURCE_DIR_PRESERVE if defined, or to TRUE if (The work tree is outside CMAKE_BINARY_DIR) AND (NOT CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.13)? I guess EP_SOURCE_DIR_PRESERVE would work as a directory property like EP_STEP_TARGETS does already. However, I do not think it is a good idea to keep a valuable source tree inside the build tree of another project. Also, see David Cole's other response. If you're looking for a developer source tree dependency manager, try Ryppl: http://ryppl.org/ -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Warnings with CMake 2.8.12-rc3 driving dashboards
Brad King wrote: Can you please teach it to print out the value of each of the two properties so we have some hint about what is different? I pushed print-CMP0022-content-conflict and merged it to next. Thanks, Steve. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers