Re: [cmake-developers] How is the Visual Studio compiler looked up
On 07/07/15 10:10, Gregor Jasny wrote: one of my colleagues is unable to generate a VS2013 solution. He gets the following error: Please disregard. This was a vc12 vs. VS2012 confusion. Sorry for the noise. -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
[cmake-developers] How is the Visual Studio compiler looked up
Hello, one of my colleagues is unable to generate a VS2013 solution. He gets the following error: F:\CitrixLibs\ExternalLibs\CMake\3.1.3\Tools_Windows\bin\cmake.exe -G Visual Studio 12 -T v120_xp -A Win32 -DWITH_COPY_PREBUILT_CACHE=ON -DWITH_COPY_PREBUILT=ON -DCMAKE_INSTALL_PREFIX:PATH=C:\Git\med ia-processing-library\_deploy C:\Git\media-processing-library -- The C compiler identification is unknown -- The CXX compiler identification is unknown CMake Error at CMakeLists.txt:7 (project): No CMAKE_C_COMPILER could be found. CMake Error at CMakeLists.txt:7 (project): No CMAKE_CXX_COMPILER could be found. -- Configuring incomplete, errors occurred! See also C:/Git/media-processing-library/_build_v120_x86/CMakeFiles/CMakeOutput.log. See also C:/Git/media-processing-library/_build_v120_x86/CMakeFiles/CMakeError.log. Could you please point me to the code which looks up Visual Studio or the CL.exe compiler? How would you debug this problem? Thanks, Gregor The system is: Windows - 6.1 - AMD64 Compiling the C compiler identification source file CMakeCCompilerId.c failed. Compiler: Build flags: Id flags: The output was: The system cannot find the file specified Compiling the CXX compiler identification source file CMakeCXXCompilerId.cpp failed. Compiler: Build flags: Id flags: The output was: The system cannot find the file specified -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
[CMake] cmake: Duplicate file name conflict
Dear all, I came across a problem, for me it seems that cmake does not allow header files to be have the same name. Or am I doing something wrong? I have two projects, a library and an application. Both have files with similar content, but the same file names. I am using cmake to compile the app and the aim is that cmake also compiles the library if it doesn't yet exist. I was stuck for a few days on that problem until I figured out that it was due to the same file names. When renaming the files in my application it builds correctly. Before I switched to cmake a week ago, I used qmake integrated into Qt Creator, and it compiled just fine. Is it wanted behavior, that cmake does not allow the same file names? Am I doing something wrong? Altough it works with renaming the files I would like to find a cleaner way that prevents this from happening in the future, having same file names is nothing you can prevent if you work in a team. I hope you are able to help me, Jan -- Jan -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
Re: [cmake-developers] [PATCH] Option CMAKE_INSTALL_COMPONENTS and IFW installer
06.07.2015, 21:01, Brad King brad.k...@kitware.com: On 07/03/2015 09:09 AM, Konstantin Podsvirov wrote: About 6 months ago I started a topic cmake-install-components. Today I am ready to share the results. Great, thanks! The changes look good except for comments below. So as not to disturb those who do not need it I have added the option CMAKE_INSTALL_COMPONENTS, which by default is set to OFF. Please rename this to CMake_INSTALL_COMPONENTS. We've started a convention of using CMake_ options for affecting the build of CMake itself and CMAKE_ for general CMake-defined options that could be used by any project. Done! It's just. When I was choosing a name for the option in SPHINX documentation I have not found of such recommendations. In QtDialog variable CMake_GUI_DISTRIBUTE_WITH_Qt_LGPl to install the license. I have considered this option in the installer, but it is not declared as optional in the framework of the CMake project. In this hunk: -install(TARGETS cmake cpack ctest DESTINATION bin) +# Install tools + +set(_tools cmake cpack ctest) + if(APPLE) - install(TARGETS cmakexbuild DESTINATION bin) + list(APPEND _tools cmakexbuild) endif() +foreach(_tool in ${_tools}) + install(TARGETS ${_tool} DESTINATION bin COMPONENT ${_tool}) +endforeach() The cmakexbuild tool is an implementation detail of cmake/ctest/cpack that must be installed along with them. Whatever that enforces those three components are required should cover cmakexbuild too. Done! I added cmakexbuild component in the group of Tools like cmake, ctest, and cpack. This should work for APPLE, but I have no way to check it out. Maybe someone can collect IFW installer on the APPLE platform? Thanks, -Brad The project has many minor installation instructions. They are all now accounted for and installed as Unspecified component that hide from the user's eyes. It is not excluded that eventually they will find the name of the component and the location of the installation tree. I used rebase. The last 8 commits in a branch on my server contain change of topic: http://git.podsvirov.pro/?p=kitware/cmake.git;a=shortlog;h=refs/heads/cmake-install-components I hope now will be able to apply the changes. -- Regards, Konstantin Podsvirov -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc3-896-g6e60ff5
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 6e60ff567461859f22b5e81003fe4dd2d6cabf5e (commit) via 3b60232ebcde69789a6c26f5c523ad107a7099c5 (commit) from c0e109d9bdbadc882abb8c10ae91c202f09e5fe2 (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=6e60ff567461859f22b5e81003fe4dd2d6cabf5e commit 6e60ff567461859f22b5e81003fe4dd2d6cabf5e Merge: c0e109d 3b60232 Author: Brad King brad.k...@kitware.com AuthorDate: Tue Jul 7 14:21:12 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Jul 7 14:21:12 2015 -0400 Merge topic 'preserve-generator-on-failure' into next 3b60232e cmake: Preserve cached CMAKE_GENERATOR when an error occurs (#15640) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3b60232ebcde69789a6c26f5c523ad107a7099c5 commit 3b60232ebcde69789a6c26f5c523ad107a7099c5 Author: Brad King brad.k...@kitware.com AuthorDate: Tue Jul 7 14:12:38 2015 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Tue Jul 7 14:12:38 2015 -0400 cmake: Preserve cached CMAKE_GENERATOR when an error occurs (#15640) Since commit v2.4.0~4158 (When the initially configured generator is invalid, allow the user to change the generator without deleting the cache by hand, 2003-05-13) we remove CMAKE_GENERATOR from the cache if an error occurs and CMAKE_MAKE_PROGRAM is not cached. This worked at the time because all generators initialized the CMAKE_MAKE_PROGRAM cache entry. Since commit v3.0.0-rc1~260^2~4 (VS: Switch to internal CMAKE_MAKE_PROGRAM lookup by generators, 2013-11-15) and commit v3.2.0-rc1~39^2 (Xcode: Switch to internal CMAKE_MAKE_PROGRAM lookup by generator, 2015-01-28) the VS and Xcode generators no longer store CMAKE_MAKE_PROGRAM in the cache. Therefore any error during generation would wipe out CMAKE_GENERATOR from the cache and cause the next configuration to choose a default generator. Simply drop the behavior introduced by the original commit and always preserve CMAKE_GENERATOR. Since the time that behavior was introduced a lot more state is now saved in CMakeCache.txt and CMakeFiles/ during the initial configuration so it is not safe to change generators without starting fresh anyway. diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 0570399..7bf3832 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -1439,19 +1439,6 @@ int cmake::ActualConfigure() } } - if(cmSystemTools::GetFatalErrorOccured()) -{ -const char* makeProgram = -this-State-GetInitializedCacheValue(CMAKE_MAKE_PROGRAM); -if (!makeProgram || cmSystemTools::IsOff(makeProgram)) - { - // We must have a bad generator selection. Wipe the cache entry so the - // user can select another. - this-State-RemoveCacheEntry(CMAKE_GENERATOR); - this-State-RemoveCacheEntry(CMAKE_EXTRA_GENERATOR); - } -} - cmMakefile* mf=this-GlobalGenerator-GetLocalGenerators()[0]-GetMakefile(); if (mf-IsOn(CTEST_USE_LAUNCHERS) !this-State-GetGlobalProperty(RULE_LAUNCH_COMPILE)) --- Summary of changes: Source/cmake.cxx | 13 - 1 file changed, 13 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[CMake] linking static libs into shared libs on Linux
Hello, I am the technical lead for x265 (HEVC encoder) and we have used cmake successfully since the beginning of the project. There are a few rough edges that we've had to work around (uninstall rules, yasm support in MSVC, etc) but in general it has worked pretty well. x265 can support a number of bit-depth options, but these are compile time decisions. You must chose at build time whether the encoder will use 8bit, 10bit, or 12bit color samples internally. Recently we've resolved the naming conflicts and thus allow these multiple builds of libx265 to be linked together into a single binary. The way the multilib build process currently works is it creates 8bit/ 10bit/ and 12bit/ folders, then runs cmake in each seperately (with different options) so there are three distinct build folders. It builds 10bit and 12bit first, outputting only static libraries, then finally it builds the 8bit folder and adds the 10bit and 12bit static libraries to the 8bit shared library link target. This works well on Windows and Mac but on x86_64 Linux I get this error: /bin/ld: common/CMakeFiles/common.dir/x86/pixel-a.asm.o: relocation R_X86_64_PC32 against symbol `x265_pw_1' can not be used when making a shared object; recompile with -fPIC (in a nutshell, the 10bit and 12bit static libs are no longer position independent) I figure there are multiple potential solutions for this and would welcome pointers for any of them 1 - is there a way for the project to re-include itself? If so we could have the 8bit build simply build the 10 and 12bit object libraries and link with those directly and bypass the creation of static libraries. This would perhaps be optimal since you would end up with a single Makefile driving the whole build. 2 - is there some invocation that will force cmake to build the static libraries such that they are still safe for linking into a shared library? I've already tried these unsuccessfully: set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) set_target_properties(x265-static PROPERTIES POSITION_INDEPENDENT_CODE TRUE) set_target_properties(x265-static PROPERTIES LINK_FLAGS -fPIC) 3 - is there another intermediate format that cmake can output that preserves -fPIC, or some way to access the object libraries of the other external builds? 4 - is there any post-processing that can be done on the static libs to make them safe for shared libs again (guessing this is not likely) (note: I'm building on Centos 7, but this does not appear to be distribution dependent, and I've tried cmake 2.8.11 and 3.2.3) Thanks -- Steve Borho PS: Our source code is at https://bitbucket.org/multicoreware/x265 -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
Re: [CMake] linking static libs into shared libs on Linux
On Tuesday, July 07, 2015 14:36:25 Steve Borho wrote: Hello, I am the technical lead for x265 (HEVC encoder) and we have used cmake successfully since the beginning of the project. There are a few rough edges that we've had to work around (uninstall rules, yasm support in MSVC, etc) but in general it has worked pretty well. x265 can support a number of bit-depth options, but these are compile time decisions. You must chose at build time whether the encoder will use 8bit, 10bit, or 12bit color samples internally. Recently we've resolved the naming conflicts and thus allow these multiple builds of libx265 to be linked together into a single binary. The way the multilib build process currently works is it creates 8bit/ 10bit/ and 12bit/ folders, then runs cmake in each seperately (with different options) so there are three distinct build folders. It builds 10bit and 12bit first, outputting only static libraries, then finally it builds the 8bit folder and adds the 10bit and 12bit static libraries to the 8bit shared library link target. This works well on Windows and Mac but on x86_64 Linux I get this error: /bin/ld: common/CMakeFiles/common.dir/x86/pixel-a.asm.o: relocation R_X86_64_PC32 against symbol `x265_pw_1' can not be used when making a shared object; recompile with -fPIC (in a nutshell, the 10bit and 12bit static libs are no longer position independent) I figure there are multiple potential solutions for this and would welcome pointers for any of them 1 - is there a way for the project to re-include itself? If so we could have the 8bit build simply build the 10 and 12bit object libraries and link with those directly and bypass the creation of static libraries. This would perhaps be optimal since you would end up with a single Makefile driving the whole build. 2 - is there some invocation that will force cmake to build the static libraries such that they are still safe for linking into a shared library? I've already tried these unsuccessfully: set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) set_target_properties(x265-static PROPERTIES POSITION_INDEPENDENT_CODE TRUE) set_target_properties(x265-static PROPERTIES LINK_FLAGS -fPIC) 3 - is there another intermediate format that cmake can output that preserves -fPIC, or some way to access the object libraries of the other external builds? 4 - is there any post-processing that can be done on the static libs to make them safe for shared libs again (guessing this is not likely) did you already have a look at the object libraries (created using add_library(... OBJECT...) ? Those basically just build the object files, and can later be used to link into other targets. Alex -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
Re: [CMake] linking static libs into shared libs on Linux
On 07/07, Alexander Neundorf wrote: On Tuesday, July 07, 2015 14:36:25 Steve Borho wrote: Hello, I am the technical lead for x265 (HEVC encoder) and we have used cmake successfully since the beginning of the project. There are a few rough edges that we've had to work around (uninstall rules, yasm support in MSVC, etc) but in general it has worked pretty well. x265 can support a number of bit-depth options, but these are compile time decisions. You must chose at build time whether the encoder will use 8bit, 10bit, or 12bit color samples internally. Recently we've resolved the naming conflicts and thus allow these multiple builds of libx265 to be linked together into a single binary. The way the multilib build process currently works is it creates 8bit/ 10bit/ and 12bit/ folders, then runs cmake in each seperately (with different options) so there are three distinct build folders. It builds 10bit and 12bit first, outputting only static libraries, then finally it builds the 8bit folder and adds the 10bit and 12bit static libraries to the 8bit shared library link target. This works well on Windows and Mac but on x86_64 Linux I get this error: /bin/ld: common/CMakeFiles/common.dir/x86/pixel-a.asm.o: relocation R_X86_64_PC32 against symbol `x265_pw_1' can not be used when making a shared object; recompile with -fPIC (in a nutshell, the 10bit and 12bit static libs are no longer position independent) I figure there are multiple potential solutions for this and would welcome pointers for any of them 1 - is there a way for the project to re-include itself? If so we could have the 8bit build simply build the 10 and 12bit object libraries and link with those directly and bypass the creation of static libraries. This would perhaps be optimal since you would end up with a single Makefile driving the whole build. 2 - is there some invocation that will force cmake to build the static libraries such that they are still safe for linking into a shared library? I've already tried these unsuccessfully: set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) set_target_properties(x265-static PROPERTIES POSITION_INDEPENDENT_CODE TRUE) set_target_properties(x265-static PROPERTIES LINK_FLAGS -fPIC) 3 - is there another intermediate format that cmake can output that preserves -fPIC, or some way to access the object libraries of the other external builds? 4 - is there any post-processing that can be done on the static libs to make them safe for shared libs again (guessing this is not likely) did you already have a look at the object libraries (created using add_library(... OBJECT...) ? Those basically just build the object files, and can later be used to link into other targets. We use object libraries internally, but I don't know how the 8bit build can access the object libraries from the 10bit or 12bit builds. -- Steve Borho -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
[CMake] Building OpenCV on Mac OS X Yosemite with CMake
Hi, I've been set up with OpenCV for about a month now (I'm using it on Mac and on Android too), but I recently tried rebuilding OpenCV on both Mac and Android and I haven't been able to due to multiple CMake errors. Here's what I see when I try building: cd opencv/platforms rm -rf build_android_arm sh ./scripts/cmake_android_arm.sh CMake Error at platforms/android/android.toolchain.cmake:530 (message): It is not possible to change the path to the NDK on subsequent CMake run. You must remove all generated files from your build folder first. Call Stack (most recent call first): /opt/local/share/cmake-3.2/Modules/CMakeDetermineSystem.cmake:98 (include) CMakeLists.txt:88 (project) CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. Missing variable is: CMAKE_CXX_COMPILER_ENV_VAR CMake Error: Could not find cmake module file: /Users/nodlabs/nod/src/thirdparty/opencv/CMakeFiles/3.2.3/CMakeCXXCompiler.cmake CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. Missing variable is: CMAKE_C_COMPILER_ENV_VAR CMake Error: Could not find cmake module file: /Users/nodlabs/nod/src/thirdparty/opencv/CMakeFiles/3.2.3/CMakeCCompiler.cmake -- Configuring incomplete, errors occurred! Can anybody please shed light on what's going on? I'm not sure how this has been working just fine and doesn't anymore. I tried reinstalling the android-ndk from scratch, but that didn't work either. -- View this message in context: http://cmake.3232098.n2.nabble.com/Building-OpenCV-on-Mac-OS-X-Yosemite-with-CMake-tp7590991.html Sent from the CMake mailing list archive at Nabble.com. -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
Re: [CMake] linking static libs into shared libs on Linux
On Tue, Jul 7, 2015 at 2:25 PM, Steve Borho st...@borho.org wrote: We're already adding -fPIC to the compile flags for the two object libraries. This way one set of objects can be used to output the shared library and the static library. So the C++ files are already compiled with -fPIC. It is only a problem when we need to link a static library from one build into the shared library of another build. The static library itself no longer supports PIC. Really? I didn't think ar was in the habit of modifying machine code like that. At this point maybe the thing to do is make a toy example that reproduces the problem. (Ideally something truly stipped down, like https://github.com/dankegel/winezeug/tree/master/cmake_examples/ex7 ) - Dan -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
[CMake] Downloading several files with ExternalProject_Add
Hello! I would like to download and compile a pair of C files (foo.h, foo.c) thanks to the ExternalProject_Add function. However, only one URL can be provided. What is the cleanest way to handle such a case? Cheers, Cédric -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
[Cmake-commits] CMake branch, master, updated. v3.3.0-rc3-353-g6ece2df
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 6ece2df941e75bfbcbfc4aa510ed92c4e71de35d (commit) via b37fb49646909b489a062088ed5aa1e88d896f83 (commit) via 6dd08e5fe0fffc11c0f6e6d7633b692703f59f4f (commit) from 86bbcdfeb8ca692c5af9e3f29887cb82de9260b7 (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 - --- Summary of changes: hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc3-894-gc0e109d
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 c0e109d9bdbadc882abb8c10ae91c202f09e5fe2 (commit) via 6ece2df941e75bfbcbfc4aa510ed92c4e71de35d (commit) via b37fb49646909b489a062088ed5aa1e88d896f83 (commit) via 6dd08e5fe0fffc11c0f6e6d7633b692703f59f4f (commit) from 5dd34e3888edd458d119c9f742c381eb6b06afcb (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=c0e109d9bdbadc882abb8c10ae91c202f09e5fe2 commit c0e109d9bdbadc882abb8c10ae91c202f09e5fe2 Merge: 5dd34e3 6ece2df Author: Brad King brad.k...@kitware.com AuthorDate: Tue Jul 7 10:01:23 2015 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Tue Jul 7 10:01:23 2015 -0400 Merge branch 'master' into next --- Summary of changes: hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
Re: [cmake-developers] PATCH: add subcommand string(APPEND)
On 07/06/2015 04:47 PM, Daniel Pfeifer wrote: OK, now with tests and release notes. Applied, thanks: string: add APPEND subcommand http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2b18cdca There is a debatable edge case: When a variable is not-set and zero elements are appended, do we expect the result to be a) not-set or b) an empty string? My current implementation considers appending zero elements a no-op, i.e. it follows approach a). The list(APPEND) command is a no-op when nothing is given, so this would be consistent with that. -Brad -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc3-881-g5c0b437
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 5c0b4377a23bf3abf11ad23cbac6f542ad09195e (commit) via 2b18cdcaba48ffeee753d97d8241dbf2a8333493 (commit) from 485590e8b15a3f58d85bdf8c741ffce9a3d072d9 (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=5c0b4377a23bf3abf11ad23cbac6f542ad09195e commit 5c0b4377a23bf3abf11ad23cbac6f542ad09195e Merge: 485590e 2b18cdc Author: Brad King brad.k...@kitware.com AuthorDate: Tue Jul 7 09:35:08 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Jul 7 09:35:08 2015 -0400 Merge topic 'string-append' into next 2b18cdca string: add APPEND subcommand http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2b18cdcaba48ffeee753d97d8241dbf2a8333493 commit 2b18cdcaba48ffeee753d97d8241dbf2a8333493 Author: Daniel Pfeifer dan...@pfeifer-mail.de AuthorDate: Mon Jul 6 22:28:04 2015 +0200 Commit: Brad King brad.k...@kitware.com CommitDate: Tue Jul 7 09:23:21 2015 -0400 string: add APPEND subcommand diff --git a/Help/command/string.rst b/Help/command/string.rst index 34c1b61..bc4399c 100644 --- a/Help/command/string.rst +++ b/Help/command/string.rst @@ -15,6 +15,7 @@ String operations. string(REPLACE match_string replace_string output variable input [input...]) + string(APPEND string variable [input...]) string(CONCAT output variable [input...]) string(MD5|SHA1|SHA224|SHA256|SHA384|SHA512 output variable input) @@ -55,6 +56,8 @@ through argument parsing. ``REPLACE`` will replace all occurrences of ``match_string`` in the input with ``replace_string`` and store the result in the output. +``APPEND`` will append all the input arguments to the string. + ``CONCAT`` will concatenate all the input arguments together and store the result in the named output variable. diff --git a/Help/release/dev/string-append.rst b/Help/release/dev/string-append.rst new file mode 100644 index 000..190b51e --- /dev/null +++ b/Help/release/dev/string-append.rst @@ -0,0 +1,4 @@ +string-append +- + +* The :command:`string` command learned a new ``APPEND`` subcommand. diff --git a/Source/cmStringCommand.cxx b/Source/cmStringCommand.cxx index edc6afc..efc1f16 100644 --- a/Source/cmStringCommand.cxx +++ b/Source/cmStringCommand.cxx @@ -74,6 +74,10 @@ bool cmStringCommand { return this-HandleLengthCommand(args); } + else if(subCommand == APPEND) +{ +return this-HandleAppendCommand(args); +} else if(subCommand == CONCAT) { return this-HandleConcatCommand(args); @@ -730,6 +734,34 @@ bool cmStringCommand } // +bool cmStringCommand::HandleAppendCommand(std::vectorstd::string const args) +{ + if(args.size() 2) +{ +this-SetError(sub-command APPEND requires at least one argument.); +return false; +} + + // Skip if nothing to append. + if(args.size() 3) +{ +return true; +} + + const std::string variable = args[1]; + + std::string value; + const char* oldValue = this-Makefile-GetDefinition(variable); + if(oldValue) +{ +value = oldValue; +} + value += cmJoin(cmRange(args).advance(2), std::string()); + this-Makefile-AddDefinition(variable, value.c_str()); + return true; +} + +// bool cmStringCommand ::HandleConcatCommand(std::vectorstd::string const args) { diff --git a/Source/cmStringCommand.h b/Source/cmStringCommand.h index 9c75095..3ed17eb 100644 --- a/Source/cmStringCommand.h +++ b/Source/cmStringCommand.h @@ -67,6 +67,7 @@ protected: bool HandleReplaceCommand(std::vectorstd::string const args); bool HandleLengthCommand(std::vectorstd::string const args); bool HandleSubstringCommand(std::vectorstd::string const args); + bool HandleAppendCommand(std::vectorstd::string const args); bool HandleConcatCommand(std::vectorstd::string const args); bool HandleStripCommand(std::vectorstd::string const args); bool HandleRandomCommand(std::vectorstd::string const args); diff --git a/Tests/RunCMake/string/Append.cmake b/Tests/RunCMake/string/Append.cmake new file mode 100644 index 000..2634274 --- /dev/null +++ b/Tests/RunCMake/string/Append.cmake @@ -0,0 +1,58 @@ +set(out) +string(APPEND out) +if(DEFINED out) + message(FATAL_ERROR \string(APPEND out)\ set out to \${out}\) +endif() + +set(out ) +string(APPEND out) +if(NOT out STREQUAL ) + message(FATAL_ERROR \string(APPEND out)\ set out to \${out}\) +endif() + +set(out x) +string(APPEND
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc3-883-gc2786ef
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 c2786ef980d5f42dd5ab2cdfcba2bf7bef7e54f2 (commit) via 9ce7a663d6d50c6f2d7a3fbc76ed10c5af6a91a5 (commit) from 5c0b4377a23bf3abf11ad23cbac6f542ad09195e (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=c2786ef980d5f42dd5ab2cdfcba2bf7bef7e54f2 commit c2786ef980d5f42dd5ab2cdfcba2bf7bef7e54f2 Merge: 5c0b437 9ce7a66 Author: Brad King brad.k...@kitware.com AuthorDate: Tue Jul 7 09:39:46 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Jul 7 09:39:46 2015 -0400 Merge topic 'cmake-install-components' into next 9ce7a663 Utilities/Sphinx: Add CMake_OPTIONAL_COMPONENT macro http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9ce7a663d6d50c6f2d7a3fbc76ed10c5af6a91a5 commit 9ce7a663d6d50c6f2d7a3fbc76ed10c5af6a91a5 Author: Brad King brad.k...@kitware.com AuthorDate: Tue Jul 7 09:38:48 2015 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Tue Jul 7 09:38:48 2015 -0400 Utilities/Sphinx: Add CMake_OPTIONAL_COMPONENT macro When building this directory independently define the macro since we will not get the definition from the top level of the source tree. diff --git a/Utilities/Sphinx/CMakeLists.txt b/Utilities/Sphinx/CMakeLists.txt index 77a1255..1baca35 100644 --- a/Utilities/Sphinx/CMakeLists.txt +++ b/Utilities/Sphinx/CMakeLists.txt @@ -19,6 +19,9 @@ if(NOT CMake_SOURCE_DIR) include(${CMake_SOURCE_DIR}/Source/CMakeInstallDestinations.cmake) unset(CMAKE_DATA_DIR) unset(CMAKE_DATA_DIR CACHE) + macro(CMake_OPTIONAL_COMPONENT) +set(COMPONENT ) + endmacro() endif() project(CMakeHelp NONE) --- Summary of changes: Utilities/Sphinx/CMakeLists.txt |3 +++ 1 file changed, 3 insertions(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc3-879-g485590e
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 485590e8b15a3f58d85bdf8c741ffce9a3d072d9 (commit) via d7725a178bd498f7b50634490b6846ab9bb245f2 (commit) via ecca26855a786bb126341e7fba59557325e54f7b (commit) via c14f20f7dd827bd1b9164b3641db697776de85bf (commit) via c823f04e0cbc4753cc5b6d5c9f45b9f015a12568 (commit) via 7383e4d722809e2460bd4e87ea7fdbef5f64c303 (commit) via 2531b9095491966c7dbcf717a8b6d3dc72c0fb9f (commit) via 938bbc4352cf34532dc1f52998ec7d23532df765 (commit) via fd23fc57115d21ad08da6b131ec9abe141e583e5 (commit) from b8ef22891b9b2aae9a53be8b143fb332e31801f5 (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=485590e8b15a3f58d85bdf8c741ffce9a3d072d9 commit 485590e8b15a3f58d85bdf8c741ffce9a3d072d9 Merge: b8ef228 d7725a1 Author: Brad King brad.k...@kitware.com AuthorDate: Tue Jul 7 09:20:45 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Jul 7 09:20:45 2015 -0400 Merge topic 'cmake-install-components' into next d7725a17 CMake: Add cmakexbuild component as REQUIRED to Tools group for IFW installer ecca2685 CMake: optional show LGPLv2.1 license when install cmake-gui component c14f20f7 CMake: Fix Web Site shortcut in IFW installer for Windows c823f04e CMake: New option CMake_INSTALL_COMPONENTS 7383e4d7 CMake: Install COMPONENTs (sphinx-man) 2531b909 CMake: Install COMPONENTs (QtDialog) 938bbc43 CMake: Install COMPONENTs fd23fc57 CMake Nightly Date Stamp http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d7725a178bd498f7b50634490b6846ab9bb245f2 commit d7725a178bd498f7b50634490b6846ab9bb245f2 Author: Konstantin Podsvirov konstan...@podsvirov.pro AuthorDate: Tue Jul 7 09:28:25 2015 +0300 Commit: Brad King brad.k...@kitware.com CommitDate: Tue Jul 7 09:20:13 2015 -0400 CMake: Add cmakexbuild component as REQUIRED to Tools group for IFW installer diff --git a/CMakeCPack.cmake b/CMakeCPack.cmake index 54816ec..ce10ad0 100644 --- a/CMakeCPack.cmake +++ b/CMakeCPack.cmake @@ -68,6 +68,9 @@ if(EXISTS ${CMAKE_ROOT}/Modules/CPack.cmake) # Components if(CMake_INSTALL_COMPONENTS) set(_CPACK_IFW_COMPONENTS_ALL cmake ctest cpack) +if(APPLE) + list(APPEND _CPACK_IFW_COMPONENTS_ALL cmakexbuild) +endif() if(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME) set(_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME}) diff --git a/CMakeCPackOptions.cmake.in b/CMakeCPackOptions.cmake.in index 7beda8c..a1e425a 100644 --- a/CMakeCPackOptions.cmake.in +++ b/CMakeCPackOptions.cmake.in @@ -102,6 +102,15 @@ if(CPACK_GENERATOR MATCHES IFW) set(CPACK_IFW_COMPONENT_CPACK_PRIORITY 87) set(CPACK_IFW_COMPONENT_CPACK_VERSION @_CPACK_IFW_PACKAGE_VERSION@) + set(CPACK_COMPONENT_CMAKEXBUILD_DISPLAY_NAME cmakexbuild) + set(CPACK_COMPONENT_CMAKEXBUILD_DESCRIPTION +The \cmakexbuild\ executable is a wrapper program for \xcodebuild\) + set(CPACK_COMPONENT_CMAKEXBUILD_REQUIRED TRUE) + set(CPACK_COMPONENT_CMAKEXBUILD_GROUP Tools) + set(CPACK_IFW_COMPONENT_CMAKEXBUILD_NAME CMakeXBuild) + set(CPACK_IFW_COMPONENT_CMAKEXBUILD_PRIORITY 86) + set(CPACK_IFW_COMPONENT_CMAKEXBUILD_VERSION @_CPACK_IFW_PACKAGE_VERSION@) + # Dialogs set(CPACK_COMPONENT_GROUP_DIALOGS_DISPLAY_NAME Interactive Dialogs) set(CPACK_COMPONENT_GROUP_DIALOGS_DESCRIPTION http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ecca26855a786bb126341e7fba59557325e54f7b commit ecca26855a786bb126341e7fba59557325e54f7b Author: Konstantin Podsvirov konstan...@podsvirov.pro AuthorDate: Fri Jul 3 14:50:27 2015 +0300 Commit: Brad King brad.k...@kitware.com CommitDate: Tue Jul 7 09:16:44 2015 -0400 CMake: optional show LGPLv2.1 license when install cmake-gui component In IFW installer if cmake-gui component selected and CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL enabled license will be showed. diff --git a/CMakeCPack.cmake b/CMakeCPack.cmake index d7c6024..54816ec 100644 --- a/CMakeCPack.cmake +++ b/CMakeCPack.cmake @@ -82,6 +82,8 @@ if(EXISTS ${CMAKE_ROOT}/Modules/CPack.cmake) endif() if(BUILD_QtDialog) list(APPEND _CPACK_IFW_COMPONENTS_ALL cmake-gui) + set(_CPACK_IFW_COMPONENT_CMAKE-GUI_LICENSES set(CPACK_IFW_COMPONENT_CMAKE-GUI_LICENSES +\LGPLv2.1\ \${CMake_SOURCE_DIR}/Licenses/LGPLv2.1.txt\)) endif() if(SPHINX_MAN) list(APPEND _CPACK_IFW_COMPONENTS_ALL sphinx-man) @@ -100,6 +102,11 @@ if(EXISTS ${CMAKE_ROOT}/Modules/CPack.cmake) set(CPACK_COMPONENTS_ALL \${_CPACK_IFW_COMPONENTS_ALL}\)
[Cmake-commits] CMake branch, master, updated. v3.3.0-rc3-330-gd8a3208
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 d8a3208222b5cc717c927f0674152e0319b18fb0 (commit) via 02fd035689ab5bbb12a16f47bca214600a9a2fde (commit) from fd23fc57115d21ad08da6b131ec9abe141e583e5 (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=d8a3208222b5cc717c927f0674152e0319b18fb0 commit d8a3208222b5cc717c927f0674152e0319b18fb0 Merge: fd23fc5 02fd035 Author: Brad King brad.k...@kitware.com AuthorDate: Tue Jul 7 09:53:40 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Jul 7 09:53:40 2015 -0400 Merge topic 'osx-pythondotorg-libs' 02fd0356 FindPythonLibs: Find the python.org libraries (#14809) --- Summary of changes: Modules/FindPythonLibs.cmake | 39 --- 1 file changed, 32 insertions(+), 7 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v3.3.0-rc3-350-g86bbcdf
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 86bbcdfeb8ca692c5af9e3f29887cb82de9260b7 (commit) via edae40239e64f8ea6c03d28601c9e7403a354f65 (commit) from 2a249d734b16a05ac09bd44573b015e024ad276b (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=86bbcdfeb8ca692c5af9e3f29887cb82de9260b7 commit 86bbcdfeb8ca692c5af9e3f29887cb82de9260b7 Merge: 2a249d7 edae402 Author: Brad King brad.k...@kitware.com AuthorDate: Tue Jul 7 09:53:52 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Jul 7 09:53:52 2015 -0400 Merge topic 'tar-portability' edae4023 cmArchiveWrite: do not store sparse files when using standard tar formats --- Summary of changes: Source/cmArchiveWrite.cxx | 11 ++- Source/cmArchiveWrite.h |1 + 2 files changed, 11 insertions(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v3.3.0-rc3-348-g2a249d7
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 2a249d734b16a05ac09bd44573b015e024ad276b (commit) via e494763997c2e28ead2269f21a1c6a66a815ac2e (commit) from b33b5cd3170c08f61cbc05fc2a2e462a09703879 (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=2a249d734b16a05ac09bd44573b015e024ad276b commit 2a249d734b16a05ac09bd44573b015e024ad276b Merge: b33b5cd e494763 Author: Brad King brad.k...@kitware.com AuthorDate: Tue Jul 7 09:53:48 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Jul 7 09:53:48 2015 -0400 Merge topic 'ExternalProject-USES_TERMINAL' e4947639 ExternalProject: Added new USES_TERMINAL options --- Summary of changes: Help/release/dev/ExternalProject-USES_TERMINAL.rst |7 ++ Modules/ExternalProject.cmake | 83 + Tests/RunCMake/ExternalProject/RunCMakeTest.cmake |1 + .../ExternalProject/UsesTerminal-check.cmake | 97 Tests/RunCMake/ExternalProject/UsesTerminal.cmake | 45 + 5 files changed, 233 insertions(+) create mode 100644 Help/release/dev/ExternalProject-USES_TERMINAL.rst create mode 100644 Tests/RunCMake/ExternalProject/UsesTerminal-check.cmake create mode 100644 Tests/RunCMake/ExternalProject/UsesTerminal.cmake hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v3.3.0-rc3-332-g43fafab
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 43fafabd99304effee88d6f3efa148c2d1a50039 (commit) via 0a203db5dc4c654a488777acd785337dd24137e2 (commit) from d8a3208222b5cc717c927f0674152e0319b18fb0 (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=43fafabd99304effee88d6f3efa148c2d1a50039 commit 43fafabd99304effee88d6f3efa148c2d1a50039 Merge: d8a3208 0a203db Author: Brad King brad.k...@kitware.com AuthorDate: Tue Jul 7 09:53:42 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Jul 7 09:53:42 2015 -0400 Merge topic 'fortran-module-preprocessor-defs' 0a203db5 Fortran: Fix passing of preprocessor definitions to dependency scanner --- Summary of changes: Source/cmDependsFortran.cxx |2 +- Tests/Fortran/CMakeLists.txt |2 +- Tests/Fortran/test_preprocess.F90|2 ++ Tests/Fortran/test_preprocess_module.F90 |5 + 4 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 Tests/Fortran/test_preprocess_module.F90 hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc3-870-gb8ef228
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 b8ef22891b9b2aae9a53be8b143fb332e31801f5 (commit) via bf11253163b54f7c18b001cb00973a6341ee859b (commit) from 32b7617fd3128dc9f3c4e9198c80ad8ee9b1cc45 (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=b8ef22891b9b2aae9a53be8b143fb332e31801f5 commit b8ef22891b9b2aae9a53be8b143fb332e31801f5 Merge: 32b7617 bf11253 Author: Brad King brad.k...@kitware.com AuthorDate: Tue Jul 7 09:01:32 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Jul 7 09:01:32 2015 -0400 Merge topic 'add-apple-swift-language' into next bf112531 Add rudimentary support for the Apple Swift language with Xcode http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bf11253163b54f7c18b001cb00973a6341ee859b commit bf11253163b54f7c18b001cb00973a6341ee859b Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jul 6 16:15:49 2015 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Mon Jul 6 16:15:49 2015 -0400 Add rudimentary support for the Apple Swift language with Xcode Allow the `Swift` language to be enabled with the Xcode generator for Xcode = 6.1. Reject it on other generators and with older Xcode versions. Since Apple is the only vendor implementing the language right now, the compiler id can be just `Apple`. diff --git a/Help/release/dev/add-apple-swift-language.rst b/Help/release/dev/add-apple-swift-language.rst new file mode 100644 index 000..60ce5d8 --- /dev/null +++ b/Help/release/dev/add-apple-swift-language.rst @@ -0,0 +1,9 @@ +add-apple-swift-language + + +* CMake learned rudimentary support for the Apple Swift language. When using + the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable + the ``Swift`` language with the :command:`enable_language` command or the + :command:`project` command (this is an error with other generators or when + Xcode is too old). Then one may list ``.swift`` source files in targets + for compilation. diff --git a/Modules/CMakeDetermineSwiftCompiler.cmake b/Modules/CMakeDetermineSwiftCompiler.cmake new file mode 100644 index 000..bff1ae9 --- /dev/null +++ b/Modules/CMakeDetermineSwiftCompiler.cmake @@ -0,0 +1,53 @@ + +#= +# Copyright 2002-2015 Kitware, Inc. +# +# 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.) + +include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake) + +if(${CMAKE_GENERATOR} STREQUAL Xcode) + if(XCODE_VERSION VERSION_LESS 6.1) +message(FATAL_ERROR Swift language not supported by Xcode ${XCODE_VERSION}) + endif() + set(CMAKE_Swift_COMPILER_XCODE_TYPE sourcecode.swift) + _cmake_find_compiler_path(Swift) +else() + message(FATAL_ERROR Swift language not supported by \${CMAKE_GENERATOR}\ generator) +endif() + +# Build a small source file to identify the compiler. +if(NOT CMAKE_Swift_COMPILER_ID_RUN) + set(CMAKE_Swift_COMPILER_ID_RUN 1) + + list(APPEND CMAKE_Swift_COMPILER_ID_MATCH_VENDORS Apple) + set(CMAKE_Swift_COMPILER_ID_MATCH_VENDOR_REGEX_Apple com.apple.xcode.tools.swift.compiler) + + set(CMAKE_Swift_COMPILER_ID_TOOL_MATCH_REGEX \nCompileSwiftSources[^\n]*(\n[ \t]+[^\n]*)*\n[ \t]+([^ \t\r\n]+)[^\r\n]* -c[^\r\n]*CompilerIdSwift/CompilerId/main.swift) + set(CMAKE_Swift_COMPILER_ID_TOOL_MATCH_INDEX 2) + + # Try to identify the compiler. + set(CMAKE_Swift_COMPILER_ID) + include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake) + CMAKE_DETERMINE_COMPILER_ID(Swift CompilerId/main.swift) +endif() + +if (NOT _CMAKE_TOOLCHAIN_LOCATION) + get_filename_component(_CMAKE_TOOLCHAIN_LOCATION ${CMAKE_Swift_COMPILER} PATH) +endif () + +include(CMakeFindBinUtils) + +# configure variables set in this file for fast reload later on +configure_file(${CMAKE_ROOT}/Modules/CMakeSwiftCompiler.cmake.in + ${CMAKE_PLATFORM_INFO_DIR}/CMakeSwiftCompiler.cmake + @ONLY + ) diff --git a/Modules/CMakeSwiftCompiler.cmake.in b/Modules/CMakeSwiftCompiler.cmake.in new file mode 100644 index 000..45f0a31 --- /dev/null +++ b/Modules/CMakeSwiftCompiler.cmake.in @@ -0,0
Re: [cmake-developers] [PATCH] Option CMAKE_INSTALL_COMPONENTS and IFW installer
On 07/07/2015 02:43 AM, Konstantin Podsvirov wrote: I used rebase. The last 8 commits in a branch on my server contain change of topic: I hope now will be able to apply the changes. Thanks! I've applied the changes with minor tweaks to the history: CMake: Install COMPONENTs http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=938bbc43 CMake: Install COMPONENTs (QtDialog) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2531b909 CMake: Install COMPONENTs (sphinx-man) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7383e4d7 CMake: New option CMake_INSTALL_COMPONENTS http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c823f04e CMake: Fix Web Site shortcut in IFW installer for Windows http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c14f20f7 CMake: optional show LGPLv2.1 license when install cmake-gui component http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ecca2685 CMake: Add cmakexbuild component as REQUIRED to Tools group for IFW installer http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d7725a17 Thanks, -Brad -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
Re: [cmake-developers] [PATCH] Option CMAKE_INSTALL_COMPONENTS and IFW installer
Hi, Brad! 07.07.2015, 16:21, Brad King brad.k...@kitware.com: On 07/07/2015 02:43 AM, Konstantin Podsvirov wrote: I used rebase. The last 8 commits in a branch on my server contain change of topic: I hope now will be able to apply the changes. Thanks! I've applied the changes with minor tweaks to the history... Glad to hear :-) I Apologize for the macro CMAKE_OPTIONAL_COMPONENT... With these changes IFW installer will become even more beautiful! Once the code gets merged into the master, I will present an online update for wanting to look, but not wanting to build. By the way, nothing wrong that I build and put on public display code branch master using IFW installer? I don't see malicious intent. If someone doesn't like it, please let me know. -- Regards, Konstantin Podsvirov -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
Re: [cmake-developers] [PATCH] Option CMAKE_INSTALL_COMPONENTS and IFW installer
On 07/07/2015 09:39 AM, Konstantin Podsvirov wrote: By the way, nothing wrong that I build and put on public display code branch master using IFW installer? That's fine with us! Thanks, -Brad -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc3-890-g5dd34e3
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 5dd34e3888edd458d119c9f742c381eb6b06afcb (commit) via 86bbcdfeb8ca692c5af9e3f29887cb82de9260b7 (commit) via 2a249d734b16a05ac09bd44573b015e024ad276b (commit) via b33b5cd3170c08f61cbc05fc2a2e462a09703879 (commit) via 18fdf13192ba1f1e8ac84b29f44d3d0b0549607e (commit) via 43fafabd99304effee88d6f3efa148c2d1a50039 (commit) via d8a3208222b5cc717c927f0674152e0319b18fb0 (commit) from c2786ef980d5f42dd5ab2cdfcba2bf7bef7e54f2 (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=5dd34e3888edd458d119c9f742c381eb6b06afcb commit 5dd34e3888edd458d119c9f742c381eb6b06afcb Merge: c2786ef 86bbcdf Author: Brad King brad.k...@kitware.com AuthorDate: Tue Jul 7 09:54:01 2015 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Tue Jul 7 09:54:01 2015 -0400 Merge branch 'master' into next --- Summary of changes: hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v3.3.0-rc3-346-gb33b5cd
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 b33b5cd3170c08f61cbc05fc2a2e462a09703879 (commit) via d2475bb5c4488a0ef6015f13ee46ddc7a2e4455b (commit) via 238aac23514ecdae0d4edb71033e443f30e94158 (commit) via 329098a9a0e81e67bd760f53811cce582a3ebdcd (commit) via 91158a3369e0f06600a9ada93222535d53361035 (commit) via 821f91d6ab668bbfcfc645a872acf91f71f76ff1 (commit) via 30d44efaf86194271c70f90a8fafa94a7d56f92c (commit) via 6361f680568c81e0391fa56cf9a7f4637bd745dc (commit) via 94704d759cc8939f3573122d36d52c4598fd04ba (commit) via a8e54460243b0650145c8684f3d8deb8a712376a (commit) via dbafb01580a0d35e33e6577ad07002f4dd345236 (commit) via 27ff19a96a7d12f2ed6d9683ef733eff6378472a (commit) from 18fdf13192ba1f1e8ac84b29f44d3d0b0549607e (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=b33b5cd3170c08f61cbc05fc2a2e462a09703879 commit b33b5cd3170c08f61cbc05fc2a2e462a09703879 Merge: 18fdf13 d2475bb Author: Brad King brad.k...@kitware.com AuthorDate: Tue Jul 7 09:53:46 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Jul 7 09:53:46 2015 -0400 Merge topic 'refactor-cmListFileBacktrace' d2475bb5 cmListFileBacktrace: Implement in terms of cmState::Snapshot. 238aac23 cmListFile: Remove FilePath member from cmListFileContext. 329098a9 cmMakefile: Set the FilePath on the frame from the cmState. 91158a33 cmMakefile: Create intermediate variables for snapshot frames. 821f91d6 cmMakefile: Create a scoped context for parsing listfiles. 30d44efa cmMakefile: Access the execution list file from the cmState. 6361f680 cmState: Store execution context. 94704d75 cmState: Add GetCallStackParent method. a8e54460 cmState: Store snapshots for more different types. dbafb015 cmMakefile: Split CallStack into two pieces. 27ff19a9 cmLinkedTree: Add operator* to the iterator. --- Summary of changes: Source/cmFunctionCommand.cxx |1 + Source/cmLinkedTree.h| 18 +++ Source/cmListFileCache.cxx | 39 +++--- Source/cmListFileCache.h | 29 - Source/cmMacroCommand.cxx|2 +- Source/cmMakefile.cxx| 143 +- Source/cmMakefile.h | 27 ++-- Source/cmState.cxx | 140 - Source/cmState.h | 37 +- Source/cmVariableWatchCommand.cxx|1 - Tests/RunCMake/Syntax/BOM-UTF-16-BE-stderr.txt |4 +- Tests/RunCMake/Syntax/BOM-UTF-16-LE-stderr.txt |4 +- Tests/RunCMake/Syntax/BOM-UTF-32-BE-stderr.txt |4 +- Tests/RunCMake/Syntax/BOM-UTF-32-LE-stderr.txt |4 +- Tests/RunCMake/Syntax/BracketNoSpace0-stderr.txt |4 +- Tests/RunCMake/Syntax/BracketNoSpace1-stderr.txt |4 +- Tests/RunCMake/Syntax/BracketNoSpace2-stderr.txt |4 +- Tests/RunCMake/Syntax/BracketNoSpace3-stderr.txt |4 +- Tests/RunCMake/Syntax/BracketNoSpace4-stderr.txt |4 +- Tests/RunCMake/Syntax/BracketNoSpace5-stderr.txt |4 +- Tests/RunCMake/Syntax/ParenInENV-stderr.txt |4 +- Tests/RunCMake/Syntax/ParenNoSpace1-stderr.txt | 12 +- Tests/RunCMake/Syntax/StringNoSpace-stderr.txt |8 +- 23 files changed, 414 insertions(+), 87 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v3.3.0-rc3-354-gb98574d
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 b98574dab2f4fb28c53025c5204cc06ece7de0c2 (commit) from 6ece2df941e75bfbcbfc4aa510ed92c4e71de35d (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=b98574dab2f4fb28c53025c5204cc06ece7de0c2 commit b98574dab2f4fb28c53025c5204cc06ece7de0c2 Author: Kitware Robot kwro...@kitware.com AuthorDate: Wed Jul 8 00:01:05 2015 -0400 Commit: Kitware Robot kwro...@kitware.com CommitDate: Wed Jul 8 00:01:05 2015 -0400 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index d573101..1348c27 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 3) -set(CMake_VERSION_PATCH 20150707) +set(CMake_VERSION_PATCH 20150708) #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/mailman/listinfo/cmake-commits
Re: [CMake] linking static libs into shared libs on Linux
On Tue, Jul 7, 2015 at 12:36 PM, Steve Borho st...@borho.org wrote: /bin/ld: common/CMakeFiles/common.dir/x86/pixel-a.asm.o: relocation R_X86_64_PC32 against symbol `x265_pw_1' can not be used when making a shared object; recompile with -fPIC ... 2 - is there some invocation that will force cmake to build the static libraries such that they are still safe for linking into a shared library? I've already tried these unsuccessfully: set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) set_target_properties(x265-static PROPERTIES POSITION_INDEPENDENT_CODE TRUE) set_target_properties(x265-static PROPERTIES LINK_FLAGS -fPIC) 3 - is there another intermediate format that cmake can output that preserves -fPIC, or some way to access the object libraries of the other external builds? Try set_target_properties(x265-static PROPERTIES COMPILE_FLAGS -fPIC) Alternately, something like set (CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -fPIC) when compiling the files in question. -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
Re: [CMake] linking static libs into shared libs on Linux
On 07/07, Dan Kegel wrote: On Tue, Jul 7, 2015 at 12:36 PM, Steve Borho st...@borho.org wrote: /bin/ld: common/CMakeFiles/common.dir/x86/pixel-a.asm.o: relocation R_X86_64_PC32 against symbol `x265_pw_1' can not be used when making a shared object; recompile with -fPIC ... 2 - is there some invocation that will force cmake to build the static libraries such that they are still safe for linking into a shared library? I've already tried these unsuccessfully: set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) set_target_properties(x265-static PROPERTIES POSITION_INDEPENDENT_CODE TRUE) set_target_properties(x265-static PROPERTIES LINK_FLAGS -fPIC) 3 - is there another intermediate format that cmake can output that preserves -fPIC, or some way to access the object libraries of the other external builds? Try set_target_properties(x265-static PROPERTIES COMPILE_FLAGS -fPIC) Alternately, something like set (CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -fPIC) when compiling the files in question. sadly that didn't help. We're already adding -fPIC to the compile flags for the two object libraries. This way one set of objects can be used to output the shared library and the static library. So the C++ files are already compiled with -fPIC. It is only a problem when we need to link a static library from one build into the shared library of another build. The static library itself no longer supports PIC. -- Steve Borho -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
[cmake-developers] [CMake 0015640]: CMake converts generator from Visual Studio 9 2008 to Visual Studio 10 2010 if ZERO_CHECK fails
The following issue has been SUBMITTED. == http://public.kitware.com/Bug/view.php?id=15640 == Reported By:James Johnston Assigned To: == Project:CMake Issue ID: 15640 Category: CMake Reproducibility:always Severity: major Priority: normal Status: new == Date Submitted: 2015-07-07 11:04 EDT Last Modified: 2015-07-07 11:04 EDT == Summary:CMake converts generator from Visual Studio 9 2008 to Visual Studio 10 2010 if ZERO_CHECK fails Description: When using CMake with the Visual Studio 9 2008 generator, if the ZERO_CHECK project fails (e.g. due to a FATAL_ERROR or whatever in the CMakeLists.txt file), the entire CMake project is converted to Visual Studio 10 2010! Since the build tree is now in who-knows-what corrupted state, I have no choice but to delete the whole build tree and start over. It's quite time-consuming. The issue doesn't seem to be easily reproduced outside of the ZERO_CHECK project - e.g. I couldn't figure out how to reproduce it with cmake-gui.exe or cmake.exe. Steps to Reproduce: 1. Make a new source tree with the following CMakeLists.txt file: cmake_minimum_required(VERSION 3.3.0 FATAL_ERROR) project(TestProject) #message(FATAL_ERROR Error) 2. Create empty build tree directory as normal, cd to it, and run: cmake -GVisual Studio 9 2008 path to source tree 3. Open the generated Visual Studio solution in Visual C++ 2008. (I used Express version). 4. Edit the CMakeLists.txt and remove the comment on message so that the CMake configure will fail now. 5. Build the ZERO_CHECK project; note that it fails as expected. 6. Remark out the message from CMakeLists.txt so that CMake once again will configure ok. 7. Build the ZERO_CHECK project again. This time, ZERO_CHECK will convert everything over to Visual Studio 2010: * The CMake output shown in Visual Studio Output pane says Building for Visual Studio 10 2010. * The CMakeCache.txt holds: CMAKE_GENERATOR:INTERNAL=Visual Studio 10 2010 * Visual Studio 2008 refuses to reload the solution (created by a newer version of this application and cannot be opened) * Examination of the build tree shows a VS2010 solution and VCPROJ/VCXPROJ files side-by-side... Additional Information: The problem has been successfully reproduced with both CMake 3.3.0-rc1 and the nightly cmake-3.3.20150706-g32b76-win32-x86 build. == Issue History Date ModifiedUsername FieldChange == 2015-07-07 11:04 James Johnston 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/mailman/listinfo/cmake-developers