[cmake-developers] [CMake 0015178]: CMake very slow at generation stage
The following issue has been SUBMITTED. == http://public.kitware.com/Bug/view.php?id=15178 == Reported By:Christophe Prud'homme Assigned To: == Project:CMake Issue ID: 15178 Category: (No Category) Reproducibility:always Severity: minor Priority: normal Status: new == Date Submitted: 2014-09-30 06:38 EDT Last Modified: 2014-09-30 06:38 EDT == Summary:CMake very slow at generation stage Description: on macosx the generation stage is very slow and it seems that it is the dependencies computation. On our projet (http://www.feelpp.org) is takes minutes for the generation stage while it took seconds in the previous version. On Linux no such issues. It seems that there are a lot of call to otool on macosx and it might be that that slows down thinks == Issue History Date ModifiedUsername FieldChange == 2014-09-30 06:38 Christophe Prud'hommeNew Issue == -- 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] iOS support
On 9/23/14, Florent Castelli florent.caste...@gmail.com wrote: Hi! My company is organizing soon a hack week where each employee is able to work on any project he wants. So, I've decided to work with Cmake and improve support for iOS to help the product team getting rid of manual project files, constant merge conflicts and bad project file documentation, while improving our tooling possibilities (all that with Cmake!). I've had a quick look at the first issue that popped into my mind the other day and fixed try_compile by adding another variable to set the executable type in the generated project (it has to be MACOSX_BUNDLE) and fixing the search path for the resulting binary. So this is now working... Providing we are targeting the simulator. Due to the nature of Xcode projects that can easily target either the simulator or devices, thus using different compilation flags, the resulting projects aren't working in both case. There are conflicts between some options like the minimum iOS version target and the minimum iOS simulator target for example (which you need to build the try_compile binaries without signing them). Also, the Xcode support is very OSX focused and all variables have MACOSX in their name, which is confusing. So, has anyone worked on similar issues and can suggest a way to progress and improve support for iOS? In the end, I'd like to have a working Xcode project with separate settings for both simulator and device, Cmake compiler flag detection working, and possibly later Make/Ninja projects working too. Regards, /Orphis This is off the top of my head, and its late... Some context...I'm developing a new SDK for game developers. I've been spending a lot of time with the generators (Windows, Linux, Mac, iOS, Android, and playing with Windows Phone recently). CMake is the best game in town for handling all these platforms. But there are also a ton of things that annoy me. My goal is to help people build apps they can ship, but much of CMake's thought process is about building apps locally for your system and the work flow isn't correct in my opinion. I've done a lot to address these short-comings and I hope to clear some time to talk about all this and share my changes in the near future. (Especially the Android stuff...I had to build a lot of crap to make that work and I would like to fold that back into the CMake core because it is evil.) As for iOS (and some Mac), one of my peevs is that the application bundle process doesn't happen as part of the build. For a normal Mac/iOS development, you always rebuild your code and your application bundle. CMake treats this as two discrete steps so what you develop/test is different from what you ship. (And incidentally in the Visual Studio case, I discovered it is impossible to launch your app via the debugger because of this too.) Additionally, the iOS/CMake stuff is flakey about letting you switch between device and simulator. You shouldn't have to generate a completely different project to test between the two. This is not how iOS developers work nor how the Xcode toolchain is designed. (And now that we have 32-bit and 64-bit versions of both, it's ridiculous.) I some how got mine to the point where I can switch targets in the same project, but it's flakey due to the way CMake injects paths/values into the Xcode project. It isn't the same exact values as Apple, so somethings like finding frameworks/libraries cause me to do some tricks. Also on that note, just getting CMake to pick the proper Lastest SDK value by default would be nice. It is hard coding some full path which seems to work in base cases, but causes me problems in other cases. I noticed when Xcode versions change, this often is the main culprit for new breakage. All the configuration options are blank for me. The Mac one works, but iOS is blank for me. This means thinks like all my optimization settings are the same (debug and release have the same values). I can set these values manually, but I have only been able to do it to my own targets explicitly. My attempts to set the values globally (at the root) have not succeeded. I still haven't dealt with launch images and icons. A proper sized launch image is required to get the iPhone 5 and iPhone 6 tall resolutions without letterboxing. I'm not sure what the right thing to do here is with CMake. I'm doing my own application bundling to some degree. As I said, CMake's normal process goes against the grain of the normal workflow so I changed it to behave like the real thing. I'm having trouble remembering, but I think the CMake/Mac had better handling than CMake/iOS. CMake was doing some stuff for me better than iOS, but I don't fully remember. (May have something to do with listing resources as part of the target.) But one place I found CMake to be really annoying was with nested directories and also symlinks. Copying a framework into a bundle is a good example because it has both. And ideally,
[cmake-developers] kwsys SystemTools::RelativePath()
When both operands are the same absolute path I get the empty string as a result. Should it be .? Nils -- 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] [ITK-dev] find_package issues with ITK and VTK (and SlicerExecution Model)
On 09/30/2014 10:14 AM, Williams, Norman K wrote: find_package(VTK REQUIRED) find_package(ITK REQUIRED) You can’t real compile anything that needs VTK, because down in the ITK deployment stuff, it calls find_package(VTK) like this: [snip] Which blows away the larger list of include directories and libraries One may use the itk_module_config and vtk_module_config macros from the *ModuleAPI.cmake modules that come with the respective packages to compute the list of libraries and include dirs for a given list of components. All ITKConfig and VTKConfig do with the list of components is: itk_module_config(ITK ${ITK_MODULES_REQUESTED}) # sets ITK_LIBRARIES, ITK_INCLUDE_DIRS, etc. and vtk_module_config(VTK ${VTK_MODULES_REQUESTED}) # sets VTK_LIBRARIES, VTK_INCLUDE_DIRS, etc. One can invoke these directly: itk_module_config(ITK ${MY_LIST_OF_ITK_COMPONENTS}) vtk_module_config(VTK ${MY_LIST_OF_VTK_COMPONENTS}) at any time after the find_package calls. One could even use a different prefix: itk_module_config(MyITK ${MY_LIST_OF_ITK_COMPONENTS}) # sets MyITK_LIBRARIES, MyITK_INCLUDE_DIRS, etc. In the long run the plan is to stop recommending use of component lists at find_package time and instead use imported targets and usage requirements: http://www.cmake.org/cmake/help/v3.0/manual/cmake-buildsystem.7.html#build-specification-and-usage-requirements but that will have to wait until we can require CMake 3.0. -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] [ITK-dev] find_package issues with ITK and VTK (and SlicerExecution Model)
On 09/30/2014 11:13 AM, Bradley Lowekamp wrote: Do you have a suggestion on how to conditionally include a module if it's available? e.g. Use ITKDeprecated if ITK was configure with it? find_package(ITK REQUIRED) set(MY_ITK_COMPONENTS ...) # list required mods here if(;${ITK_MODULES_ENABLED}; MATCHES ;ITKDeprecated;) list(APPEND MY_ITK_COMPONENTS ITKDeprecated) endif() itk_module_config(ITK ${MY_ITK_COMPONENTS}) I think the if() line could also be written if(TARGET ITKDeprecated) but I don't remember off the top of my head whether the library names and module names always match exactly. -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] Integrate fixdep for kconfig
On 09/24/2014 07:18 AM, Sam H. wrote: I would like to use kconfig from Linux for my project settings. So I integrate fixdep tools into CMake for parsing CONFIG_xxx key words and set proper dependency of files that are generated by kconfig. For those of us unfamiliar with kconfig/fixdep, please provide a high level explanation of how they work and why CMake dependency scanning needs to be modified. However, here come some issues. 1. The codes from fixdep is declared as GPL. But CMake use BSD. 2. fixed use mmap(). But this API is not support well on Windows. Both of these need to be addressed before a patch would be accepted. We cannot link GPLed code, and we need a portable implementation. 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
[cmake-developers] fix-OSX-bundle-rpaths-and-Qt5 topic
Hi Folks, Picking up from the end of an earlier thread: [PATCH] stage/fix-OSX-bundle-rpaths-and-Qt5 http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/10781/focus=11016 Is the fix-OSX-bundle-rpaths-and-Qt5 topic ready to be merged to 'next' for testing? Clinton, have your comments been addressed? 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] fix-OSX-bundle-rpaths-and-Qt5 topic
On Tuesday, September 30, 2014 11:37:27 AM Brad King wrote: Hi Folks, Picking up from the end of an earlier thread: [PATCH] stage/fix-OSX-bundle-rpaths-and-Qt5 http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/10781/focu s=11016 Is the fix-OSX-bundle-rpaths-and-Qt5 topic ready to be merged to 'next' for testing? Clinton, have your comments been addressed? Thanks, -Brad My concerns of breaking backward compatibility were already addressed. However, I do wish there is a test for this. Although the commits target OS X, I would like to see some proof that the API changes in GetPrerequisites for supporting rpaths will work on other platforms such as Linux. A test for both OS X and Linux will help justify the API changes. Clint -- 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] fix-OSX-bundle-rpaths-and-Qt5 topic
A test for both OS X and Linux will help justify the API changes. Well. All I can say that failing tests were already addressed in latest version of this branch. Also it does not break existing functions signature or behavior. All new parameters are optional. I have no other means to prove that everything is OK. --Adam -- 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
[cmake-developers] [CMake 0015180]: FindGLUT.cmake should search for glut64 instead of glut32 on 64-bit Windows
The following issue has been SUBMITTED. == http://public.kitware.com/Bug/view.php?id=15180 == Reported By:Daniel Schepler Assigned To: == Project:CMake Issue ID: 15180 Category: Modules Reproducibility:always Severity: minor Priority: normal Status: new == Date Submitted: 2014-09-30 13:04 EDT Last Modified: 2014-09-30 13:04 EDT == Summary:FindGLUT.cmake should search for glut64 instead of glut32 on 64-bit Windows Description: On 64-bit Windows, the GLUT stub library is named glut64.lib instead of glut32.lib. So, find_package(GLUT) should be searching for glut64 instead of glut32 on that platform. (Or maybe search for both with glut64 preferred, if in fact there are some 64-bit versions of glut32.lib/glut32.dll out there.) == Issue History Date ModifiedUsername FieldChange == 2014-09-30 13:04 Daniel ScheplerNew Issue == -- 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] fix-OSX-bundle-rpaths-and-Qt5 topic
On 09/30/2014 12:24 PM, Adam Strzelecki wrote: I have no other means to prove that everything is OK. Please merge the topic to 'next' for testing when you're ready. We can at least see if the dashboard stays clean with it. 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] [ITK-dev] find_package issues with ITK and VTK (and SlicerExecution Model)
Hi Kent, On Tue, Sep 30, 2014 at 10:14 AM, Williams, Norman K norman-k-willi...@uiowa.edu wrote: This is a problem that has been cropping up in our projects that use ITK, VTK and SlicerExecutionModel. You won’t see it UNLESS you turn on the ITKVTK/ITKVtkGlue modules. The problem is this: if you find packages in this order: find_package(VTK REQUIRED) find_package(ITK REQUIRED) You can’t real compile anything that needs VTK, because down in the ITK deployment stuff, it calls find_package(VTK) like this: find_package(VTK COMPONENTS vtkCommonCore vtkRenderingCore vtkRenderingOpenGL vtkRenderingFreeType vtkInteractionStyle vtkIOImage vtkImagingSources REQUIRED) Which blows away the larger list of include directories and libraries that the first find_package(VTK REQUIRED) built. Even better — or worse — Modules/Segmentation/LevelSetsv4Visualization/CMakeLists.txt also include find_package(VTK) — so ITK tries to import VTK twice, with different module lists. It doesn’t even help to reverse the order: find_package(ITK REQUIRED) find_package(VTK REQUIRED) because apparently there’s some hangover from the find_package(VTK) inside the ITK CMake deployment files. The only thing that works is to use COMPONENTS, i.e. find_package(ITK REQUIRED) find_package(VTK COMPONENTS vtkCommonCore vtkRenderingAnnotation … REQUIRED) Which seems to trigger a proper re-scan and build of the library/include lists. This was discussed in this thread [1]. There does not seem to be interest at this time to have mixed COMPONENTS / non-COMPONENTS calls to find_package. It is also recommended to use the MODULE option to find_package. A newer version of VTK 6 is also required. It gets even worse if you use find_package(SlicerExecutionModel) after find_package(ITK), for the same reason — SlicerExecutionModel depends on ITK, so it clobbers the include/library lists from the first find_package(ITK). A patch was merged a few days ago that might address this issue [2]. Is this behavior still see with current ITK? Thanks, Matt [1] http://public.kitware.com/pipermail/vtk-developers/2014-September/015376.html [2] http://review.source.kitware.com/#/c/16963/ -- 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
[cmake-developers] [CMake 0015181]: math can't handle negative numbers.
The following issue has been SUBMITTED. == http://public.kitware.com/Bug/view.php?id=15181 == Reported By:tron_thomas Assigned To: == Project:CMake Issue ID: 15181 Category: CMake Reproducibility:always Severity: minor Priority: normal Status: new == Date Submitted: 2014-09-30 13:18 EDT Last Modified: 2014-09-30 13:18 EDT == Summary:math can't handle negative numbers. Description: The math command cannot do addition with negative numbers Steps to Reproduce: Run CMake against the following CMakeLists.txt file: cmake_minimum_required (VERSION 2.8) project (MathFailure) set (value -1) math (EXPR value ${value} + 1) Expected: value should be incremented to zero Actual: CMake Error at CMakeLists.txt:6 (math): math cannot parse the expression: -1 + 1: syntax error, unexpected exp_MINUS, expecting exp_OPENPARENT or exp_NUMBER (1) == Issue History Date ModifiedUsername FieldChange == 2014-09-30 13:18 tron_thomasNew Issue == -- 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] fix-OSX-bundle-rpaths-and-Qt5 topic
Please merge the topic to 'next' for testing when you're ready. We can at least see if the dashboard stays clean with it. Done. --Adam -- 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] iOS support
Thought of one more. I hate how the top, default target is ALL_BUILD. This is problematic for both Xcode and Visual Studio because when you use the big giant run button in the UI, the IDE is confused because ALL_BUILD is an aggregate target and not a real thing that can be run. At least for Xcode, a bunch of options change dynamically based on the type of target selected and building/launching to the device/simulator is not an option when on an aggregate target. It's an annoyance because it interferes with the normal workflow for those familiar with the IDEs. And it's an annoyance for those who are not familiar with the IDEs because the big giant buttons do nothing and they don't understand the IDEs well enough on how to correct the issue. (It's also more work invoking xcodebuild and msbuild because you can't rely on the default targets.) Thanks, Eric -- 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