Re: [cmake-developers] A goal for a simple Android toolchain file.
Eric Wing wrote: I'm thinking it will probably be two weeks before I get back to Android. (If things go really well, maybe late next week.) Sounds good. I'd like to start by syncing up on a simple hello world executable and iterating toward the complex stuff. Can we chat on IRC to get on the same page? Thanks, Steve. -- 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/cgi-bin/mailman/listinfo/cmake-developers
[cmake-developers] [CMake 0014852]: Can't stop including Qt 4. I want to use Qt 5.
The following issue has been SUBMITTED. == http://public.kitware.com/Bug/view.php?id=14852 == Reported By:Yew Kurabayashi Assigned To: == Project:CMake Issue ID: 14852 Category: CMake Reproducibility:always Severity: minor Priority: normal Status: new == Date Submitted: 2014-03-31 16:36 JST Last Modified: 2014-03-31 16:36 JST == Summary:Can't stop including Qt 4. I want to use Qt 5. Description: When I build a solution of MSVC 2012 generated from the source files in the attached file, sampleSources.zip, the build process fails every time. The error is caused by including Qt 4 library by CMake while I want to use Qt 5 in my codes. The error message from MSVC is attached as the file, MSVCOutput.txt (Japanese messages are translated by me in [ ]). I know that if I remove 23 include paths of Qt 4 in Visual Studio or from the project file then the build succeeds but it is a cumbersome task. Even if I remove the entries related to Qt 4 in CMake GUI, they come back again at the next time configuration. There are no entries related to Qt 4 in the environment variables in my machine. I can't remove Qt 4 installation from my machine because ITK, VTK and ParaView still seem to use Qt 4 and I use these Kitware libraries. So, does CMake provide a way to choose the version of Qt between 4 and 5? If not, please implement it. I searched information about this problem in the Web, but I couldn't find any answers. If someone has good advice, please let know. Best regards. This issue follows the following issue but is about another problem. 0014811: Too many include paths are set to AM_MOC_INCLUDES in AutomocInfo.cmake then the build fails. - MantisBT http://public.kitware.com/Bug/view.php?id=14811 Steps to Reproduce: Generate a solution for MSVC 2012 Win64 with the CmakeLists.txt, then build it by Visual Studio. Additional Information: List of softwares, libraries: Microsoft Visual Studio Express 2013 for Windows Desktop (Solution generated with CMake is for MSVC 2012) Solution Platform: x64 Qt 5.2.1 Qt 4.8.5 ITK 4.5.1 ParaView 4.1.0 == Issue History Date ModifiedUsername FieldChange == 2014-03-31 16:36 Yew Kurabayashi New Issue 2014-03-31 16:36 Yew Kurabayashi File Added: MSVCOutput.txt == -- 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/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] [patch] Policy CMP0046 warning fix.
On 03/28/2014 05:19 PM, Nils Gladitz wrote: I merged fix_policy_diagnostics: http://cmake.org/gitweb?p=stage/cmake.git;a=commitdiff;h=209980cf5a1fb472ff688127c76f24e95bff8f40 There were few more related cases that should also be fixed. Thanks. I'll backport that for 3.0.0-rc4. Steve, do the changes to your policies look correct? -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/cgi-bin/mailman/listinfo/cmake-developers
[cmake-developers] [CMake 0014853]: CMAKE_XCODE_ATTRIBUTE_SYMROOT is overriden by CMake
The following issue has been SUBMITTED. == http://public.kitware.com/Bug/view.php?id=14853 == Reported By:Michał Cichoń Assigned To: == Project:CMake Issue ID: 14853 Category: CMake Reproducibility:always Severity: minor Priority: normal Status: new == Date Submitted: 2014-03-31 09:50 EDT Last Modified: 2014-03-31 09:50 EDT == Summary:CMAKE_XCODE_ATTRIBUTE_SYMROOT is overriden by CMake Description: CMAKE_XCODE_ATTRIBUTE_SYMROOT defined to custom directory is overriden by Xcode generator. To clarify I attached patch I'm using to enable user defined SYMROOT attribute. I'm not sure if that was by design or not. == Issue History Date ModifiedUsername FieldChange == 2014-03-31 09:50 Michał Cichoń New Issue 2014-03-31 09:50 Michał Cichoń File Added: Do not override custom defined SYMROOT.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/cgi-bin/mailman/listinfo/cmake-developers
[cmake-developers] Documentation install directory
Hi, According to packagers on IRC, documentation should be installed to prefix/share/doc. Currently it looks like CMake 3.0 installs to prefix/doc by default, if I'm reading Source/CMakeInstallDestinations.cmake correctly. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=322762 Should that be changed? Thanks, Steve. -- 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/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] [CMake] Fwd: [PATCH] Add support for Metro apps
Thanks for working on this. It will be cool to be able to build Metro apps using CMake. One thing I think is crucial here is to include somewhere an example or test project that actually builds a Metro app, and shows how you have to construct the CMakeLists for it, and any special considerations needed when running CMake to generate the project. Without that, I have no clue where to start on evaluating whether these patches are sufficient or not. Ideally, the example/test will be: - here, use something like this CMakeLists.txt (and then show one) - run CMake with the XXX generator - build as usual Could you add a test/example somewhere that shows how to use this? And now, the following is no criticism of your patch, or your attempts to get this functionality into CMake, *but*: - there are too many ways to cross compile for CMake already, and it would be nice if this way was like one of the other ways rather than something entirely different. Right now, CMake already supports: - true cross-compiling using a makefile based generator and a toolchain file - building universal binaries on OSX, but not with a toolchain file - building iOS apps on OSX, but with special variables and properties that need setting - building 32-bit and 64-bit windows apps from the same source tree, but with VS generators, using 2 different build trees each with a different generator, or with non-VS generators, using 2 different build trees, and different environments to define the tools And now there's this. Which I guess is closest to the VS different generator approach. It would be super awesome if somebody could come up with a coherent way to unify all this. (Steve and Eric: hopefully you are considering making the Android stuff you're about to work on blend in closely with one of these existing models rather than introducing yet another cross-compiling model) My 2 cents -- again: thanks for your contribution and keep up the good work. Overall, CMake is still squarely the best way to build cross-platform C++ based projects. And supporting as many platforms as feasible is one of the contributing factors that makes it so. David C. -Original Message- From: Minmin Gong minmin.g...@gmail.com To: cmake-developers cmake-developers@cmake.org; cmake cm...@cmake.org Sent: Mon, Mar 31, 2014 2:35 am Subject: [CMake] Fwd: [PATCH] Add support for Metro apps Hi cmake developers and users, This is a extend discussion of this ticket: http://www.cmake.org/Bug/view.php?id=13511. In our project, we need to build an Win8+ Metro app. Currently the CMake do support VS_WINRT_EXTENSIONS. However, if you want to build an exe instead of dll or lib, even with x86 or x64, it always fails because lacking of some tags in vcxproj and sln. So I made this patch for WinRT/Metro apps, based on the master branch of CMake. In this patch, 1. WinRT-ARM, WinRT-x86, WinRT-x64 generators are added for generating WinRT special projects. CMAKE_VS_WINRT_VERSION is defined inside. 2. Add AppContainerApplication, ApplicationType, MinimumVisualStudioVersion and ApplicationTypeRevision tags to vcxproj in WinRT project. 3. Recognize AppxManifest file type. 4. A dedicated boolean source file property VS_WINRT_CONTENT is added. Generator expressions is also supported here. 5. Add Deploy.0 in .sln for deploy WinRT apps by default, as WinCE apps do. 6. Add PackageCertificateKeyFile tag to vcxproj for package certification. Thanks for advices from Martell Malone, Daniel Pfeifer, Brad King, Patrick R. Gansterer, and other developers and users of CMake. More comments are welcomed. -- Minmin Gong -- 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://www.cmake.org/mailman/listinfo/cmake -- 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/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Documentation install directory
On 03/31/2014 10:15 AM, Stephen Kelly wrote: According to packagers on IRC, documentation should be installed to prefix/share/doc. Currently it looks like CMake 3.0 installs to prefix/doc by default, if I'm reading Source/CMakeInstallDestinations.cmake correctly. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=322762 Should that be changed? The defaults are for local user-built installs and the upstream binary distributions. Packagers on specific distributions should set CMAKE_DOC_DIR and CMAKE_MAN_DIR themselves when building. -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/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] [PATCH] Better find module developer documentation
On 27/03/14 14:33, Brad King wrote: On 03/26/2014 03:02 PM, Alex Merry wrote: I wrote some documentation on how to write a find module for KDE's extra-cmake-modules project, and Stephen suggested upstreaming it. So attached is a patch that does that. Thanks for working on this. I like the tutorial-style presentation. First, a few reST style comments: * Paragraphs ending in : :: can be simplified to ::. * CMake code blocks should use .. code-block:: cmake rather than a plain literal block if the code in the block is valid CMake code (as against containing placeholders as in command signature documentation). * Indented blocks where the amount of indentation can be chosen should use 2 spaces instead of 1. Note that this changes the recommendations from the Foo_LIBRARIES, Foo_INCLUDES and Foo_DEFINITIONS variables to creating imported targets (which are much easier and less error-prone to use). Providing imported targets is nice, and preferred by KDE, but is not a requirement for upstream modules. Most existing modules have not been updated to provide them. Using imported targets throughout a project requires additional effort when creating package configuration files to ensure dependencies that name imported targets have them available. The docs should explain both approaches. Then explain why imported targets are preferred but that since the approach is newer not all existing modules have been updated. We need to maintain the list of example variable names. The difference between Foo_LIBRARY and Foo_LIBRARIES needs to be clearly explained, and not just in the sample module section. Attached patch contains the suggested changes. I still went with recommending Foo_VERSION over Foo_VERSION_STRING, because there is really no purpose served by having two different names for the version variable, one for packages and one for find modules. I kept in a note about Foo_VERSION_STRING, though. Alex From ee0fae3911c0646d7568a114fb55e6ad24958eec Mon Sep 17 00:00:00 2001 From: Alex Merry alex.me...@kde.org Date: Wed, 26 Mar 2014 18:54:02 + Subject: [PATCH] Rewrite the find module developer documentation As well as the traditional variables, providing imported targets is suggested, and the relative advantages and disadvantages briefly discussed. A mini-tutorial walking through creating a simple find module is provided. This changes the recommended version variable from Foo_VERSION_STRING to Foo_VERSION, because there is really no need to have different variable names for package version files vs. find modules. It notes the old variable name, though, and suggests setting it for compatibility. --- Help/manual/cmake-developer.7.rst | 545 ++ 1 file changed, 370 insertions(+), 175 deletions(-) diff --git a/Help/manual/cmake-developer.7.rst b/Help/manual/cmake-developer.7.rst index d025d63..7f31970 100644 --- a/Help/manual/cmake-developer.7.rst +++ b/Help/manual/cmake-developer.7.rst @@ -664,213 +664,408 @@ For example, a ``Modules/Findxxx.cmake`` module may contain: code endmacro() +After the top documentation block, leave a *BLANK* line, and then add a +copyright and licence notice block like this one (change only the year +range and name) + +.. code-block:: cmake + + #= + # Copyright 2009-2011 Your Name + # + # Distributed under the OSI-approved BSD License (the License); + # see accompanying file Copyright.txt for details. + # + # This software is distributed WITHOUT ANY WARRANTY; without even the + # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + # See the License for more information. + #= + # (To distribute this file outside of CMake, substitute the full + # License text for the above reference.) + +Test the documentation formatting by running +``cmake --help-module module-name``, and also by enabling the +``SPHINX_HTML`` and ``SPHINX_MAN`` options to build the documentation. +Edit the comments until generated documentation looks satisfactory. To +have a .cmake file in this directory NOT show up in the modules +documentation, simply leave out the ``Help/module/module-name.rst`` +file and the ``Help/manual/cmake-modules.7.rst`` toctree entry. + + Find Modules A find module is a ``Modules/Findpackage.cmake`` file to be loaded by the :command:`find_package` command when invoked for ``package``. -We would like all ``FindXxx.cmake`` files to produce consistent variable -names. Please use the following consistent variable names for general use. +The primary task of a find module is to determine whether a package +exists on the system, set the ``package_FOUND`` variable to reflect +this and provide any variables, macros and imported targets required to +use the package. + +The traditional
Re: [cmake-developers] A goal for a simple Android toolchain file.
On 03/27/2014 11:09 PM, Eric Wing wrote: One other issue I would like to see fixed is that it is impossible to change some of the settings like architecture after the first generation. I find that this makes the CMake GUI interface completely useless to me and I always have to load up all my parameters up front on the command line. On the first Configure in a new build tree the cmake-gui pops up a dialog to select settings for the toolchain to use. That could be taught to be sufficient for selecting such information prior to the first configuration if it is not already. Though, one other consideration is maintainability. Android keeps changing version numbers and moving/breaking things. The upstream Android NDK folks may be open to distributing files that are CMake-aware with the NDK. Then one could have a toolchain file that does include(${ANDROID_NDK_ROOT}/.../toolchains.cmake) to get information without scanning or globbing. What kind of info would NDK-provided files need to have to be most useful? Or, perhaps the NDK could actually provide the toolchain files. -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/cgi-bin/mailman/listinfo/cmake-developers
[cmake-developers] [CMake 0014854]: Xcode projects with binary files cannot load in Xcode
The following issue has been SUBMITTED. == http://public.kitware.com/Bug/view.php?id=14854 == Reported By:Petr Lefner Assigned To: == Project:CMake Issue ID: 14854 Category: CMake Reproducibility:always Severity: minor Priority: normal Status: new == Date Submitted: 2014-03-31 12:53 EDT Last Modified: 2014-03-31 12:53 EDT == Summary:Xcode projects with binary files cannot load in Xcode Description: If an project lists some binary files, CMake generator creates .pbxproject where htese files are listed as 'source files', which causes Xocde unable* to load that project. * depends on total file size or amount; say that 300MB makes it about 1 hour until Xcode can be used. Until that, hourglass and 200% CPU drain suggest heavy background thinking about he files. If those file are not listed in project, Xcode opens it like a charm. Steps to Reproduce: Create a CMakeLists.txt with usual structure to have some binary target in there. Then add some binary files (assets or resources), let say we have them within the DATA_FILES list variable (full paths). Intention is to get those files into app bundle (.app/). For this case, do not consider that to put into .app, a small hack must be achieved. # Collect resource files foreach(FILE ${DATA_FILES}) set_source_files_properties( ${FILE} PROPERTIES MACOSX_PACKAGE_LOCATION ${MACOSX_BUNDLE_BUNDLE_NAME}.app/${TARGET} GENERATED TRUE ) list(APPEND ASSETS ${FILE}) endforeach() # Add binary target and register resoruce files in project listings add_executable(osx_app_target MACOSX_BUNDLE ${SOURCES} ${ASSETS}) Additional Information: Given method worked prior 2.8.12 (not sure exactly about problem version). There's same issue if one wants to copy files via a custom command: # Copy from SRC to DST, being part of current target. add_custom_command(OUTPUT ${DST} COMMAND ${CMAKE_COMMAND} -E copy ${SRC} ${DST} MAIN_DEPENDENCY ${SRC} COMMENT Copying ${SRC} to ${DST}) This used to do same troubles even already prior 2.8.12 In case of further assistance, do not hesitate to ask for more information. If htere's a new way adding resources to MACOSX_BUNDLE target (into .app), I did not found it - please point me out. == Issue History Date ModifiedUsername FieldChange == 2014-03-31 12:53 Petr LefnerNew 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/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] [CMake] Fwd: [PATCH] Add support for Metro apps
Hi, I'm new to CMake but am looking to help with this effort. I'm wondering if it would make more sense (and if it's possible) to have the WinRT flavors as separate platforms within the same solution as you would get if you create a new WinRT project in Visual Studio, instead of having 3 different configurations. I'm looking at also adding WinRT support for Windows Phone and I think that trying to minimize the generators might make more sense. ~Gilles -Original Message- From: CMake [mailto:cmake-boun...@cmake.org] On Behalf Of David Cole Sent: Monday, March 31, 2014 07:13 To: minmin.g...@gmail.com; cmake-developers@cmake.org; cm...@cmake.org Subject: Re: [CMake] Fwd: [PATCH] Add support for Metro apps Thanks for working on this. It will be cool to be able to build Metro apps using CMake. One thing I think is crucial here is to include somewhere an example or test project that actually builds a Metro app, and shows how you have to construct the CMakeLists for it, and any special considerations needed when running CMake to generate the project. Without that, I have no clue where to start on evaluating whether these patches are sufficient or not. Ideally, the example/test will be: - here, use something like this CMakeLists.txt (and then show one) - run CMake with the XXX generator - build as usual Could you add a test/example somewhere that shows how to use this? And now, the following is no criticism of your patch, or your attempts to get this functionality into CMake, *but*: - there are too many ways to cross compile for CMake already, and it would be nice if this way was like one of the other ways rather than something entirely different. Right now, CMake already supports: - true cross-compiling using a makefile based generator and a toolchain file - building universal binaries on OSX, but not with a toolchain file - building iOS apps on OSX, but with special variables and properties that need setting - building 32-bit and 64-bit windows apps from the same source tree, but with VS generators, using 2 different build trees each with a different generator, or with non-VS generators, using 2 different build trees, and different environments to define the tools And now there's this. Which I guess is closest to the VS different generator approach. It would be super awesome if somebody could come up with a coherent way to unify all this. (Steve and Eric: hopefully you are considering making the Android stuff you're about to work on blend in closely with one of these existing models rather than introducing yet another cross-compiling model) My 2 cents -- again: thanks for your contribution and keep up the good work. Overall, CMake is still squarely the best way to build cross-platform C++ based projects. And supporting as many platforms as feasible is one of the contributing factors that makes it so. David C. -Original Message- From: Minmin Gong minmin.g...@gmail.com To: cmake-developers cmake-developers@cmake.org; cmake cm...@cmake.org Sent: Mon, Mar 31, 2014 2:35 am Subject: [CMake] Fwd: [PATCH] Add support for Metro apps Hi cmake developers and users, This is a extend discussion of this ticket: http://www.cmake.org/Bug/view.php?id=13511. In our project, we need to build an Win8+ Metro app. Currently the CMake do support VS_WINRT_EXTENSIONS. However, if you want to build an exe instead of dll or lib, even with x86 or x64, it always fails because lacking of some tags in vcxproj and sln. So I made this patch for WinRT/Metro apps, based on the master branch of CMake. In this patch, 1. WinRT-ARM, WinRT-x86, WinRT-x64 generators are added for generating WinRT special projects. CMAKE_VS_WINRT_VERSION is defined inside. 2. Add AppContainerApplication, ApplicationType, MinimumVisualStudioVersion and ApplicationTypeRevision tags to vcxproj in WinRT project. 3. Recognize AppxManifest file type. 4. A dedicated boolean source file property VS_WINRT_CONTENT is added. Generator expressions is also supported here. 5. Add Deploy.0 in .sln for deploy WinRT apps by default, as WinCE apps do. 6. Add PackageCertificateKeyFile tag to vcxproj for package certification. Thanks for advices from Martell Malone, Daniel Pfeifer, Brad King, Patrick R. Gansterer, and other developers and users of CMake. More comments are welcomed. -- Minmin Gong -- 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:
[cmake-developers] [CMake 0014855]: Unpacking Qt 5.2.1 source distribution fails (ExternalProject_Add)
The following issue has been SUBMITTED. == http://public.kitware.com/Bug/view.php?id=14855 == Reported By:hansmi Assigned To: == Project:CMake Issue ID: 14855 Category: CMake Reproducibility:always Severity: minor Priority: normal Status: new == Date Submitted: 2014-03-31 15:06 EDT Last Modified: 2014-03-31 15:06 EDT == Summary:Unpacking Qt 5.2.1 source distribution fails (ExternalProject_Add) Description: The Qt project offers their source code as a ZIP file for Windows systems[1]. CMake fails to extract the file with the error message “archive_read_next_header(): Invalid central directory signature”[2] when using it as an external project via ExternalProject_Add. Upstream libarchive fixed an issue in this direction, which may be related: http://code.google.com/p/libarchive/issues/detail?id=257. [1] http://download.qt-project.org/official_releases/qt/5.2/5.2.1/single/qt-everywhere-opensource-src-5.2.1.zip.mirrorlist [2] C:\buildmingw32-make -j4 qt5 -- Configuring done -- Generating done -- Build files have been written to: C:/build [ 12%] Creating directories for 'qt5' [ 25%] Performing download step (download, verify and extract) for 'qt5' -- downloading... src='http://download.qt-project.org/official_releases/qt/5.2/5.2.1/single/qt-everywhere-opensource-src-5.2.1.zip' dst='C:/build/qt5-download/qt-everywhere-opensource-src-5.2.1.zip' timeout='none' -- downloading... done -- verifying file... file='C:/build/qt5-download/qt-everywhere-opensource-src-5.2.1.zip' -- verifying file... done -- extracting... src='C:/build/qt5-download/qt-everywhere-opensource-src-5.2.1.zip' dst='C:/build/qt5-src' -- extracting... [tar xfz] CMake Error: Problem with archive_read_next_header(): Invalid central directory signature CMake Error: Problem extracting tar: C:/build/qt5-download/qt-everywhere-opensource-src-5.2.1.zip -- extracting... [error clean up] […] Steps to Reproduce: include(ExternalProject) ExternalProject_Add(qt5 TMP_DIR qt5-tmp STAMP_DIR qt5-stamp DOWNLOAD_DIR qt5-download SOURCE_DIR qt5-src BINARY_DIR qt5-binary INSTALL_DIR qt5 URL http://download.qt-project.org/official_releases/qt/5.2/5.2.1/single/qt-everywhere-opensource-src-5.2.1.zip; URL_MD5 7fea4e018220739251f9206d690076d0 BUILD_IN_SOURCE 0 ) == Issue History Date ModifiedUsername FieldChange == 2014-03-31 15:06 hansmi New 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/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] [PATCH] A little simplify Ninja code for linker commands
On Mon, Mar 31, 2014 at 00:40:02 +0200, Jiri Malak wrote: I enclosed patch which a little simplify Ninja code for linker commands. It removes redundant code for rule variable name and add some temporary variables to improve code. Looks good to me. It passes all the tests on my machine. I've pushed it into next as 'simplify-ninja-linker-command'. --Ben -- 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/cgi-bin/mailman/listinfo/cmake-developers
[CMake] Fwd: [PATCH] Add support for Metro apps
Hi cmake developers and users, This is a extend discussion of this ticket: http://www.cmake.org/Bug/view.php?id=13511. In our project, we need to build an Win8+ Metro app. Currently the CMake do support VS_WINRT_EXTENSIONS. However, if you want to build an exe instead of dll or lib, even with x86 or x64, it always fails because lacking of some tags in vcxproj and sln. So I made this patch for WinRT/Metro apps, based on the master branch of CMake. In this patch, 1. WinRT-ARM, WinRT-x86, WinRT-x64 generators are added for generating WinRT special projects. CMAKE_VS_WINRT_VERSION is defined inside. 2. Add AppContainerApplication, ApplicationType, MinimumVisualStudioVersion and ApplicationTypeRevision tags to vcxproj in WinRT project. 3. Recognize AppxManifest file type. 4. A dedicated boolean source file property VS_WINRT_CONTENT is added. Generator expressions is also supported here. 5. Add Deploy.0 in .sln for deploy WinRT apps by default, as WinCE apps do. 6. Add PackageCertificateKeyFile tag to vcxproj for package certification. Thanks for advices from Martell Malone, Daniel Pfeifer, Brad King, Patrick R. Gansterer, and other developers and users of CMake. More comments are welcomed. -- Minmin Gong 0001-CMake-Add-support-for-WinRT-platforms-and-metro-apps.v5.patch Description: Binary data 0002-CMake-Add-support-for-WinRT-platforms-and-metro-apps.v5.patch Description: Binary data 0003-CMake-Add-support-for-WinRT-platforms-and-metro-apps.v5.patch Description: Binary data -- 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://www.cmake.org/mailman/listinfo/cmake
[CMake] CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE
Hallo, The Documentation says: Automatically add the current source- and build directories to the INTERFACE_INCLUDE_DIRECTORIES. How can I get this information? SET(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON) ADD_LIBRARY(TLib1 SHARED tlib1.c tlib1.h) GET_TARGET_PROPERTY(TLIB1_INTERFACE_INCLUDE_DIRECTORIES TLib1 INTERFACE_INCLUDE_DIRECTORIES) Results in TLIB1_INTERFACE_INCLUDE_DIRECTORIES-NOTFOUND. Any ideas? Greetings Micha -- 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://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] find_package with static library that uses pkg-config not working
Hi, pkg_check_modules used by find_package should generate MYLIBPREFIX_CFLAGS and MYLIBPREFIX_STATIC_CFLAGS according to the documentation. You can try HAMLIB_STATIC_LIBRARIES. However, the finders often use PC_MYLIB as prefix using pkg_check_modules. So may be PC_HAMLIB_STATIC_LIBRARIES will work (or you can check out your Findhamlib.cmake to find which prefix is used by pkg_check_modules). I don't know if it is a good idea to directly use package config defined variables in a cmake file so if you can edit your Findhamlib.cmake, may be you should set HAMLIB_STATIC_{LIBRARIES,CFLAGS,...} to their corresponding PC_HAMLIB_STATIC_{...} (I am no expert about this, so I don't really know which are the good practices to write a finder). Hope this helps. Aurélien - Mail original - De: Bill Somerville b...@classdesign.com À: cmake@cmake.org Envoyé: Dimanche 30 Mars 2014 12:45:32 Objet: [CMake] find_package with static library that uses pkg-config not working Hi, I am using find_package to configure a library that uses pkg-config. When I configure and build a static only version of the library the link commands generated for my project are wrong. The problem boils down to the fact that for static link of a library pkg-config needs to be called with the '--static' option to extract the correct compile switches and link libraries. In my case the library libdl needs to be linked because the external library uses run time library loading. For example: $ pkg-config --cflags --libs hamlib -pthread -I/home/bill/test-install/hamlib/include -L/home/bill/test-install/hamlib/lib -lhamlib $ pkg-config --cflags --libs --static hamlib -pthread -I/home/bill/test-install/hamlib/include -L/home/bill/test-install/hamlib/lib -lhamlib -lm -ldl -lusb So how do I get find_package to use the correct pkg-config invocation when there is no shared library version of the external library or if I want to force static linking of this external library? TIA Bill Somerville. -- 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://www.cmake.org/mailman/listinfo/cmake -- 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://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Fwd: [PATCH] Add support for Metro apps
Thanks for working on this. It will be cool to be able to build Metro apps using CMake. One thing I think is crucial here is to include somewhere an example or test project that actually builds a Metro app, and shows how you have to construct the CMakeLists for it, and any special considerations needed when running CMake to generate the project. Without that, I have no clue where to start on evaluating whether these patches are sufficient or not. Ideally, the example/test will be: - here, use something like this CMakeLists.txt (and then show one) - run CMake with the XXX generator - build as usual Could you add a test/example somewhere that shows how to use this? And now, the following is no criticism of your patch, or your attempts to get this functionality into CMake, *but*: - there are too many ways to cross compile for CMake already, and it would be nice if this way was like one of the other ways rather than something entirely different. Right now, CMake already supports: - true cross-compiling using a makefile based generator and a toolchain file - building universal binaries on OSX, but not with a toolchain file - building iOS apps on OSX, but with special variables and properties that need setting - building 32-bit and 64-bit windows apps from the same source tree, but with VS generators, using 2 different build trees each with a different generator, or with non-VS generators, using 2 different build trees, and different environments to define the tools And now there's this. Which I guess is closest to the VS different generator approach. It would be super awesome if somebody could come up with a coherent way to unify all this. (Steve and Eric: hopefully you are considering making the Android stuff you're about to work on blend in closely with one of these existing models rather than introducing yet another cross-compiling model) My 2 cents -- again: thanks for your contribution and keep up the good work. Overall, CMake is still squarely the best way to build cross-platform C++ based projects. And supporting as many platforms as feasible is one of the contributing factors that makes it so. David C. -Original Message- From: Minmin Gong minmin.g...@gmail.com To: cmake-developers cmake-develop...@cmake.org; cmake cmake@cmake.org Sent: Mon, Mar 31, 2014 2:35 am Subject: [CMake] Fwd: [PATCH] Add support for Metro apps Hi cmake developers and users, This is a extend discussion of this ticket: http://www.cmake.org/Bug/view.php?id=13511. In our project, we need to build an Win8+ Metro app. Currently the CMake do support VS_WINRT_EXTENSIONS. However, if you want to build an exe instead of dll or lib, even with x86 or x64, it always fails because lacking of some tags in vcxproj and sln. So I made this patch for WinRT/Metro apps, based on the master branch of CMake. In this patch, 1. WinRT-ARM, WinRT-x86, WinRT-x64 generators are added for generating WinRT special projects. CMAKE_VS_WINRT_VERSION is defined inside. 2. Add AppContainerApplication, ApplicationType, MinimumVisualStudioVersion and ApplicationTypeRevision tags to vcxproj in WinRT project. 3. Recognize AppxManifest file type. 4. A dedicated boolean source file property VS_WINRT_CONTENT is added. Generator expressions is also supported here. 5. Add Deploy.0 in .sln for deploy WinRT apps by default, as WinCE apps do. 6. Add PackageCertificateKeyFile tag to vcxproj for package certification. Thanks for advices from Martell Malone, Daniel Pfeifer, Brad King, Patrick R. Gansterer, and other developers and users of CMake. More comments are welcomed. -- Minmin Gong -- 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://www.cmake.org/mailman/listinfo/cmake -- 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://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Fwd: [PATCH] Add support for Metro apps
On Mon, Mar 31, 2014 at 7:13 AM, David Cole dlrd...@aol.com wrote: It will be cool to be able to build Metro apps using CMake. Well, aside from the obvious problem :-) -- 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://www.cmake.org/mailman/listinfo/cmake
[CMake] masm support in visual studio project generators
Hello, I'm new to cmake and trying to evaluate external will work for my projects. But I encountered one issue in that CMake has no support for using masm from visual studio project files. CMake quite suprised me already by supporting nearly every feature that I need without much effort but this single thing. I can try and hack around it using add_custom_command but for that I need to be able to have access to and intermeddiate directory to place the output object file in and this needs to be per configuration type (debug, release etc...) and I couldnt find a way to get access to this from cmake (VS has a macro for this) and also adding object files this way is quite nasty (add_custom_command supports prerocessors and code generators not assemblers/compilers) The other workaround I can think of is using an external project file (include_external_msproject) but this both requires duplicating the configuration done in cmake and creating a project for each visual studio version I need to support which is what I'm trying to avoid in the first place. Is there any plan to implement this? Thanks for any help or suggestions. -- 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://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] find_package with static library that uses pkg-config not working
On 31/03/2014 10:18, Aurelien Richez wrote: Hi, Hi Aurélien, I'm not sure I fully understand your suggestion. The Find.cmake is written by me and looks like this. Findhamlib.cmake: +++ # - Try to find hamlib # Once done, this will define: # # hamlib_FOUND - system has Hamlib-2 # hamlib_INCLUDE_DIRS - the Hamlib-2 include directories # hamlib_LIBRARIES - link these to use Hamlib-2 include (LibFindMacros) # Use pkg-config to get hints about paths libfind_pkg_check_modules (hamlib_PKGCONF hamlib) # Include dirs find_path (hamlib_INCLUDE_DIR NAMES hamlib/rig.h PATHS ${hamlib_PKGCONF_INCLUDE_DIRS} ) # The library find_library (hamlib_LIBRARY NAMES hamlib hamlib-2 PATHS ${hamlib_PKGCONF_LIBRARY_DIRS} ) # Set the include dir variables and the libraries and let libfind_process do the rest set (hamlib_PROCESS_INCLUDES hamlib_INCLUDE_DIR) set (hamlib_PROCESS_LIBS hamlib_LIBRARY) libfind_process (hamlib) it uses LibFincMacros.cmake which looks like this. LibFindMacros.cmake: # Version 1.0 (2013-04-12) # Public Domain, originally written by Lasse Kärkkäinen tro...@zi.fi # Published at http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries # If you improve the script, please modify the forementioned wiki page because # I no longer maintain my scripts (hosted as static files at zi.fi). Feel free # to remove this entire header if you use real version control instead. # Changelog: # 2013-04-12 Added version number (1.0) and this header, no other changes # 2009-10-08 Originally published # Works the same as find_package, but forwards the REQUIRED and QUIET arguments # used for the current package. For this to work, the first parameter must be the # prefix of the current package, then the prefix of the new package etc, which are # passed to find_package. macro (libfind_package PREFIX) set (LIBFIND_PACKAGE_ARGS ${ARGN}) if (${PREFIX}_FIND_QUIETLY) set (LIBFIND_PACKAGE_ARGS ${LIBFIND_PACKAGE_ARGS} QUIET) endif (${PREFIX}_FIND_QUIETLY) if (${PREFIX}_FIND_REQUIRED) set (LIBFIND_PACKAGE_ARGS ${LIBFIND_PACKAGE_ARGS} REQUIRED) endif (${PREFIX}_FIND_REQUIRED) find_package(${LIBFIND_PACKAGE_ARGS}) endmacro (libfind_package) # CMake developers made the UsePkgConfig system deprecated in the same release (2.6) # where they added pkg_check_modules. Consequently I need to support both in my scripts # to avoid those deprecated warnings. Here's a helper that does just that. # Works identically to pkg_check_modules, except that no checks are needed prior to use. macro (libfind_pkg_check_modules PREFIX PKGNAME) if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) include(UsePkgConfig) pkgconfig(${PKGNAME} ${PREFIX}_INCLUDE_DIRS ${PREFIX}_LIBRARY_DIRS ${PREFIX}_LDFLAGS ${PREFIX}_CFLAGS) else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) find_package(PkgConfig) if (PKG_CONFIG_FOUND) pkg_check_modules(${PREFIX} ${PKGNAME}) endif (PKG_CONFIG_FOUND) endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) endmacro (libfind_pkg_check_modules) # Do the final processing once the paths have been detected. # If include dirs are needed, ${PREFIX}_PROCESS_INCLUDES should be set to contain # all the variables, each of which contain one include directory. # Ditto for ${PREFIX}_PROCESS_LIBS and library files. # Will set ${PREFIX}_FOUND, ${PREFIX}_INCLUDE_DIRS and ${PREFIX}_LIBRARIES. # Also handles errors in case library detection was required, etc. macro (libfind_process PREFIX) # Skip processing if already processed during this run if (NOT ${PREFIX}_FOUND) # Start with the assumption that the library was found set (${PREFIX}_FOUND TRUE) # Process all includes and set _FOUND to false if any are missing foreach (i ${${PREFIX}_PROCESS_INCLUDES}) if (${i}) set (${PREFIX}_INCLUDE_DIRS ${${PREFIX}_INCLUDE_DIRS} ${${i}}) mark_as_advanced(${i}) else (${i}) set (${PREFIX}_FOUND FALSE) endif (${i}) endforeach (i) # Process all libraries and set _FOUND to false if any are missing foreach (i ${${PREFIX}_PROCESS_LIBS}) if (${i}) set (${PREFIX}_LIBRARIES ${${PREFIX}_LIBRARIES} ${${i}}) mark_as_advanced(${i}) else (${i}) set (${PREFIX}_FOUND FALSE) endif (${i}) endforeach (i) # Print message and/or exit on fatal error if (${PREFIX}_FOUND) if (NOT ${PREFIX}_FIND_QUIETLY) message (STATUS Found ${PREFIX} ${${PREFIX}_VERSION}) endif (NOT ${PREFIX}_FIND_QUIETLY) else (${PREFIX}_FOUND) if (${PREFIX}_FIND_REQUIRED) foreach (i ${${PREFIX}_PROCESS_INCLUDES} ${${PREFIX}_PROCESS_LIBS}) message(${i}=${${i}}) endforeach (i) message (FATAL_ERROR Required library ${PREFIX} NOT
[CMake] Clarification for quoting of parameters for configure_file()
Hello, A wiki article mentions some details about how parameters are handled for CMake commands. http://cmake.org/Wiki/CMake/Language_Syntax#CMake_splits_arguments_unless_you_use_quotation_marks_or_escapes. I would like to try out the following command with unquoted parameters in a small build script. configure_file(${CMAKE_CURRENT_SOURCE_DIR}/t1.txt.in ${CMAKE_CURRENT_BINARY_DIR}/t1.txt @ONLY) The application CMake GUI 2.8.12.2 reports some internal errors as I would expect it if I dare to use the following setting. CMAKE_CURRENT_SOURCE_DIR: ... /Probe/quoting/contains s p a c e s;COPYONLY ESCAPE_QUOTES CMAKE_CURRENT_BINARY_DIR: ... /build/quoting/contains s p a c e s;COPYONLY ESCAPE_QUOTES But I wonder about the result that the configuration command works if the shown file names do not contain semicolons. http://cmake.org/cmake/help/cmake_tutorial.html#s1 Would you like to explain such an observation? Regards, Markus -- 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://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] find_package with static library that uses pkg-config not working
Hello again I'm not familiar with libFindMacros.cmake but it seems that it just handles libraries and headers, not compilation/linker flags. However libfind_pkg_check_modules (hamlib_PKGCONF hamlib) should generate several variables (for the shared library and for the static library), including hamlib_PKGCONF_STATIC_LIBRARY_DIRS. so you can add in Findhamlib.cmake: find_library (hamlib_STATIC_LIBRARY NAMES libhamlib.a hamlib-2 PATHS ${hamlib_PKGCONF_STATIC_LIBRARY_DIRS} ) and at the end of the file : set (hamlib_STATIC_PROCESS_LIBS hamlib_STATIC_LIBRARY) libfind_process (hamlib_STATIC) It should find the static library. libfind_pkg_check_modules should also generate hamlib_PKGCONF_STATIC_LDFLAGS so you can try in Findhamlib.cmake : set(hamlib_STATIC_LDFLAGS ${hamlib_PKGCONF_STATIC_LDFLAGS}). After doing this, I think you should have hamlib_STATIC_FOUND, hamlib_STATIC_LDFLAGS and hamlib_STATIC_LIBRARIES set. Regards Aurélien - Mail original - De: Bill Somerville b...@classdesign.com À: Aurelien Richez aurelien.ric...@inria.fr Cc: cmake@cmake.org Envoyé: Lundi 31 Mars 2014 18:25:02 Objet: Re: [CMake] find_package with static library that uses pkg-config not working On 31/03/2014 10:18, Aurelien Richez wrote: Hi, Hi Aurélien, I'm not sure I fully understand your suggestion. The Find.cmake is written by me and looks like this. Findhamlib.cmake: +++ # - Try to find hamlib # Once done, this will define: # # hamlib_FOUND - system has Hamlib-2 # hamlib_INCLUDE_DIRS - the Hamlib-2 include directories # hamlib_LIBRARIES - link these to use Hamlib-2 include (LibFindMacros) # Use pkg-config to get hints about paths libfind_pkg_check_modules (hamlib_PKGCONF hamlib) # Include dirs find_path (hamlib_INCLUDE_DIR NAMES hamlib/rig.h PATHS ${hamlib_PKGCONF_INCLUDE_DIRS} ) # The library find_library (hamlib_LIBRARY NAMES hamlib hamlib-2 PATHS ${hamlib_PKGCONF_LIBRARY_DIRS} ) # Set the include dir variables and the libraries and let libfind_process do the rest set (hamlib_PROCESS_INCLUDES hamlib_INCLUDE_DIR) set (hamlib_PROCESS_LIBS hamlib_LIBRARY) libfind_process (hamlib) it uses LibFincMacros.cmake which looks like this. LibFindMacros.cmake: # Version 1.0 (2013-04-12) # Public Domain, originally written by Lasse Kärkkäinen tro...@zi.fi # Published at http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries # If you improve the script, please modify the forementioned wiki page because # I no longer maintain my scripts (hosted as static files at zi.fi). Feel free # to remove this entire header if you use real version control instead. # Changelog: # 2013-04-12 Added version number (1.0) and this header, no other changes # 2009-10-08 Originally published # Works the same as find_package, but forwards the REQUIRED and QUIET arguments # used for the current package. For this to work, the first parameter must be the # prefix of the current package, then the prefix of the new package etc, which are # passed to find_package. macro (libfind_package PREFIX) set (LIBFIND_PACKAGE_ARGS ${ARGN}) if (${PREFIX}_FIND_QUIETLY) set (LIBFIND_PACKAGE_ARGS ${LIBFIND_PACKAGE_ARGS} QUIET) endif (${PREFIX}_FIND_QUIETLY) if (${PREFIX}_FIND_REQUIRED) set (LIBFIND_PACKAGE_ARGS ${LIBFIND_PACKAGE_ARGS} REQUIRED) endif (${PREFIX}_FIND_REQUIRED) find_package(${LIBFIND_PACKAGE_ARGS}) endmacro (libfind_package) # CMake developers made the UsePkgConfig system deprecated in the same release (2.6) # where they added pkg_check_modules. Consequently I need to support both in my scripts # to avoid those deprecated warnings. Here's a helper that does just that. # Works identically to pkg_check_modules, except that no checks are needed prior to use. macro (libfind_pkg_check_modules PREFIX PKGNAME) if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) include(UsePkgConfig) pkgconfig(${PKGNAME} ${PREFIX}_INCLUDE_DIRS ${PREFIX}_LIBRARY_DIRS ${PREFIX}_LDFLAGS ${PREFIX}_CFLAGS) else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) find_package(PkgConfig) if (PKG_CONFIG_FOUND) pkg_check_modules(${PREFIX} ${PKGNAME}) endif (PKG_CONFIG_FOUND) endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) endmacro (libfind_pkg_check_modules) # Do the final processing once the paths have been detected. # If include dirs are needed, ${PREFIX}_PROCESS_INCLUDES should be set to contain # all the variables, each of which contain one include directory. # Ditto for ${PREFIX}_PROCESS_LIBS and library files. # Will set ${PREFIX}_FOUND, ${PREFIX}_INCLUDE_DIRS and ${PREFIX}_LIBRARIES. # Also handles errors in case library detection was required, etc. macro (libfind_process PREFIX) # Skip processing if already processed during this run if
Re: [CMake] Fwd: [PATCH] Add support for Metro apps
Hi, I'm new to CMake but am looking to help with this effort. I'm wondering if it would make more sense (and if it's possible) to have the WinRT flavors as separate platforms within the same solution as you would get if you create a new WinRT project in Visual Studio, instead of having 3 different configurations. I'm looking at also adding WinRT support for Windows Phone and I think that trying to minimize the generators might make more sense. ~Gilles -Original Message- From: CMake [mailto:cmake-boun...@cmake.org] On Behalf Of David Cole Sent: Monday, March 31, 2014 07:13 To: minmin.g...@gmail.com; cmake-develop...@cmake.org; cmake@cmake.org Subject: Re: [CMake] Fwd: [PATCH] Add support for Metro apps Thanks for working on this. It will be cool to be able to build Metro apps using CMake. One thing I think is crucial here is to include somewhere an example or test project that actually builds a Metro app, and shows how you have to construct the CMakeLists for it, and any special considerations needed when running CMake to generate the project. Without that, I have no clue where to start on evaluating whether these patches are sufficient or not. Ideally, the example/test will be: - here, use something like this CMakeLists.txt (and then show one) - run CMake with the XXX generator - build as usual Could you add a test/example somewhere that shows how to use this? And now, the following is no criticism of your patch, or your attempts to get this functionality into CMake, *but*: - there are too many ways to cross compile for CMake already, and it would be nice if this way was like one of the other ways rather than something entirely different. Right now, CMake already supports: - true cross-compiling using a makefile based generator and a toolchain file - building universal binaries on OSX, but not with a toolchain file - building iOS apps on OSX, but with special variables and properties that need setting - building 32-bit and 64-bit windows apps from the same source tree, but with VS generators, using 2 different build trees each with a different generator, or with non-VS generators, using 2 different build trees, and different environments to define the tools And now there's this. Which I guess is closest to the VS different generator approach. It would be super awesome if somebody could come up with a coherent way to unify all this. (Steve and Eric: hopefully you are considering making the Android stuff you're about to work on blend in closely with one of these existing models rather than introducing yet another cross-compiling model) My 2 cents -- again: thanks for your contribution and keep up the good work. Overall, CMake is still squarely the best way to build cross-platform C++ based projects. And supporting as many platforms as feasible is one of the contributing factors that makes it so. David C. -Original Message- From: Minmin Gong minmin.g...@gmail.com To: cmake-developers cmake-develop...@cmake.org; cmake cmake@cmake.org Sent: Mon, Mar 31, 2014 2:35 am Subject: [CMake] Fwd: [PATCH] Add support for Metro apps Hi cmake developers and users, This is a extend discussion of this ticket: http://www.cmake.org/Bug/view.php?id=13511. In our project, we need to build an Win8+ Metro app. Currently the CMake do support VS_WINRT_EXTENSIONS. However, if you want to build an exe instead of dll or lib, even with x86 or x64, it always fails because lacking of some tags in vcxproj and sln. So I made this patch for WinRT/Metro apps, based on the master branch of CMake. In this patch, 1. WinRT-ARM, WinRT-x86, WinRT-x64 generators are added for generating WinRT special projects. CMAKE_VS_WINRT_VERSION is defined inside. 2. Add AppContainerApplication, ApplicationType, MinimumVisualStudioVersion and ApplicationTypeRevision tags to vcxproj in WinRT project. 3. Recognize AppxManifest file type. 4. A dedicated boolean source file property VS_WINRT_CONTENT is added. Generator expressions is also supported here. 5. Add Deploy.0 in .sln for deploy WinRT apps by default, as WinCE apps do. 6. Add PackageCertificateKeyFile tag to vcxproj for package certification. Thanks for advices from Martell Malone, Daniel Pfeifer, Brad King, Patrick R. Gansterer, and other developers and users of CMake. More comments are welcomed. -- Minmin Gong -- 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:
[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1600-g93508c1
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 93508c10e520978aec8a0c287a6ca3f5de43c16b (commit) via 2b3699a45f98dcb110bd0eac6bb054e36f7aac03 (commit) from 5919286f676efbbe146c26adb5f1176a212b450b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=93508c10e520978aec8a0c287a6ca3f5de43c16b commit 93508c10e520978aec8a0c287a6ca3f5de43c16b Merge: 5919286 2b3699a Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 02:23:20 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Mar 31 02:23:20 2014 -0400 Merge topic 'target-transitive-sources' into next 2b3699a4 Use Build type. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2b3699a45f98dcb110bd0eac6bb054e36f7aac03 commit 2b3699a45f98dcb110bd0eac6bb054e36f7aac03 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 08:22:58 2014 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Mar 31 08:22:58 2014 +0200 Use Build type. diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index 869b20d..735abec9 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -1693,7 +1693,8 @@ void cmLocalGenerator::GetTargetFlags(std::string linkLibs, linkFlags += this-Makefile-GetSafeDefinition(build); linkFlags += ; } - std::string linkLanguage = target-Target-GetLinkerLanguage(); + std::string linkLanguage = target-Target-GetLinkerLanguage( + this-Makefile-GetSafeDefinition(CMAKE_BUILD_TYPE)); if(linkLanguage.empty()) { cmSystemTools::Error --- Summary of changes: Source/cmLocalGenerator.cxx |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1608-gb308f89
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via b308f89e61305028d49f489c4082dcb492b4f008 (commit) via b59ac8b33fefccd30a9dbc11f4177204fb49e9aa (commit) from 0d420318ce931307db9b8b3994b73e506643f82c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b308f89e61305028d49f489c4082dcb492b4f008 commit b308f89e61305028d49f489c4082dcb492b4f008 Merge: 0d42031 b59ac8b Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 02:34:51 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Mar 31 02:34:51 2014 -0400 Merge topic 'target-transitive-sources' into next b59ac8b3 Simplify. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b59ac8b33fefccd30a9dbc11f4177204fb49e9aa commit b59ac8b33fefccd30a9dbc11f4177204fb49e9aa Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 08:33:13 2014 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Mar 31 08:33:13 2014 +0200 Simplify. diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index 735abec9..e2f8375 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -1693,8 +1693,7 @@ void cmLocalGenerator::GetTargetFlags(std::string linkLibs, linkFlags += this-Makefile-GetSafeDefinition(build); linkFlags += ; } - std::string linkLanguage = target-Target-GetLinkerLanguage( - this-Makefile-GetSafeDefinition(CMAKE_BUILD_TYPE)); + std::string linkLanguage = target-Target-GetLinkerLanguage(buildType); if(linkLanguage.empty()) { cmSystemTools::Error --- Summary of changes: Source/cmLocalGenerator.cxx |3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1619-g629c0f7
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 629c0f7eb84ddd5d77ed3809fa7309d16f335917 (commit) via 587451858f73d7585e1280de16f9d07f566fd267 (commit) via 521b930bf4e211735842e71f1eb0018c2184a05f (commit) via 9298987a826dd8c71b02779145d5b9e3ebc30f4f (commit) via 5bad8ae342a7f1134fe3bb1ad3f2cc9852679124 (commit) from 8c8069edb7953c0e31d211201fcff9427fb413f5 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=629c0f7eb84ddd5d77ed3809fa7309d16f335917 commit 629c0f7eb84ddd5d77ed3809fa7309d16f335917 Merge: 8c8069e 5874518 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 04:47:31 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Mar 31 04:47:31 2014 -0400 Merge topic 'automoc-windows-command-limit' into next 58745185 QtAutogen: Use an at-file for very long command on Windows. 521b930b CMake Nightly Date Stamp 9298987a CMake Nightly Date Stamp 5bad8ae3 CMake Nightly Date Stamp http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=587451858f73d7585e1280de16f9d07f566fd267 commit 587451858f73d7585e1280de16f9d07f566fd267 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 10:31:26 2014 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Mar 31 10:31:26 2014 +0200 QtAutogen: Use an at-file for very long command on Windows. diff --git a/Source/cmQtAutoGenerators.cxx b/Source/cmQtAutoGenerators.cxx index a6e6af7..426cfea 100644 --- a/Source/cmQtAutoGenerators.cxx +++ b/Source/cmQtAutoGenerators.cxx @@ -994,7 +994,7 @@ bool cmQtAutoGenerators::Run(const std::string targetDirectory, if (this-QtMajorVersion == 4 || this-QtMajorVersion == 5) { -success = this-RunAutogen(makefile); +success = this-RunAutogen(makefile, targetDirectory); } this-WriteOldMocDefinitionsFile(targetDirectory); @@ -1273,7 +1273,8 @@ void cmQtAutoGenerators::Init() } -bool cmQtAutoGenerators::RunAutogen(cmMakefile* makefile) +bool cmQtAutoGenerators::RunAutogen(cmMakefile* makefile, +const std::string targetDirectory) { if (!cmsys::SystemTools::FileExists(this-OutMocCppFilename.c_str()) || (this-OldCompileSettingsStr != this-CurrentCompileSettingsStr)) @@ -1370,7 +1371,7 @@ bool cmQtAutoGenerators::RunAutogen(cmMakefile* makefile) it != includedMocs.end(); ++it) { -this-GenerateMoc(it-first, it-second); +this-GenerateMoc(it-first, it-second, targetDirectory); } for(std::mapstd::string, std::string::const_iterator it = includedUis.begin(); @@ -1402,7 +1403,8 @@ bool cmQtAutoGenerators::RunAutogen(cmMakefile* makefile) it != notIncludedMocs.end(); ++it) { - bool mocSuccess = this-GenerateMoc(it-first, it-second); + bool mocSuccess = this-GenerateMoc(it-first, it-second, + targetDirectory); if (mocSuccess) { automocCppChanged = true; @@ -1890,8 +1892,12 @@ void cmQtAutoGenerators::ParseHeaders(const std::setstd::string absHeaders, } bool cmQtAutoGenerators::GenerateMoc(const std::string sourceFile, - const std::string mocFileName) + const std::string mocFileName, + const std::string targetDirectory) { +#ifndef _WIN32 + (void)targetDirectory; +#endif const std::string mocFilePath = this-Builddir + mocFileName; int sourceNewerThanMoc = 0; bool success = cmsys::SystemTools::FileTimeCompare(sourceFile.c_str(), @@ -1914,25 +1920,66 @@ bool cmQtAutoGenerators::GenerateMoc(const std::string sourceFile, std::vectorstd::string command; command.push_back(this-MocExecutable); +#ifdef _WIN32 + std::string::size_type commandLength = 0; +#endif for (std::liststd::string::const_iterator it = this-MocIncludes.begin(); it != this-MocIncludes.end(); ++it) { command.push_back(*it); +#ifdef _WIN32 + commandLength += it-size() + 3; +#endif } for(std::liststd::string::const_iterator it=this-MocDefinitions.begin(); it != this-MocDefinitions.end(); ++it) { command.push_back(*it); +#ifdef _WIN32 + commandLength += it-size() + 3; +#endif } for(std::vectorstd::string::const_iterator it=this-MocOptions.begin(); it != this-MocOptions.end(); ++it) { command.push_back(*it); +#ifdef _WIN32 + commandLength += it-size() + 3; +#endif } #ifdef _WIN32 +commandLength
[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1623-ge083dc3
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via e083dc3056b6fb79b1a42f1a3b72f83dd87bd037 (commit) via 480be00bfac0af72d373b5ef190ebc770a1bc7c1 (commit) from 5578277ae0b2856066c17aa25a87e144fbac64bc (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e083dc3056b6fb79b1a42f1a3b72f83dd87bd037 commit e083dc3056b6fb79b1a42f1a3b72f83dd87bd037 Merge: 5578277 480be00 Author: Clinton Stimpson clin...@elemtech.com AuthorDate: Mon Mar 31 09:15:33 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Mar 31 09:15:33 2014 -0400 Merge topic 'cmake-gui-symlinks' into next 480be00b cmake-gui: Don't resolve symlinks with using file dialog. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=480be00bfac0af72d373b5ef190ebc770a1bc7c1 commit 480be00bfac0af72d373b5ef190ebc770a1bc7c1 Author: Clinton Stimpson clin...@elemtech.com AuthorDate: Sat Mar 29 22:39:43 2014 -0600 Commit: Clinton Stimpson clin...@elemtech.com CommitDate: Sat Mar 29 22:41:44 2014 -0600 cmake-gui: Don't resolve symlinks with using file dialog. This fixes bug #14274 where a clang++ symlink was resolved to a clang executable. diff --git a/Source/QtDialog/CMakeSetupDialog.cxx b/Source/QtDialog/CMakeSetupDialog.cxx index f62afd6..1a98cea 100644 --- a/Source/QtDialog/CMakeSetupDialog.cxx +++ b/Source/QtDialog/CMakeSetupDialog.cxx @@ -578,7 +578,8 @@ void CMakeSetupDialog::doInterrupt() void CMakeSetupDialog::doSourceBrowse() { QString dir = QFileDialog::getExistingDirectory(this, -tr(Enter Path to Source), this-SourceDirectory-text()); +tr(Enter Path to Source), this-SourceDirectory-text(), +QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); if(!dir.isEmpty()) { this-setSourceDirectory(dir); @@ -608,7 +609,8 @@ void CMakeSetupDialog::updateBinaryDirectory(const QString dir) void CMakeSetupDialog::doBinaryBrowse() { QString dir = QFileDialog::getExistingDirectory(this, -tr(Enter Path to Build), this-BinaryDirectory-currentText()); +tr(Enter Path to Build), this-BinaryDirectory-currentText(), +QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); if(!dir.isEmpty() dir != this-BinaryDirectory-currentText()) { this-setBinaryDirectory(dir); diff --git a/Source/QtDialog/QCMakeWidgets.cxx b/Source/QtDialog/QCMakeWidgets.cxx index a0c5e17..41f98b5 100644 --- a/Source/QtDialog/QCMakeWidgets.cxx +++ b/Source/QtDialog/QCMakeWidgets.cxx @@ -67,7 +67,8 @@ void QCMakeFilePathEditor::chooseFile() title = title.arg(this-Variable); } this-fileDialogExists(true); - path = QFileDialog::getOpenFileName(this, title, info.absolutePath()); + path = QFileDialog::getOpenFileName(this, title, info.absolutePath(), +QString(), NULL, QFileDialog::DontResolveSymlinks); this-fileDialogExists(false); if(!path.isEmpty()) @@ -91,7 +92,8 @@ void QCMakePathEditor::chooseFile() title = title.arg(this-Variable); } this-fileDialogExists(true); - path = QFileDialog::getExistingDirectory(this, title, this-text()); + path = QFileDialog::getExistingDirectory(this, title, this-text(), +QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); this-fileDialogExists(false); if(!path.isEmpty()) { --- Summary of changes: Source/QtDialog/CMakeSetupDialog.cxx |6 -- Source/QtDialog/QCMakeWidgets.cxx|6 -- 2 files changed, 8 insertions(+), 4 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1626-g8e94429
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 8e944299a246e2156292919040c2840281f12a81 (commit) via 83934757c942672d8bea79f11e51a184b168a212 (commit) via 4c0cc9ab9195d348ea5f1b004789ec334531bbb1 (commit) from e083dc3056b6fb79b1a42f1a3b72f83dd87bd037 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8e944299a246e2156292919040c2840281f12a81 commit 8e944299a246e2156292919040c2840281f12a81 Merge: e083dc3 8393475 Author: Clinton Stimpson clin...@elemtech.com AuthorDate: Mon Mar 31 09:16:18 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Mar 31 09:16:18 2014 -0400 Merge topic 'find_package-check-quiet' into next 83934757 Find*: Make find_package(.. QUIET) affect Check* modules. 4c0cc9ab Check*.cmake : Add CMAKE_REQUIRED_QUIET flag. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=83934757c942672d8bea79f11e51a184b168a212 commit 83934757c942672d8bea79f11e51a184b168a212 Author: Clinton Stimpson clin...@elemtech.com AuthorDate: Sat Mar 29 20:22:54 2014 -0600 Commit: Clinton Stimpson clin...@elemtech.com CommitDate: Sat Mar 29 20:22:54 2014 -0600 Find*: Make find_package(.. QUIET) affect Check* modules. Fixes issues #14812 and #14813 where find_package(OpenMP QUIET) and find_package(Qt4 QUIET) would still print out messages when calling check*() functions. Also a partial fix for #14445 where building CMake (without cmake-gui) when Qt5 is installed and Qt4 is not installed and warnings come out of FindQt4.cmake. diff --git a/Modules/FindBLAS.cmake b/Modules/FindBLAS.cmake index 3b658ef..1cf9124 100644 --- a/Modules/FindBLAS.cmake +++ b/Modules/FindBLAS.cmake @@ -52,6 +52,9 @@ include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake) include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake) +include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake) +cmake_push_check_state() +set(CMAKE_REQUIRED_QUIET ${BLAS_FIND_QUIETLY}) set(_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) @@ -687,4 +690,5 @@ else() endif() endif() +cmake_pop_check_state() set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) diff --git a/Modules/FindBZip2.cmake b/Modules/FindBZip2.cmake index 3883877..b479332 100644 --- a/Modules/FindBZip2.cmake +++ b/Modules/FindBZip2.cmake @@ -57,7 +57,11 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(BZip2 if (BZIP2_FOUND) include(${CMAKE_CURRENT_LIST_DIR}/CheckLibraryExists.cmake) + include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake) + cmake_push_check_state() + set(CMAKE_REQUIRED_QUIET ${BZip2_FIND_QUIETLY}) CHECK_LIBRARY_EXISTS(${BZIP2_LIBRARIES} BZ2_bzCompressInit BZIP2_NEED_PREFIX) + cmake_pop_check_state() endif () mark_as_advanced(BZIP2_INCLUDE_DIR) diff --git a/Modules/FindBacktrace.cmake b/Modules/FindBacktrace.cmake index 83789cc..5620661 100644 --- a/Modules/FindBacktrace.cmake +++ b/Modules/FindBacktrace.cmake @@ -62,6 +62,7 @@ if (NOT DEFINED Backtrace_LIBRARY) # First, check if we already have backtrace(), e.g., in libc cmake_push_check_state(RESET) set(CMAKE_REQUIRED_INCLUDES ${Backtrace_INCLUDE_DIRS}) + set(CMAKE_REQUIRED_QUIET ${Backtrace_FIND_QUIETLY}) check_symbol_exists(backtrace ${_Backtrace_HEADER_TRY} _Backtrace_SYM_FOUND) cmake_pop_check_state() endif() diff --git a/Modules/FindCups.cmake b/Modules/FindCups.cmake index 4b55d6a..61353ca 100644 --- a/Modules/FindCups.cmake +++ b/Modules/FindCups.cmake @@ -36,9 +36,13 @@ find_library(CUPS_LIBRARIES NAMES cups ) if (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES AND CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE) include(${CMAKE_CURRENT_LIST_DIR}/CheckLibraryExists.cmake) +include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake) +cmake_push_check_state() +set(CMAKE_REQUIRED_QUIET ${Cups_FIND_QUIETLY}) # ippDeleteAttribute is new in cups-1.1.19 (and used by kdeprint) CHECK_LIBRARY_EXISTS(cups ippDeleteAttribute CUPS_HAS_IPP_DELETE_ATTRIBUTE) +cmake_pop_check_state() endif () if (CUPS_INCLUDE_DIR AND EXISTS ${CUPS_INCLUDE_DIR}/cups/cups.h) diff --git a/Modules/FindCurses.cmake b/Modules/FindCurses.cmake index 971edb7..fa420c1 100644 --- a/Modules/FindCurses.cmake +++ b/Modules/FindCurses.cmake @@ -67,6 +67,9 @@ endif() # default search paths. if(CURSES_CURSES_LIBRARY AND CURSES_NEED_NCURSES) include(${CMAKE_CURRENT_LIST_DIR}/CheckLibraryExists.cmake) + include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake) + cmake_push_check_state() + set(CMAKE_REQUIRED_QUIET
[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1629-g25d13b6
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 25d13b60b5a2acca6a256a3a75aa33d727f89854 (commit) via 8c9c4fe1a6d0c660c7e4e4c1af2cdf2e889fbfbd (commit) via 50ca77f4a03b05c380c923f737e0b3aa00a4cf7d (commit) from 8e944299a246e2156292919040c2840281f12a81 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=25d13b60b5a2acca6a256a3a75aa33d727f89854 commit 25d13b60b5a2acca6a256a3a75aa33d727f89854 Merge: 8e94429 8c9c4fe Author: Brad King brad.k...@kitware.com AuthorDate: Mon Mar 31 09:41:44 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Mar 31 09:41:44 2014 -0400 Merge topic 'clang-warnings' into next 8c9c4fe1 Remove 'return' statements that can never be reached 50ca77f4 create_test_sourcelist: Initialize variable at declaration http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8c9c4fe1a6d0c660c7e4e4c1af2cdf2e889fbfbd commit 8c9c4fe1a6d0c660c7e4e4c1af2cdf2e889fbfbd Author: Sean McBride s...@rogue-research.com AuthorDate: Fri Mar 28 11:42:09 2014 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Mon Mar 31 09:41:05 2014 -0400 Remove 'return' statements that can never be reached Clang -Wunreachable-code-return warns otherwise. diff --git a/Source/CursesDialog/cmCursesOptionsWidget.cxx b/Source/CursesDialog/cmCursesOptionsWidget.cxx index 652b2df..d97c737 100644 --- a/Source/CursesDialog/cmCursesOptionsWidget.cxx +++ b/Source/CursesDialog/cmCursesOptionsWidget.cxx @@ -59,7 +59,6 @@ bool cmCursesOptionsWidget::HandleInput(int key, cmCursesMainForm*, WINDOW* w) { return false; } - return false; } void cmCursesOptionsWidget::AddOption(std::string const option ) diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index ff05975..2f5f493 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -1662,7 +1662,6 @@ long copy_data(struct archive *ar, struct archive *aw) return (r); } } - return r; } bool extract_tar(const char* outFileName, bool verbose, http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=50ca77f4a03b05c380c923f737e0b3aa00a4cf7d commit 50ca77f4a03b05c380c923f737e0b3aa00a4cf7d Author: Sean McBride s...@rogue-research.com AuthorDate: Fri Mar 28 11:10:37 2014 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Mon Mar 31 09:41:05 2014 -0400 create_test_sourcelist: Initialize variable at declaration Clang -Wconditional-uninitialized warns otherwise. diff --git a/Templates/TestDriver.cxx.in b/Templates/TestDriver.cxx.in index 82537ef..0e0a872 100644 --- a/Templates/TestDriver.cxx.in +++ b/Templates/TestDriver.cxx.in @@ -58,7 +58,7 @@ static char* lowercase(const char *string) int main(int ac, char *av[]) { - int i, NumTests, testNum, partial_match; + int i, NumTests, testNum = 0, partial_match; char *arg, *test_name; int count; int testToRun = -1; @@ -81,7 +81,6 @@ int main(int ac, char *av[]) } printf(To run a test, enter the test number: ); fflush(stdout); -testNum = 0; if( scanf(%d, testNum) != 1 ) { printf(Couldn't parse that input as a number\n); --- Summary of changes: Source/CursesDialog/cmCursesOptionsWidget.cxx |1 - Source/cmSystemTools.cxx |1 - Templates/TestDriver.cxx.in |3 +-- 3 files changed, 1 insertion(+), 4 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1631-gd7e3fd7
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via d7e3fd7203968a0bc7635dcd2e796057412956fc (commit) via a0b7ab01151d4812992e433175ae168d818ca6cb (commit) from 25d13b60b5a2acca6a256a3a75aa33d727f89854 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d7e3fd7203968a0bc7635dcd2e796057412956fc commit d7e3fd7203968a0bc7635dcd2e796057412956fc Merge: 25d13b6 a0b7ab0 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 09:45:35 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Mar 31 09:45:35 2014 -0400 Merge topic 'generate-qch-doc' into next a0b7ab01 Help: Add option to create and install Qt .qch file. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a0b7ab01151d4812992e433175ae168d818ca6cb commit a0b7ab01151d4812992e433175ae168d818ca6cb Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 15:44:27 2014 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Mar 31 15:44:27 2014 +0200 Help: Add option to create and install Qt .qch file. diff --git a/Utilities/Sphinx/CMakeLists.txt b/Utilities/Sphinx/CMakeLists.txt index 23dc6ae..51c83ba 100644 --- a/Utilities/Sphinx/CMakeLists.txt +++ b/Utilities/Sphinx/CMakeLists.txt @@ -24,6 +24,7 @@ project(CMakeHelp NONE) option(SPHINX_MAN Build man pages with Sphinx OFF) option(SPHINX_HTML Build html help with Sphinx OFF) +option(SPHINX_QTHELP Build Qt help with Sphinx OFF) option(SPHINX_TEXT Build text help with Sphinx (not installed) OFF) find_program(SPHINX_EXECUTABLE NAMES sphinx-build @@ -32,7 +33,7 @@ find_program(SPHINX_EXECUTABLE mark_as_advanced(SPHINX_TEXT) -if(NOT SPHINX_MAN AND NOT SPHINX_HTML AND NOT SPHINX_TEXT) +if(NOT SPHINX_MAN AND NOT SPHINX_HTML AND NOT SPHINX_QTHELP AND NOT SPHINX_TEXT) return() elseif(NOT SPHINX_EXECUTABLE) message(FATAL_ERROR SPHINX_EXECUTABLE (sphinx-build) is not found!) @@ -63,6 +64,21 @@ endif() if(SPHINX_TEXT) list(APPEND doc_formats text) endif() +if(SPHINX_QTHELP) + find_program(QCOLLECTIONGENERATOR_EXECUTABLE +NAMES qcollectiongenerator +DOC qcollectiongenerator tool +) + if (NOT QCOLLECTIONGENERATOR_EXECUTABLE) +message(FATAL_ERROR QCOLLECTIONGENERATOR_EXECUTABLE (qcollectiongenerator) not found!) + endif() + list(APPEND doc_formats qthelp) + + set(qthelp_extra_commands +COMMAND qcollectiongenerator ${CMAKE_CURRENT_BINARY_DIR}/qthelp/CMake.qhcp + ) +endif() + set(doc_format_outputs ) set(doc_format_last ) @@ -78,6 +94,7 @@ foreach(format ${doc_formats}) ${CMake_SOURCE_DIR}/Help ${CMAKE_CURRENT_BINARY_DIR}/${format} ${doc_format_log} # log stdout, pass stderr +${${format}_extra_commands} DEPENDS ${doc_format_last} COMMENT sphinx-build ${format}: see Utilities/Sphinx/${doc_format_log} VERBATIM @@ -122,3 +139,8 @@ if(SPHINX_HTML) PATTERN objects.inv EXCLUDE ) endif() +if(SPHINX_QTHELP) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/qthelp/CMake.qch + DESTINATION ${CMAKE_DOC_DIR} + ) +endif() diff --git a/Utilities/Sphinx/cmake.py b/Utilities/Sphinx/cmake.py index 336c74a..c102990 100644 --- a/Utilities/Sphinx/cmake.py +++ b/Utilities/Sphinx/cmake.py @@ -21,6 +21,21 @@ from pygments.lexer import bygroups CMakeLexer.tokens[args].append(('(\\$)(.+?)()', bygroups(Operator, Name.Variable, Operator))) +# Monkey patch for sphinx generating invalid content for qcollectiongenerator +# https://bitbucket.org/birkenfeld/sphinx/issue/1435/qthelp-builder-should-htmlescape-keywords +from sphinx.util.pycompat import htmlescape +from sphinx.builders.qthelp import QtHelpBuilder +old_build_keywords = QtHelpBuilder.build_keywords +def new_build_keywords(self, title, refs, subitems): + old_items = old_build_keywords(self, title, refs, subitems) + new_items = [] + for item in old_items: +before, rest = item.split(ref=\, 1) +ref, after = rest.split(\) +new_items.append(before + ref=\ + htmlescape(ref) + \ + after) + return new_items +QtHelpBuilder.build_keywords = new_build_keywords + from docutils.parsers.rst import Directive, directives from docutils.transforms import Transform --- Summary of changes: Utilities/Sphinx/CMakeLists.txt | 24 +++- Utilities/Sphinx/cmake.py | 15 +++ 2 files changed, 38 insertions(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list
[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1633-g2b4fcf4
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 2b4fcf4abe2b70d89ae8d82f34822bf786d3890e (commit) via 77b581c2f004a36b2b62cc7c678abf51f92c76b5 (commit) from d7e3fd7203968a0bc7635dcd2e796057412956fc (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2b4fcf4abe2b70d89ae8d82f34822bf786d3890e commit 2b4fcf4abe2b70d89ae8d82f34822bf786d3890e Merge: d7e3fd7 77b581c Author: Brad King brad.k...@kitware.com AuthorDate: Mon Mar 31 09:51:21 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Mar 31 09:51:21 2014 -0400 Merge topic 'fix_policy_diagnostics' into next 77b581c2 Policies: omit warnings about unset policies when they are actually set to NEW http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=77b581c2f004a36b2b62cc7c678abf51f92c76b5 commit 77b581c2f004a36b2b62cc7c678abf51f92c76b5 Author: Nils Gladitz nilsglad...@gmail.com AuthorDate: Fri Mar 28 21:38:10 2014 +0100 Commit: Brad King brad.k...@kitware.com CommitDate: Mon Mar 31 09:45:10 2014 -0400 Policies: omit warnings about unset policies when they are actually set to NEW diff --git a/Source/cmAddCustomTargetCommand.cxx b/Source/cmAddCustomTargetCommand.cxx index ef62523..e27d830 100644 --- a/Source/cmAddCustomTargetCommand.cxx +++ b/Source/cmAddCustomTargetCommand.cxx @@ -165,10 +165,13 @@ bool cmAddCustomTargetCommand if (!nameOk) { cmake::MessageType messageType = cmake::AUTHOR_WARNING; +cmOStringStream e; bool issueMessage = false; switch(this-Makefile-GetPolicyStatus(cmPolicies::CMP0037)) { case cmPolicies::WARN: +e (this-Makefile-GetPolicies() + -GetPolicyWarning(cmPolicies::CMP0037)) \n; issueMessage = true; case cmPolicies::OLD: break; @@ -180,9 +183,6 @@ bool cmAddCustomTargetCommand } if (issueMessage) { - cmOStringStream e; - e (this-Makefile-GetPolicies() - -GetPolicyWarning(cmPolicies::CMP0037)) \n; e The target name \ targetName \ is reserved or not valid for certain CMake features, such as generator expressions, and may result diff --git a/Source/cmAddExecutableCommand.cxx b/Source/cmAddExecutableCommand.cxx index 62b6667..3f9400e 100644 --- a/Source/cmAddExecutableCommand.cxx +++ b/Source/cmAddExecutableCommand.cxx @@ -79,10 +79,13 @@ bool cmAddExecutableCommand if (!nameOk) { cmake::MessageType messageType = cmake::AUTHOR_WARNING; +cmOStringStream e; bool issueMessage = false; switch(this-Makefile-GetPolicyStatus(cmPolicies::CMP0037)) { case cmPolicies::WARN: +e (this-Makefile-GetPolicies() + -GetPolicyWarning(cmPolicies::CMP0037)) \n; issueMessage = true; case cmPolicies::OLD: break; @@ -94,9 +97,6 @@ bool cmAddExecutableCommand } if (issueMessage) { - cmOStringStream e; - e (this-Makefile-GetPolicies() --GetPolicyWarning(cmPolicies::CMP0037)) \n; e The target name \ exename \ is reserved or not valid for certain CMake features, such as generator expressions, and may result diff --git a/Source/cmAddLibraryCommand.cxx b/Source/cmAddLibraryCommand.cxx index 009b1ca..e62a40e 100644 --- a/Source/cmAddLibraryCommand.cxx +++ b/Source/cmAddLibraryCommand.cxx @@ -214,11 +214,17 @@ bool cmAddLibraryCommand if (!nameOk) { cmake::MessageType messageType = cmake::AUTHOR_WARNING; +cmOStringStream e; bool issueMessage = false; switch(this-Makefile-GetPolicyStatus(cmPolicies::CMP0037)) { case cmPolicies::WARN: -issueMessage = type != cmTarget::INTERFACE_LIBRARY; +if(type != cmTarget::INTERFACE_LIBRARY) + { + e (this-Makefile-GetPolicies() +-GetPolicyWarning(cmPolicies::CMP0037)) \n; + issueMessage = true; + } case cmPolicies::OLD: break; case cmPolicies::NEW: @@ -229,9 +235,6 @@ bool cmAddLibraryCommand } if (issueMessage) { - cmOStringStream e; - e (this-Makefile-GetPolicies() --GetPolicyWarning(cmPolicies::CMP0037)) \n; e The target name \ libName \ is reserved or not valid for certain CMake features, such as generator expressions, and may result diff --git a/Source/cmComputeTargetDepends.cxx b/Source/cmComputeTargetDepends.cxx index 7870564..9136869 100644 --- a/Source/cmComputeTargetDepends.cxx +++ b/Source/cmComputeTargetDepends.cxx @@ -349,9 +349,12 @@ void
[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1635-g2d81b24
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 2d81b243ed302815fed17161e4d2c6b6cb4a7fab (commit) via dddb7216ad517d7e9dbbeb1ad4cc72d8f660aad3 (commit) from 2b4fcf4abe2b70d89ae8d82f34822bf786d3890e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2d81b243ed302815fed17161e4d2c6b6cb4a7fab commit 2d81b243ed302815fed17161e4d2c6b6cb4a7fab Merge: 2b4fcf4 dddb721 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Mar 31 10:03:16 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Mar 31 10:03:16 2014 -0400 Merge topic 'fix-0014815' into next dddb7216 Set property NO_SONAME ON of swig module http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dddb7216ad517d7e9dbbeb1ad4cc72d8f660aad3 commit dddb7216ad517d7e9dbbeb1ad4cc72d8f660aad3 Author: Julien Schueller schuel...@phimeca.com AuthorDate: Thu Mar 20 09:57:38 2014 +0100 Commit: Julien Schueller schuel...@phimeca.com CommitDate: Thu Mar 20 09:57:38 2014 +0100 Set property NO_SONAME ON of swig module diff --git a/Modules/UseSWIG.cmake b/Modules/UseSWIG.cmake index 4ae6f81..9347687 100644 --- a/Modules/UseSWIG.cmake +++ b/Modules/UseSWIG.cmake @@ -201,6 +201,7 @@ macro(SWIG_ADD_MODULE name language) MODULE ${swig_generated_sources} ${swig_other_sources}) + set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES NO_SONAME ON) string(TOLOWER ${language} swig_lowercase_language) if (${swig_lowercase_language} STREQUAL octave) set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX ) --- Summary of changes: Modules/UseSWIG.cmake |1 + 1 file changed, 1 insertion(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1637-ga5e52f0
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via a5e52f0b76ff4867f4cecee63382128c89adad21 (commit) via 200221232936eb3a7229cb1a064a1a16fee92282 (commit) from 2d81b243ed302815fed17161e4d2c6b6cb4a7fab (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a5e52f0b76ff4867f4cecee63382128c89adad21 commit a5e52f0b76ff4867f4cecee63382128c89adad21 Merge: 2d81b24 2002212 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 10:21:52 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Mar 31 10:21:52 2014 -0400 Merge topic 'automoc-windows-command-limit' into next 20022123 Revert QtAutogen: Use an at-file for very long command on Windows. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=200221232936eb3a7229cb1a064a1a16fee92282 commit 200221232936eb3a7229cb1a064a1a16fee92282 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 16:21:30 2014 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Mar 31 16:21:30 2014 +0200 Revert QtAutogen: Use an at-file for very long command on Windows. This reverts commit 587451858f73d7585e1280de16f9d07f566fd267. diff --git a/Source/cmQtAutoGenerators.cxx b/Source/cmQtAutoGenerators.cxx index 426cfea..a6e6af7 100644 --- a/Source/cmQtAutoGenerators.cxx +++ b/Source/cmQtAutoGenerators.cxx @@ -994,7 +994,7 @@ bool cmQtAutoGenerators::Run(const std::string targetDirectory, if (this-QtMajorVersion == 4 || this-QtMajorVersion == 5) { -success = this-RunAutogen(makefile, targetDirectory); +success = this-RunAutogen(makefile); } this-WriteOldMocDefinitionsFile(targetDirectory); @@ -1273,8 +1273,7 @@ void cmQtAutoGenerators::Init() } -bool cmQtAutoGenerators::RunAutogen(cmMakefile* makefile, -const std::string targetDirectory) +bool cmQtAutoGenerators::RunAutogen(cmMakefile* makefile) { if (!cmsys::SystemTools::FileExists(this-OutMocCppFilename.c_str()) || (this-OldCompileSettingsStr != this-CurrentCompileSettingsStr)) @@ -1371,7 +1370,7 @@ bool cmQtAutoGenerators::RunAutogen(cmMakefile* makefile, it != includedMocs.end(); ++it) { -this-GenerateMoc(it-first, it-second, targetDirectory); +this-GenerateMoc(it-first, it-second); } for(std::mapstd::string, std::string::const_iterator it = includedUis.begin(); @@ -1403,8 +1402,7 @@ bool cmQtAutoGenerators::RunAutogen(cmMakefile* makefile, it != notIncludedMocs.end(); ++it) { - bool mocSuccess = this-GenerateMoc(it-first, it-second, - targetDirectory); + bool mocSuccess = this-GenerateMoc(it-first, it-second); if (mocSuccess) { automocCppChanged = true; @@ -1892,12 +1890,8 @@ void cmQtAutoGenerators::ParseHeaders(const std::setstd::string absHeaders, } bool cmQtAutoGenerators::GenerateMoc(const std::string sourceFile, - const std::string mocFileName, - const std::string targetDirectory) + const std::string mocFileName) { -#ifndef _WIN32 - (void)targetDirectory; -#endif const std::string mocFilePath = this-Builddir + mocFileName; int sourceNewerThanMoc = 0; bool success = cmsys::SystemTools::FileTimeCompare(sourceFile.c_str(), @@ -1920,66 +1914,25 @@ bool cmQtAutoGenerators::GenerateMoc(const std::string sourceFile, std::vectorstd::string command; command.push_back(this-MocExecutable); -#ifdef _WIN32 - std::string::size_type commandLength = 0; -#endif for (std::liststd::string::const_iterator it = this-MocIncludes.begin(); it != this-MocIncludes.end(); ++it) { command.push_back(*it); -#ifdef _WIN32 - commandLength += it-size() + 3; -#endif } for(std::liststd::string::const_iterator it=this-MocDefinitions.begin(); it != this-MocDefinitions.end(); ++it) { command.push_back(*it); -#ifdef _WIN32 - commandLength += it-size() + 3; -#endif } for(std::vectorstd::string::const_iterator it=this-MocOptions.begin(); it != this-MocOptions.end(); ++it) { command.push_back(*it); -#ifdef _WIN32 - commandLength += it-size() + 3; -#endif } #ifdef _WIN32 -commandLength += mocFilePath.size() + 3; -commandLength += sourceFile.size() + 3; -if(commandLength 32000) - { - // Windows command line length limit is 2**15. If it's really long, - // just put it in a
[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1639-g0e73b07
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 0e73b07fd59f98447ffe3c21429ed244941d282a (commit) via 3cdcda702cdb050da3b637203247b18f892c4235 (commit) from a5e52f0b76ff4867f4cecee63382128c89adad21 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0e73b07fd59f98447ffe3c21429ed244941d282a commit 0e73b07fd59f98447ffe3c21429ed244941d282a Merge: a5e52f0 3cdcda7 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 11:21:25 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Mar 31 11:21:25 2014 -0400 Merge topic 'exclude-tests-in-install-prefix' into next 3cdcda70 Tests: Exclude some tests if src is below install. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3cdcda702cdb050da3b637203247b18f892c4235 commit 3cdcda702cdb050da3b637203247b18f892c4235 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 17:09:33 2014 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Mar 31 17:20:59 2014 +0200 Tests: Exclude some tests if src is below install. diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 9bb097b..77de626 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -81,6 +81,14 @@ add_RunCMake_test(find_package) add_RunCMake_test(get_filename_component) add_RunCMake_test(if) add_RunCMake_test(include) +file(RELATIVE_PATH srcRelPath ${CMAKE_INSTALL_PREFIX} ${CMAKE_SOURCE_DIR}) +if (NOT srcRelPath MATCHES ^\\.\\.) + list(APPEND include_directories_ARGS -DSOURCE_IN_INSTALL_PREFIX=1) +endif() +file(RELATIVE_PATH binRelPath ${CMAKE_INSTALL_PREFIX} ${CMAKE_BINARY_DIR}) +if (NOT binRelPath MATCHES ^\\.\\.) + list(APPEND include_directories_ARGS -DBUILD_IN_INSTALL_PREFIX=1) +endif() add_RunCMake_test(include_directories) add_RunCMake_test(list) add_RunCMake_test(message) diff --git a/Tests/RunCMake/include_directories/RunCMakeTest.cmake b/Tests/RunCMake/include_directories/RunCMakeTest.cmake index c00b924..8977582 100644 --- a/Tests/RunCMake/include_directories/RunCMakeTest.cmake +++ b/Tests/RunCMake/include_directories/RunCMakeTest.cmake @@ -3,8 +3,12 @@ include(RunCMake) run_cmake(NotFoundContent) run_cmake(DebugIncludes) run_cmake(TID-bad-target) -run_cmake(SourceDirectoryInInterface) -run_cmake(BinaryDirectoryInInterface) +if (NOT SOURCE_IN_INSTALL_PREFIX) + run_cmake(SourceDirectoryInInterface) +endif() +if (NOT BUILD_IN_INSTALL_PREFIX) + run_cmake(BinaryDirectoryInInterface) +endif() run_cmake(RelativePathInInterface) run_cmake(ImportedTarget) run_cmake(RelativePathInGenex) --- Summary of changes: Tests/RunCMake/CMakeLists.txt |8 Tests/RunCMake/include_directories/RunCMakeTest.cmake |8 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1641-g6f97563
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 6f97563b0db7f51a6b59414d9750f325fdf3ec6c (commit) via 8ba2413e3e33a054958e2fd9d8022b084c479fcf (commit) from 0e73b07fd59f98447ffe3c21429ed244941d282a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6f97563b0db7f51a6b59414d9750f325fdf3ec6c commit 6f97563b0db7f51a6b59414d9750f325fdf3ec6c Merge: 0e73b07 8ba2413 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 13:02:37 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Mar 31 13:02:37 2014 -0400 Merge topic 'exclude-tests-in-install-prefix' into next 8ba2413e Revert Tests: Exclude some tests if src is below install. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8ba2413e3e33a054958e2fd9d8022b084c479fcf commit 8ba2413e3e33a054958e2fd9d8022b084c479fcf Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 17:36:50 2014 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Mar 31 17:36:50 2014 +0200 Revert Tests: Exclude some tests if src is below install. This reverts commit 3cdcda702cdb050da3b637203247b18f892c4235. diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 77de626..9bb097b 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -81,14 +81,6 @@ add_RunCMake_test(find_package) add_RunCMake_test(get_filename_component) add_RunCMake_test(if) add_RunCMake_test(include) -file(RELATIVE_PATH srcRelPath ${CMAKE_INSTALL_PREFIX} ${CMAKE_SOURCE_DIR}) -if (NOT srcRelPath MATCHES ^\\.\\.) - list(APPEND include_directories_ARGS -DSOURCE_IN_INSTALL_PREFIX=1) -endif() -file(RELATIVE_PATH binRelPath ${CMAKE_INSTALL_PREFIX} ${CMAKE_BINARY_DIR}) -if (NOT binRelPath MATCHES ^\\.\\.) - list(APPEND include_directories_ARGS -DBUILD_IN_INSTALL_PREFIX=1) -endif() add_RunCMake_test(include_directories) add_RunCMake_test(list) add_RunCMake_test(message) diff --git a/Tests/RunCMake/include_directories/RunCMakeTest.cmake b/Tests/RunCMake/include_directories/RunCMakeTest.cmake index 8977582..c00b924 100644 --- a/Tests/RunCMake/include_directories/RunCMakeTest.cmake +++ b/Tests/RunCMake/include_directories/RunCMakeTest.cmake @@ -3,12 +3,8 @@ include(RunCMake) run_cmake(NotFoundContent) run_cmake(DebugIncludes) run_cmake(TID-bad-target) -if (NOT SOURCE_IN_INSTALL_PREFIX) - run_cmake(SourceDirectoryInInterface) -endif() -if (NOT BUILD_IN_INSTALL_PREFIX) - run_cmake(BinaryDirectoryInInterface) -endif() +run_cmake(SourceDirectoryInInterface) +run_cmake(BinaryDirectoryInInterface) run_cmake(RelativePathInInterface) run_cmake(ImportedTarget) run_cmake(RelativePathInGenex) --- Summary of changes: Tests/RunCMake/CMakeLists.txt |8 Tests/RunCMake/include_directories/RunCMakeTest.cmake |8 ++-- 2 files changed, 2 insertions(+), 14 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1644-g8ead6f4
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 8ead6f4f89d2c9e9b4dee34de399438d0f61c4a9 (commit) via daf3c29144cc4e214e120ec53c5384157832c816 (commit) via 63873f705a71e133bfa2cb6fb1714e7aeaec6281 (commit) from 6f97563b0db7f51a6b59414d9750f325fdf3ec6c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8ead6f4f89d2c9e9b4dee34de399438d0f61c4a9 commit 8ead6f4f89d2c9e9b4dee34de399438d0f61c4a9 Merge: 6f97563 daf3c29 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 13:13:06 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Mar 31 13:13:06 2014 -0400 Merge topic 'install-prefix-in-interface' into next daf3c291 Merge remote-tracking branch 'origin/master' into install-prefix-in-interface 63873f70 Export: Allow install tree inside build tree, but disallow inside src tree. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=daf3c29144cc4e214e120ec53c5384157832c816 commit daf3c29144cc4e214e120ec53c5384157832c816 Merge: 63873f7 521b930 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 19:12:28 2014 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Mar 31 19:12:28 2014 +0200 Merge remote-tracking branch 'origin/master' into install-prefix-in-interface Conflicts: Tests/RunCMake/RunCMake.cmake diff --cc Source/cmExportFileGenerator.cxx index 2ac6381,b38c48b..81b2080 --- a/Source/cmExportFileGenerator.cxx +++ b/Source/cmExportFileGenerator.cxx @@@ -273,10 -275,9 +275,10 @@@ static bool checkInterfaceDirs(const st e Target \ target-GetName() \ INTERFACE_INCLUDE_DIRECTORIES property contains relative path:\n \ *li \; - target-GetMakefile()-IssueMessage(messageType, e.str().c_str()); + target-GetMakefile()-IssueMessage(messageType, e.str()); } -if (isSubDirectory(li-c_str(), installDir)) +if (isSubDirectory(li-c_str(), installDir) + isSubDirectory(installDir, topBinaryDir)) { continue; } diff --cc Tests/RunCMake/RunCMake.cmake index 08a807e,ed3afc5..4ed2f43 --- a/Tests/RunCMake/RunCMake.cmake +++ b/Tests/RunCMake/RunCMake.cmake @@@ -57,7 -52,8 +57,8 @@@ function(run_cmake test COMMAND ${CMAKE_COMMAND} ${RunCMake_TEST_SOURCE_DIR} -G ${RunCMake_GENERATOR} -T ${RunCMake_GENERATOR_TOOLSET} --DRunCMake_TEST=${test} +-DRunCMake_TEST=${RunCMake_TEST_FILE} + --no-warn-unused-cli ${RunCMake_TEST_OPTIONS} WORKING_DIRECTORY ${RunCMake_TEST_BINARY_DIR} OUTPUT_VARIABLE actual_stdout http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=63873f705a71e133bfa2cb6fb1714e7aeaec6281 commit 63873f705a71e133bfa2cb6fb1714e7aeaec6281 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 17:37:02 2014 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Mar 31 19:11:27 2014 +0200 Export: Allow install tree inside build tree, but disallow inside src tree. Disallow other combinations too. diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx index 4a161ee..2ac6381 100644 --- a/Source/cmExportFileGenerator.cxx +++ b/Source/cmExportFileGenerator.cxx @@ -275,7 +275,8 @@ static bool checkInterfaceDirs(const std::string prepro, \ *li \; target-GetMakefile()-IssueMessage(messageType, e.str().c_str()); } -if (isSubDirectory(li-c_str(), installDir)) +if (isSubDirectory(li-c_str(), installDir) + isSubDirectory(installDir, topBinaryDir)) { continue; } diff --git a/Tests/RunCMake/RunCMake.cmake b/Tests/RunCMake/RunCMake.cmake index 1d1c523..08a807e 100644 --- a/Tests/RunCMake/RunCMake.cmake +++ b/Tests/RunCMake/RunCMake.cmake @@ -25,7 +25,9 @@ function(run_cmake test) unset(expect_std${o}) endif() endforeach() - set(RunCMake_TEST_SOURCE_DIR ${top_src}) + if (NOT RunCMake_TEST_SOURCE_DIR) +set(RunCMake_TEST_SOURCE_DIR ${top_src}) + endif() if(NOT RunCMake_TEST_BINARY_DIR) set(RunCMake_TEST_BINARY_DIR ${top_bin}/${test}-build) endif() @@ -36,6 +38,9 @@ function(run_cmake test) if(NOT DEFINED RunCMake_TEST_OPTIONS) set(RunCMake_TEST_OPTIONS ) endif() + if (NOT RunCMake_TEST_FILE) +set(RunCMake_TEST_FILE ${test}) + endif() if(APPLE) list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_POLICY_DEFAULT_CMP0025=NEW) endif() @@ -52,7 +57,7 @@ function(run_cmake test) COMMAND ${CMAKE_COMMAND}
[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1646-gc299379
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via c2993794957f88b7dcb3f696b7fb59256e2d0ef0 (commit) via fa05a213435ebdba8a76a550a371e9a077a63b5e (commit) from 8ead6f4f89d2c9e9b4dee34de399438d0f61c4a9 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c2993794957f88b7dcb3f696b7fb59256e2d0ef0 commit c2993794957f88b7dcb3f696b7fb59256e2d0ef0 Merge: 8ead6f4 fa05a21 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 13:30:00 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Mar 31 13:30:00 2014 -0400 Merge topic 'install-prefix-in-interface' into next fa05a213 Rename PARENT_SCOPE test. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fa05a213435ebdba8a76a550a371e9a077a63b5e commit fa05a213435ebdba8a76a550a371e9a077a63b5e Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 19:29:20 2014 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Mar 31 19:29:20 2014 +0200 Rename PARENT_SCOPE test. Don't conflict with set() functionality. diff --git a/Tests/RunCMake/set/PARENT_SCOPE-result.txt b/Tests/RunCMake/set/ParentScope-result.txt similarity index 100% rename from Tests/RunCMake/set/PARENT_SCOPE-result.txt rename to Tests/RunCMake/set/ParentScope-result.txt diff --git a/Tests/RunCMake/set/PARENT_SCOPE.cmake b/Tests/RunCMake/set/ParentScope.cmake similarity index 100% rename from Tests/RunCMake/set/PARENT_SCOPE.cmake rename to Tests/RunCMake/set/ParentScope.cmake diff --git a/Tests/RunCMake/set/RunCMakeTest.cmake b/Tests/RunCMake/set/RunCMakeTest.cmake index 5d036e3..1b51ea2 100644 --- a/Tests/RunCMake/set/RunCMakeTest.cmake +++ b/Tests/RunCMake/set/RunCMakeTest.cmake @@ -1,3 +1,3 @@ include(RunCMake) -run_cmake(PARENT_SCOPE) +run_cmake(ParentScope) --- Summary of changes: .../RunCMake/set/{PARENT_SCOPE-result.txt = ParentScope-result.txt} |0 Tests/RunCMake/set/{PARENT_SCOPE.cmake = ParentScope.cmake} |0 Tests/RunCMake/set/RunCMakeTest.cmake|2 +- 3 files changed, 1 insertion(+), 1 deletion(-) rename Tests/RunCMake/set/{PARENT_SCOPE-result.txt = ParentScope-result.txt} (100%) rename Tests/RunCMake/set/{PARENT_SCOPE.cmake = ParentScope.cmake} (100%) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1648-gff7944a
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via ff7944a487e2e591a0ffb2b58f300d8a2e0ced00 (commit) via eac635da5994391d3395d61ab1294b7f588f97d5 (commit) from c2993794957f88b7dcb3f696b7fb59256e2d0ef0 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ff7944a487e2e591a0ffb2b58f300d8a2e0ced00 commit ff7944a487e2e591a0ffb2b58f300d8a2e0ced00 Merge: c299379 eac635d Author: Ben Boeckel ben.boec...@kitware.com AuthorDate: Mon Mar 31 17:09:37 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Mar 31 17:09:37 2014 -0400 Merge topic 'simplify-ninja-linker-command' into next eac635da A little simplify Ninja code for linker commands. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=eac635da5994391d3395d61ab1294b7f588f97d5 commit eac635da5994391d3395d61ab1294b7f588f97d5 Author: Jiri Malak malak.j...@gmail.com AuthorDate: Mon Mar 31 00:25:11 2014 +0200 Commit: Ben Boeckel ben.boec...@kitware.com CommitDate: Mon Mar 31 16:36:15 2014 -0400 A little simplify Ninja code for linker commands. Use GetCreateRuleVariable function instead of redundant code for Rule variable name. Use temporary variables to improve code. diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx index 2d1bc76..20ce2c5 100644 --- a/Source/cmNinjaNormalTargetGenerator.cxx +++ b/Source/cmNinjaNormalTargetGenerator.cxx @@ -313,72 +313,49 @@ cmNinjaNormalTargetGenerator ::ComputeLinkCmd() { std::vectorstd::string linkCmds; - cmTarget::TargetType targetType = this-GetTarget()-GetType(); - switch (targetType) { + cmMakefile* mf = this-GetMakefile(); + { + std::string linkCmdVar = CMAKE_; + linkCmdVar += this-TargetLinkLanguage; + linkCmdVar += this-GetGeneratorTarget()-GetCreateRuleVariable(); + const char *linkCmd = mf-GetDefinition(linkCmdVar); + if (linkCmd) +{ +cmSystemTools::ExpandListArgument(linkCmd, linkCmds); +return linkCmds; +} + } + switch (this-GetTarget()-GetType()) { case cmTarget::STATIC_LIBRARY: { - // Check if you have a non archive way to create the static library. - { - std::string linkCmdVar = CMAKE_; - linkCmdVar += this-TargetLinkLanguage; - linkCmdVar += _CREATE_STATIC_LIBRARY; - if (const char *linkCmd = -this-GetMakefile()-GetDefinition(linkCmdVar)) -{ -cmSystemTools::ExpandListArgument(linkCmd, linkCmds); -return linkCmds; -} - } - // We have archive link commands set. First, delete the existing archive. + { std::string cmakeCommand = this-GetLocalGenerator()-ConvertToOutputFormat( - this-GetMakefile()-GetRequiredDefinition(CMAKE_COMMAND), + mf-GetRequiredDefinition(CMAKE_COMMAND), cmLocalGenerator::SHELL); linkCmds.push_back(cmakeCommand + -E remove $out); - + } // TODO: Use ARCHIVE_APPEND for archives over a certain size. { std::string linkCmdVar = CMAKE_; linkCmdVar += this-TargetLinkLanguage; linkCmdVar += _ARCHIVE_CREATE; - const char *linkCmd = -this-GetMakefile()-GetRequiredDefinition(linkCmdVar); + const char *linkCmd = mf-GetRequiredDefinition(linkCmdVar); cmSystemTools::ExpandListArgument(linkCmd, linkCmds); } { std::string linkCmdVar = CMAKE_; linkCmdVar += this-TargetLinkLanguage; linkCmdVar += _ARCHIVE_FINISH; - const char *linkCmd = -this-GetMakefile()-GetRequiredDefinition(linkCmdVar); + const char *linkCmd = mf-GetRequiredDefinition(linkCmdVar); cmSystemTools::ExpandListArgument(linkCmd, linkCmds); } return linkCmds; } case cmTarget::SHARED_LIBRARY: case cmTarget::MODULE_LIBRARY: -case cmTarget::EXECUTABLE: { - std::string linkCmdVar = CMAKE_; - linkCmdVar += this-TargetLinkLanguage; - switch (targetType) { - case cmTarget::SHARED_LIBRARY: -linkCmdVar += _CREATE_SHARED_LIBRARY; -break; - case cmTarget::MODULE_LIBRARY: -linkCmdVar += _CREATE_SHARED_MODULE; -break; - case cmTarget::EXECUTABLE: -linkCmdVar += _LINK_EXECUTABLE; -break; - default: -assert(0 Unexpected target type); - } - - const char *linkCmd = -this-GetMakefile()-GetRequiredDefinition(linkCmdVar); - cmSystemTools::ExpandListArgument(linkCmd, linkCmds); - return linkCmds; -} +case cmTarget::EXECUTABLE: + break; default: assert(0 Unexpected target type);
[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1681-gf34a5af
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via f34a5aff72c9f233ed45b304b3fa0c602334d55c (commit) via cf66de4ecf12acef547ab70261c63cbdf15b697c (commit) from 3febbf182137717810620bada93239a3a727e5e9 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f34a5aff72c9f233ed45b304b3fa0c602334d55c commit f34a5aff72c9f233ed45b304b3fa0c602334d55c Merge: 3febbf1 cf66de4 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 17:55:00 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Mar 31 17:55:00 2014 -0400 Merge topic 'generate-qch-doc' into next cf66de4e Be robust against the upstream fix. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cf66de4ecf12acef547ab70261c63cbdf15b697c commit cf66de4ecf12acef547ab70261c63cbdf15b697c Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 23:52:51 2014 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Mar 31 23:52:51 2014 +0200 Be robust against the upstream fix. diff --git a/Utilities/Sphinx/cmake.py b/Utilities/Sphinx/cmake.py index c102990..2d83376 100644 --- a/Utilities/Sphinx/cmake.py +++ b/Utilities/Sphinx/cmake.py @@ -32,7 +32,10 @@ def new_build_keywords(self, title, refs, subitems): for item in old_items: before, rest = item.split(ref=\, 1) ref, after = rest.split(\) -new_items.append(before + ref=\ + htmlescape(ref) + \ + after) +if ( in ref and in ref): + new_items.append(before + ref=\ + htmlescape(ref) + \ + after) +else: + new_items.append(item) return new_items QtHelpBuilder.build_keywords = new_build_keywords --- Summary of changes: Utilities/Sphinx/cmake.py |5 - 1 file changed, 4 insertions(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1683-ga4e1a75
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via a4e1a75add70f5939e9319eec5211e912b488e76 (commit) via 85582d14fe19ba3d66c49ec95286bcaf7c675ca4 (commit) from f34a5aff72c9f233ed45b304b3fa0c602334d55c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a4e1a75add70f5939e9319eec5211e912b488e76 commit a4e1a75add70f5939e9319eec5211e912b488e76 Merge: f34a5af 85582d1 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 17:55:14 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Mar 31 17:55:14 2014 -0400 Merge topic 'generate-qch-doc' into next 85582d14 Help: Add option to create and install Qt .qch file. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=85582d14fe19ba3d66c49ec95286bcaf7c675ca4 commit 85582d14fe19ba3d66c49ec95286bcaf7c675ca4 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Mar 31 15:44:27 2014 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Mar 31 23:55:08 2014 +0200 Help: Add option to create and install Qt .qch file. diff --git a/Utilities/Sphinx/CMakeLists.txt b/Utilities/Sphinx/CMakeLists.txt index 23dc6ae..51c83ba 100644 --- a/Utilities/Sphinx/CMakeLists.txt +++ b/Utilities/Sphinx/CMakeLists.txt @@ -24,6 +24,7 @@ project(CMakeHelp NONE) option(SPHINX_MAN Build man pages with Sphinx OFF) option(SPHINX_HTML Build html help with Sphinx OFF) +option(SPHINX_QTHELP Build Qt help with Sphinx OFF) option(SPHINX_TEXT Build text help with Sphinx (not installed) OFF) find_program(SPHINX_EXECUTABLE NAMES sphinx-build @@ -32,7 +33,7 @@ find_program(SPHINX_EXECUTABLE mark_as_advanced(SPHINX_TEXT) -if(NOT SPHINX_MAN AND NOT SPHINX_HTML AND NOT SPHINX_TEXT) +if(NOT SPHINX_MAN AND NOT SPHINX_HTML AND NOT SPHINX_QTHELP AND NOT SPHINX_TEXT) return() elseif(NOT SPHINX_EXECUTABLE) message(FATAL_ERROR SPHINX_EXECUTABLE (sphinx-build) is not found!) @@ -63,6 +64,21 @@ endif() if(SPHINX_TEXT) list(APPEND doc_formats text) endif() +if(SPHINX_QTHELP) + find_program(QCOLLECTIONGENERATOR_EXECUTABLE +NAMES qcollectiongenerator +DOC qcollectiongenerator tool +) + if (NOT QCOLLECTIONGENERATOR_EXECUTABLE) +message(FATAL_ERROR QCOLLECTIONGENERATOR_EXECUTABLE (qcollectiongenerator) not found!) + endif() + list(APPEND doc_formats qthelp) + + set(qthelp_extra_commands +COMMAND qcollectiongenerator ${CMAKE_CURRENT_BINARY_DIR}/qthelp/CMake.qhcp + ) +endif() + set(doc_format_outputs ) set(doc_format_last ) @@ -78,6 +94,7 @@ foreach(format ${doc_formats}) ${CMake_SOURCE_DIR}/Help ${CMAKE_CURRENT_BINARY_DIR}/${format} ${doc_format_log} # log stdout, pass stderr +${${format}_extra_commands} DEPENDS ${doc_format_last} COMMENT sphinx-build ${format}: see Utilities/Sphinx/${doc_format_log} VERBATIM @@ -122,3 +139,8 @@ if(SPHINX_HTML) PATTERN objects.inv EXCLUDE ) endif() +if(SPHINX_QTHELP) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/qthelp/CMake.qch + DESTINATION ${CMAKE_DOC_DIR} + ) +endif() diff --git a/Utilities/Sphinx/cmake.py b/Utilities/Sphinx/cmake.py index 336c74a..2d83376 100644 --- a/Utilities/Sphinx/cmake.py +++ b/Utilities/Sphinx/cmake.py @@ -21,6 +21,24 @@ from pygments.lexer import bygroups CMakeLexer.tokens[args].append(('(\\$)(.+?)()', bygroups(Operator, Name.Variable, Operator))) +# Monkey patch for sphinx generating invalid content for qcollectiongenerator +# https://bitbucket.org/birkenfeld/sphinx/issue/1435/qthelp-builder-should-htmlescape-keywords +from sphinx.util.pycompat import htmlescape +from sphinx.builders.qthelp import QtHelpBuilder +old_build_keywords = QtHelpBuilder.build_keywords +def new_build_keywords(self, title, refs, subitems): + old_items = old_build_keywords(self, title, refs, subitems) + new_items = [] + for item in old_items: +before, rest = item.split(ref=\, 1) +ref, after = rest.split(\) +if ( in ref and in ref): + new_items.append(before + ref=\ + htmlescape(ref) + \ + after) +else: + new_items.append(item) + return new_items +QtHelpBuilder.build_keywords = new_build_keywords + from docutils.parsers.rst import Directive, directives from docutils.transforms import Transform --- Summary of changes: hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v3.0.0-rc3-402-ge3e1ba3
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, master has been updated via e3e1ba3f781c621835dc5e46783fecb6ccaad127 (commit) from 521b930bf4e211735842e71f1eb0018c2184a05f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e3e1ba3f781c621835dc5e46783fecb6ccaad127 commit e3e1ba3f781c621835dc5e46783fecb6ccaad127 Author: Kitware Robot kwro...@kitware.com AuthorDate: Tue Apr 1 00:01:05 2014 -0400 Commit: Kitware Robot kwro...@kitware.com CommitDate: Tue Apr 1 00:01:05 2014 -0400 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 4b27c72..27f2e91 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 0) -set(CMake_VERSION_PATCH 20140331) +set(CMake_VERSION_PATCH 20140401) #set(CMake_VERSION_RC 1) --- Summary of changes: Source/CMakeVersion.cmake |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits