[Cmake-commits] CMake branch, master, updated. v3.5.0-rc3-143-g9f7a232
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 9f7a2328acac8fa52e4b46535c69611041571de0 (commit) from f8af218ea148baafcfc3db6ea5ba7389f5ea7206 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9f7a2328acac8fa52e4b46535c69611041571de0 commit 9f7a2328acac8fa52e4b46535c69611041571de0 Author: Kitware Robot <kwro...@kitware.com> AuthorDate: Fri Feb 26 00:01:05 2016 -0500 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Fri Feb 26 00:01:05 2016 -0500 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 2094bf2..c307854 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 5) -set(CMake_VERSION_PATCH 20160225) +set(CMake_VERSION_PATCH 20160226) #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-developers] Windows 10 Store App - deploy content
We have a pull request on our branch that might be helpful by make them extensions. https://github.com/Microsoft/CMake/pull/15 From: Robert Goulet [mailto:robert.gou...@autodesk.com] Sent: Thursday, February 25, 2016 07:48 To: cmake-developers@cmake.org; Gilles KhouzamSubject: Windows 10 Store App - deploy content Hi everyone, When creating a Windows 10 Store App using CMake, how do we add DLL files that we do not build (provided by external packages) to the list of content files for deployment if they get copied to the output directory by the INSTALL step? We currently use install commands to copy dependencies to binaries output directory, and it looks like this won't work for Windows 10 Store App because they need to be part of the content deployment? i.e. set_source_files_properties(${FILES} PROPERTIES VS_DEPLOYMENT_CONTENT 1) Any idea how I can solve that? Thanks! -Robert Goulet -- 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] check_cxx_compiler_flag fails silently for complex compiler paths
I believe check_cxx_compiler_flags is failing due to a long/complicated compiler path. Specifically my compiler is set to: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ CMake version: 3.4.3 Full trace output in gist where you can see lines warning of regex failure: https://gist.github.com/ahundt/88ce65bcc3c268acdd94 Here is the code snippet that fails: include(CheckCXXCompilerFlag) > check_cxx_compiler_flag(-std=c++11 COMPILER_SUPPORTS_CXX11) > check_cxx_compiler_flag(-std=c++0x COMPILER_SUPPORTS_CXX0X) > message(STATUS COMPILER_SUPPORTS_CXX11:${COMPILER_SUPPORTS_CXX11}) The above STATUS printout will be as if nothing was done that would set the variable COMPILER_SUPPORTS_CXX11. In other words it is empty. Here is the end of the trace: > /usr/local/Cellar/cmake/3.4.3/share/cmake/Modules/CheckCXXCompilerFlag.cmake(62): > set(CMAKE_REQUIRED_DEFINITIONS ${{SAFE_CMAKE_REQUIRED_DEFINITIONS}} ) > /Users/athundt/source/costar_ws/src/iai_kinect2/kinect2_registration/CMakeLists.txt(14): > message(STATUS > COMPILER_SUPPORTS_CXX11:${{COMPILER_SUPPORTS_CXX11}} ) > -- <<< /Users/athundt/source/costar_ws/src/iai_kinect2/kinect2_registration/CMakeLists.txt(15): > IF(COMPILER_SUPPORTS_CXX11 ) > /Users/athundt/source/costar_ws/src/iai_kinect2/kinect2_registration/CMakeLists.txt(17): > ELSEIF(COMPILER_SUPPORTS_CXX0X ) > /Users/athundt/source/costar_ws/src/iai_kinect2/kinect2_registration/CMakeLists.txt(19): > ELSE() > /Users/athundt/source/costar_ws/src/iai_kinect2/kinect2_registration/CMakeLists.txt(20): > MESSAGE(FATAL_ERROR The compiler ${{CMAKE_CXX_COMPILER}} has no C++11 > support. Please use a different C++ compiler. ) > CMake Error at CMakeLists.txt:20 (MESSAGE): > The compiler > > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ > has no C++11 support. Please use a different C++ compiler. > > -- Configuring incomplete, errors occurred! Cheers! Andrew Hundt -- 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] ExternalProject_Add with flexible install commands
I don't need to use indirection, but the reason I decided to try was to simplify my code. I could either wrap the ExternalProject_Add() call in a branch/switch or a single set() call. I am using your 'hack' thusly: set( libxxx_inst_comm INSTALL_COMMAND ${CMAKE_COMMAND} -E echo_append ) and it's working great for me. I have no problem documenting what i'm doing in my code. Thank you for your input! K From: David ColeSent: Thursday, February 25, 2016 10:57 AM To: Knox, Kent Cc: Petr Kmoch; cmake@cmake.org Subject: Re: [CMake] ExternalProject_Add with flexible install commands Do you need to do it indirectly through a variable like this? If you just use: INSTALL_COMMAND "" directly in the ExternalProject_Add call, it will work. If you really need to do it indirectly, there's probably a way, but it will also probably be more confusing for people reading the code in the future. Not sure it's worth that trade-off. You could always "cheat" and execute a no-op command for the install step rather than "skipping" it. i.e. INSTALL_COMMAND ${CMAKE_COMMAND} -E echo NoInstallStep ... HTH, David C. On Thu, Feb 25, 2016 at 11:03 AM, Knox, Kent wrote: > Hi Petr~ > > Thanks for your reply. > > > These set statements do not appear to work. Either the command 'installs' > the dependency, or an error pops up. > > > set( rocblas_INSTALL_COMMAND INSTALL_COMMAND "" ) > --> this installs the dependency > > set( rocblas_INSTALL_COMMAND INSTALL_COMMAND " " ) > --> /bin/sh: 1: : not found > > set( rocblas_INSTALL_COMMAND INSTALL_COMMAND ) > --> CMake Warning (dev) in CMakeLists.txt > --> Argument not separated from preceding token by whitespace. > > Kent > > > From: Petr Kmoch > Sent: Thursday, February 25, 2016 2:46 AM > To: Knox, Kent > Cc: cmake@cmake.org > Subject: Re: [CMake] ExternalProject_Add with flexible install commands > > Hi Kent, > > I believe it's not "empty quotes" that disables the install command, it's > the empty string. So you should not escape the quotes: > > ### > > # Default behavior is to NOT install library, empty quotes should disable > install > set( libxxx_inst_comm INSTALL_COMMAND "" ) > > # Build the library as an external project > ExternalProject_Add( libxxx > SOURCE_DIR ${PROJECT_SOURCE_DIR}/src > ${libxxx_inst_comm} > ) > ### > > Petr > > > -- > > 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 -- 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] Add target property VS_CONFIGURATION_TYPE to Visual Studio 10 target generator
On 02/25/2016 10:36 AM, fabian.o...@rohde-schwarz.com wrote: > thanks for your feedback. I added a test for the feature. Thanks. It looks like your mailer mangled the original patch. Please re-send both patches as attachments. 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.5.0-rc3-291-gca566cd
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 ca566cd242b363f43e313ab9cd16f9521db8fc7b (commit) via bc29ed542bbe8ff6b0bc178a7940a166680e002e (commit) from dd6870d0dab8ede1a2861016f052897f26541919 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ca566cd242b363f43e313ab9cd16f9521db8fc7b commit ca566cd242b363f43e313ab9cd16f9521db8fc7b Merge: dd6870d bc29ed5 Author: Joe SnyderAuthorDate: Thu Feb 25 13:14:08 2016 -0500 Commit: CMake Topic Stage CommitDate: Thu Feb 25 13:14:08 2016 -0500 Merge topic 'fix_coverage_file_searching' into next bc29ed54 CTest: Make coverage file selection more specific. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bc29ed542bbe8ff6b0bc178a7940a166680e002e commit bc29ed542bbe8ff6b0bc178a7940a166680e002e Author: Joseph Snyder AuthorDate: Wed Nov 18 13:01:22 2015 -0500 Commit: Joseph Snyder CommitDate: Thu Feb 25 13:01:37 2016 -0500 CTest: Make coverage file selection more specific. When performing some other testing, the globs for Blanket.js and Delphi code coverage are picking up unintended files. Change the query for the Delphi coverage to follow the naming convention, and check the second line of the found JSON files for certain text before parsing them as coverage files. diff --git a/Source/CTest/cmCTestCoverageHandler.cxx b/Source/CTest/cmCTestCoverageHandler.cxx index 2c2cd48..fd62696 100644 --- a/Source/CTest/cmCTestCoverageHandler.cxx +++ b/Source/CTest/cmCTestCoverageHandler.cxx @@ -983,7 +983,7 @@ int cmCTestCoverageHandler::HandleDelphiCoverage( std::string BinDir = this->CTest->GetBinaryDir(); - std::string coverageFile = BinDir+ "/*.html"; + std::string coverageFile = BinDir+ "/*(*.pas).html"; g.FindFiles(coverageFile); @@ -1017,9 +1017,25 @@ int cmCTestCoverageHandler::HandleBlanketJSCoverage( std::string coverageFile = SourceDir+ "/*.json"; cmsys::Glob g; std::vector files; + std::vector blanketFiles; g.FindFiles(coverageFile); files=g.GetFiles(); - if (!files.empty()) + // Ensure that the JSON files found are the result of the + // Blanket.js output. Check for the "node-jscoverage" + // string on the second line + std::string line; + for(unsigned int fileEntry=0;fileEntry CTest, HANDLER_VERBOSE_OUTPUT, "Found BlanketJS output JSON, Performing Coverage" << std::endl, --- Summary of changes: Source/CTest/cmCTestCoverageHandler.cxx | 20 ++-- 1 file changed, 18 insertions(+), 2 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[cmake-developers] [CMake 0015988]: No parse error message on double 'else' contruction
The following issue has been SUBMITTED. == https://public.kitware.com/Bug/view.php?id=15988 == Reported By:Ruslan Baratov Assigned To: == Project:CMake Issue ID: 15988 Category: CMake Reproducibility:always Severity: minor Priority: normal Status: new == Date Submitted: 2016-02-25 12:16 EST Last Modified: 2016-02-25 12:16 EST == Summary:No parse error message on double 'else' contruction Description: This invalid construction doesn't produce any error/warning message: if(A EQUAL B) message("1") else() # error, should be elseif with some condition message("2") else() message("3") # never will be printed endif() == Issue History Date ModifiedUsername FieldChange == 2016-02-25 12:16 Ruslan Baratov 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
Re: [CMake] ExternalProject_Add with flexible install commands
Do you need to do it indirectly through a variable like this? If you just use: INSTALL_COMMAND "" directly in the ExternalProject_Add call, it will work. If you really need to do it indirectly, there's probably a way, but it will also probably be more confusing for people reading the code in the future. Not sure it's worth that trade-off. You could always "cheat" and execute a no-op command for the install step rather than "skipping" it. i.e. INSTALL_COMMAND ${CMAKE_COMMAND} -E echo NoInstallStep ... HTH, David C. On Thu, Feb 25, 2016 at 11:03 AM, Knox, Kentwrote: > Hi Petr~ > > Thanks for your reply. > > > These set statements do not appear to work. Either the command 'installs' > the dependency, or an error pops up. > > > set( rocblas_INSTALL_COMMAND INSTALL_COMMAND "" ) > --> this installs the dependency > > set( rocblas_INSTALL_COMMAND INSTALL_COMMAND " " ) > --> /bin/sh: 1: : not found > > set( rocblas_INSTALL_COMMAND INSTALL_COMMAND ) > --> CMake Warning (dev) in CMakeLists.txt > --> Argument not separated from preceding token by whitespace. > > Kent > > > From: Petr Kmoch > Sent: Thursday, February 25, 2016 2:46 AM > To: Knox, Kent > Cc: cmake@cmake.org > Subject: Re: [CMake] ExternalProject_Add with flexible install commands > > Hi Kent, > > I believe it's not "empty quotes" that disables the install command, it's > the empty string. So you should not escape the quotes: > > ### > > # Default behavior is to NOT install library, empty quotes should disable > install > set( libxxx_inst_comm INSTALL_COMMAND "" ) > > # Build the library as an external project > ExternalProject_Add( libxxx > SOURCE_DIR ${PROJECT_SOURCE_DIR}/src > ${libxxx_inst_comm} > ) > ### > > Petr > > > -- > > 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 -- 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, next, updated. v3.5.0-rc3-289-gdd6870d
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 dd6870d0dab8ede1a2861016f052897f26541919 (commit) via 6c9586f9c7804c4560a43aa6a03e490374174550 (commit) from 5aa7416f9bebe43aa98d8ff66e416721706ecbd5 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dd6870d0dab8ede1a2861016f052897f26541919 commit dd6870d0dab8ede1a2861016f052897f26541919 Merge: 5aa7416 6c9586f Author: Brad KingAuthorDate: Thu Feb 25 11:44:44 2016 -0500 Commit: CMake Topic Stage CommitDate: Thu Feb 25 11:44:44 2016 -0500 Merge topic 'file-download-status-hash-mismatch' into next 6c9586f9 file(DOWNLOAD): Fill STATUS variable on hash mismatch (#15987) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6c9586f9c7804c4560a43aa6a03e490374174550 commit 6c9586f9c7804c4560a43aa6a03e490374174550 Author: Brad King AuthorDate: Thu Feb 25 11:28:07 2016 -0500 Commit: Brad King CommitDate: Thu Feb 25 11:40:50 2016 -0500 file(DOWNLOAD): Fill STATUS variable on hash mismatch (#15987) Although we fail with an error on a hash mismatch, it is not a fatal error so the script may continue processing. If the download itself had no error then report in the STATUS variable that the operation was not successful due to the hash mismatch. Suggested-by: Tobias Hieta diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx index b3557f9..1fa27eb 100644 --- a/Source/cmFileCommand.cxx +++ b/Source/cmFileCommand.cxx @@ -3300,6 +3300,15 @@ cmFileCommand::HandleDownloadCommand(std::vector const& args) << " status: [" << (int)res << ";\"" << ::curl_easy_strerror(res) << "\"]" << std::endl ; + + if(!statusVar.empty() && res == 0) +{ +std::string status = "1;HASH mismatch: " + "expected: " + expectedHash + + " actual: " + actualHash; +this->Makefile->AddDefinition(statusVar, status.c_str()); +} + this->SetError(oss.str()); return false; } diff --git a/Tests/RunCMake/file/DOWNLOAD-hash-mismatch-result.txt b/Tests/RunCMake/file/DOWNLOAD-hash-mismatch-result.txt new file mode 100644 index 000..d00491f --- /dev/null +++ b/Tests/RunCMake/file/DOWNLOAD-hash-mismatch-result.txt @@ -0,0 +1 @@ +1 diff --git a/Tests/RunCMake/file/DOWNLOAD-hash-mismatch-stderr.txt b/Tests/RunCMake/file/DOWNLOAD-hash-mismatch-stderr.txt new file mode 100644 index 000..406e315 --- /dev/null +++ b/Tests/RunCMake/file/DOWNLOAD-hash-mismatch-stderr.txt @@ -0,0 +1,12 @@ +^CMake Error at DOWNLOAD-hash-mismatch.cmake:[0-9]+ \(file\): + file DOWNLOAD HASH mismatch + +for file: \[.*/Tests/RunCMake/file/DOWNLOAD-hash-mismatch-build/hash-mismatch.txt\] + expected hash: \[0123456789abcdef0123456789abcdef01234567\] +actual hash: \[da39a3ee5e6b4b0d3255bfef95601890afd80709\] + status: \[0;"No error"\] + +Call Stack \(most recent call first\): + CMakeLists.txt:[0-9]+ \(include\) ++ +status='1;HASH mismatch: expected: 0123456789abcdef0123456789abcdef01234567 actual: da39a3ee5e6b4b0d3255bfef95601890afd80709'$ diff --git a/Tests/RunCMake/file/DOWNLOAD-hash-mismatch.cmake b/Tests/RunCMake/file/DOWNLOAD-hash-mismatch.cmake new file mode 100644 index 000..ca72692 --- /dev/null +++ b/Tests/RunCMake/file/DOWNLOAD-hash-mismatch.cmake @@ -0,0 +1,7 @@ +file(DOWNLOAD + "file://${CMAKE_CURRENT_SOURCE_DIR}/DOWNLOAD-hash-mismatch.txt" + ${CMAKE_CURRENT_BINARY_DIR}/hash-mismatch.txt + EXPECTED_HASH SHA1=0123456789abcdef0123456789abcdef01234567 + STATUS status + ) +message("status='${status}'") diff --git a/Tests/RunCMake/file/DOWNLOAD-hash-mismatch.txt b/Tests/RunCMake/file/DOWNLOAD-hash-mismatch.txt new file mode 100644 index 000..e69de29 diff --git a/Tests/RunCMake/file/RunCMakeTest.cmake b/Tests/RunCMake/file/RunCMakeTest.cmake index d3dfb1b..5f85bba 100644 --- a/Tests/RunCMake/file/RunCMakeTest.cmake +++ b/Tests/RunCMake/file/RunCMakeTest.cmake @@ -1,5 +1,6 @@ include(RunCMake) +run_cmake(DOWNLOAD-hash-mismatch) run_cmake(INSTALL-DIRECTORY) run_cmake(INSTALL-MESSAGE-bad) run_cmake(FileOpenFailRead) --- Summary of changes: Source/cmFileCommand.cxx |9 + .../DOWNLOAD-hash-mismatch-result.txt} |0 Tests/RunCMake/file/DOWNLOAD-hash-mismatch-stderr.txt | 12
Re: [CMake] ExternalProject_Add with flexible install commands
Hi Petr~ Thanks for your reply. These set statements do not appear to work. Either the command 'installs' the dependency, or an error pops up. set( rocblas_INSTALL_COMMAND INSTALL_COMMAND "" ) --> this installs the dependency set( rocblas_INSTALL_COMMAND INSTALL_COMMAND " " ) --> /bin/sh: 1: : not found set( rocblas_INSTALL_COMMAND INSTALL_COMMAND ) --> CMake Warning (dev) in CMakeLists.txt --> Argument not separated from preceding token by whitespace. Kent From: Petr KmochSent: Thursday, February 25, 2016 2:46 AM To: Knox, Kent Cc: cmake@cmake.org Subject: Re: [CMake] ExternalProject_Add with flexible install commands Hi Kent, I believe it's not "empty quotes" that disables the install command, it's the empty string. So you should not escape the quotes: ### # Default behavior is to NOT install library, empty quotes should disable install set( libxxx_inst_comm INSTALL_COMMAND "" ) # Build the library as an external project ExternalProject_Add( libxxx SOURCE_DIR ${PROJECT_SOURCE_DIR}/src ${libxxx_inst_comm} ) ### Petr -- 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] cmake documentation incomplete
I don't know about -B, but you can take advantage of the tool mode like this: cmake -E chdir path/to/build cmake [options] path/to/source Effectively you can use the chdir tool to spawn CMake with the working directory you want it to have. On Thu, Feb 25, 2016 at 9:37 AM, Vania Joloboffwrote: > Thanks Nicholas, > > Then if I run cmake from a shell script in working directory pwd > (and I do not want to cd) > can I tell cmake the first time to take the source > in path-to-source and do the build in path-to-build ? > > I have read there is an undocumented option -B to do this ? > > Vania > > > On 02/25/2016 04:16 PM, Nicholas Braden wrote: >> >> Yes, an existing build saves all the information it needs in the build >> cache. Once you have created a build, you never need to specify the >> source directory again. >> >> On Thu, Feb 25, 2016 at 9:13 AM, Vania Joloboff >> wrote: >>> >>> Hi, >>> >>> The cmake documentation says there are two alternatives >>> to start cmake >>> >>> cmake [] ( | ) >>> >>> But it does not explain nowhere the difference between the two... >>> Does the path-to-existing-build retrieve itself the source dir >>> and start like if it were invoked with path-to-source >>> from path-to-existing-build working directory ? >>> >>> Vania >>> >>> -- >>> >>> 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 > > -- 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] cmake documentation incomplete
Thanks Nicholas, Then if I run cmake from a shell script in working directory pwd (and I do not want to cd) can I tell cmake the first time to take the source in path-to-source and do the build in path-to-build ? I have read there is an undocumented option -B to do this ? Vania On 02/25/2016 04:16 PM, Nicholas Braden wrote: Yes, an existing build saves all the information it needs in the build cache. Once you have created a build, you never need to specify the source directory again. On Thu, Feb 25, 2016 at 9:13 AM, Vania Joloboffwrote: Hi, The cmake documentation says there are two alternatives to start cmake cmake [] ( | ) But it does not explain nowhere the difference between the two... Does the path-to-existing-build retrieve itself the source dir and start like if it were invoked with path-to-source from path-to-existing-build working directory ? Vania -- 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 -- 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] Add target property VS_CONFIGURATION_TYPE to Visual Studio 10 target generator
Hi Brad, thanks for your feedback. I added a test for the feature. Best regards, Fabian --- Tests/RunCMake/CMakeLists.txt | 5 + Tests/RunCMake/VS10Project/CMakeLists.txt | 3 +++ Tests/RunCMake/VS10Project/RunCMakeTest.cmake | 2 ++ .../VS10Project/VsConfigurationType-check.cmake| 24 ++ .../RunCMake/VS10Project/VsConfigurationType.cmake | 3 +++ Tests/RunCMake/VS10Project/foo.cpp | 1 + 6 files changed, 38 insertions(+) create mode 100644 Tests/RunCMake/VS10Project/CMakeLists.txt create mode 100644 Tests/RunCMake/VS10Project/RunCMakeTest.cmake create mode 100644 Tests/RunCMake/VS10Project/VsConfigurationType-check.cmake create mode 100644 Tests/RunCMake/VS10Project/VsConfigurationType.cmake create mode 100644 Tests/RunCMake/VS10Project/foo.cpp diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 0a388c5..81df69f 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -236,6 +236,11 @@ if("${CMAKE_GENERATOR}" MATCHES "Visual Studio [^6]") add_RunCMake_test(SolutionGlobalSections) endif() +if(MSVC AND MSVC_VERSION GREATER 1500) + # Visual Studio 2010 or newer + add_RunCMake_test(VS10Project) +endif() + if(XCODE_VERSION AND NOT "${XCODE_VERSION}" VERSION_LESS 3) add_RunCMake_test(XcodeProject -DXCODE_VERSION=${XCODE_VERSION}) endif() diff --git a/Tests/RunCMake/VS10Project/CMakeLists.txt b/Tests/RunCMake/VS10Project/CMakeLists.txt new file mode 100644 index 000..91baae7 --- /dev/null +++ b/Tests/RunCMake/VS10Project/CMakeLists.txt @@ -0,0 +1,3 @@ +cmake_minimum_required(VERSION 3.5.0) +project(${RunCMake_TEST} NONE) +include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/VS10Project/RunCMakeTest.cmake b/Tests/RunCMake/VS10Project/RunCMakeTest.cmake new file mode 100644 index 000..cc2cc2e --- /dev/null +++ b/Tests/RunCMake/VS10Project/RunCMakeTest.cmake @@ -0,0 +1,2 @@ +include(RunCMake) +run_cmake(VsConfigurationType) diff --git a/Tests/RunCMake/VS10Project/VsConfigurationType-check.cmake b/Tests/RunCMake/VS10Project/VsConfigurationType-check.cmake new file mode 100644 index 000..69df345 --- /dev/null +++ b/Tests/RunCMake/VS10Project/VsConfigurationType-check.cmake @@ -0,0 +1,24 @@ +set(vcProjectFile "${RunCMake_TEST_BINARY_DIR}/foo.vcxproj") +if(NOT EXISTS "${vcProjectFile}") + set(RunCMake_TEST_FAILED "Project file ${vcProjectFile} does not exist.") + return() +endif() + +set(propertyFound FALSE) +file(STRINGS "${vcProjectFile}" lines) +foreach(line IN LISTS lines) + if(line MATCHES "^ *([^<]*)$") +set(propertyFound TRUE) +set(expectedValue "MyValue") +set(actualValue ${CMAKE_MATCH_1}) +if(NOT (${actualValue} STREQUAL ${expectedValue})) + set(RunCMake_TEST_FAILED "ConfigurationType \"${actualValue}\" differs from expected value \"${expectedValue}\".") + return() +endif() + endif() +endforeach() + +if(NOT propertyFound) + set(RunCMake_TEST_FAILED "Property ConfigurationType not found in project file.") + return() +endif() diff --git a/Tests/RunCMake/VS10Project/VsConfigurationType.cmake b/Tests/RunCMake/VS10Project/VsConfigurationType.cmake new file mode 100644 index 000..a73dfe8 --- /dev/null +++ b/Tests/RunCMake/VS10Project/VsConfigurationType.cmake @@ -0,0 +1,3 @@ +enable_language(CXX) +add_library(foo foo.cpp) +set_target_properties(foo PROPERTIES VS_CONFIGURATION_TYPE "MyValue") diff --git a/Tests/RunCMake/VS10Project/foo.cpp b/Tests/RunCMake/VS10Project/foo.cpp new file mode 100644 index 000..2fb55ee --- /dev/null +++ b/Tests/RunCMake/VS10Project/foo.cpp @@ -0,0 +1 @@ +void foo() { } -- 2.7.1.windows.2 Von:Brad KingAn: fabian.o...@rohde-schwarz.com, Kopie: cmake-developers@cmake.org Datum: 24.02.2016 17:09 Betreff:Re: [cmake-developers] [PATCH] Add target property VS_CONFIGURATION_TYPE to Visual Studio 10 target generator On 02/22/2016 11:35 AM, fabian.o...@rohde-schwarz.com wrote: > The patch adds the target property VS_CONFIGURATION_TYPE. It allows to > set an arbitrary value to the "ConfigurationType" property > > This is useful if you want to build a Windows Kernel Mode Driver. This looks okay to me. Please extend the test suite to cover this feature. So far all VS features that we test have effects on the generation that we can test explicitly. In this case it looks like we might not be able to test actually building such a project. For that, take a look at these test directories: Tests/RunCMake/SolutionGlobalSections Tests/RunCMake/XcodeProject It tests running CMake and then parses the actual project file content to check that it is as expected. A similar test could be added for VS .vcxproj content testing and used to cover this feature. 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
Re: [CMake] cmake documentation incomplete
Yes, an existing build saves all the information it needs in the build cache. Once you have created a build, you never need to specify the source directory again. On Thu, Feb 25, 2016 at 9:13 AM, Vania Joloboffwrote: > Hi, > > The cmake documentation says there are two alternatives > to start cmake > > cmake [] ( | ) > > But it does not explain nowhere the difference between the two... > Does the path-to-existing-build retrieve itself the source dir > and start like if it were invoked with path-to-source > from path-to-existing-build working directory ? > > Vania > > -- > > 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 -- 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] cmake documentation incomplete
Hi, The cmake documentation says there are two alternatives to start cmake cmake [] ( | ) But it does not explain nowhere the difference between the two... Does the path-to-existing-build retrieve itself the source dir and start like if it were invoked with path-to-source from path-to-existing-build working directory ? Vania -- 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] file(SHA1) vs string(SHA1) consistency
Hi, Following code produce same SHA1 on Linux: cmake_minimum_required(VERSION 3.0) set(test_string "a\nb") set(test_file "test.file") string(SHA1 sha1_string "${test_string}") file(WRITE "${test_file}" "${test_string}") file(SHA1 "${test_file}" sha1_file) message("sha1:") message(" ${sha1_file}") message(" ${sha1_string}") result: sha1: fcd127ffa1016069006ad91f3f361248f9bdf272 fcd127ffa1016069006ad91f3f361248f9bdf272 but not same SHA1 on Windows: sha1: ec6cb5b8c69f8b476a380c9b6e38e18c2733ae7b fcd127ffa1016069006ad91f3f361248f9bdf272 I think this is because of DOS end of lines. Two thoughts: * file(SHA1) and string(SHA1) should be the same on same input string * since CMake is a cross-platform tool I think it make sense that command `file(WRITE "..." "a\nb")` produce identical files on all platforms -- 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 0015987]: STATUS variable to FILE(DOWNLOAD) does not consider HASH mismatch failures
The following issue has been SUBMITTED. == https://cmake.org/Bug/view.php?id=15987 == Reported By:Tobias Hieta Assigned To: == Project:CMake Issue ID: 15987 Category: CMake Reproducibility:always Severity: minor Priority: normal Status: new == Date Submitted: 2016-02-25 09:06 EST Last Modified: 2016-02-25 09:06 EST == Summary:STATUS variable to FILE(DOWNLOAD) does not consider HASH mismatch failures Description: This threw me for a bit of a loop when working with our cmake lists that download dependencies. It seems like the STATUS variable to file(download) only records errors if they happen when downloading the file. If the has mismatches the STATUS variable will still be set to 0 and "No error" as the error string. The only thing that does happen is that it prints a error message. This makes it very hard to handle errors where the HASH is not correct since you can't use the status variable to abort the the processing like: file(DOWNLOAD STATUS DL_STATUS) if(NOT DL_STATUS EQUAL 0) message(FATAL_ERROR "Failed") endif() I would expect the STATUS variable to be set to "1;HASH MISMATCH" or something when the has mismatches. == Issue History Date ModifiedUsername FieldChange == 2016-02-25 09:06 Tobias Hieta 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
[Cmake-commits] CMake branch, next, updated. v3.5.0-rc3-287-g5aa7416
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 5aa7416f9bebe43aa98d8ff66e416721706ecbd5 (commit) via f8af218ea148baafcfc3db6ea5ba7389f5ea7206 (commit) via c842411dc5a2123cdc9d949b67f8421379a4a928 (commit) via dd99bfff3a25668c2043e776d775f7ebaef82d03 (commit) from e2b8af58c0f4e497bd9a557a8eac7c53f974640a (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5aa7416f9bebe43aa98d8ff66e416721706ecbd5 commit 5aa7416f9bebe43aa98d8ff66e416721706ecbd5 Merge: e2b8af5 f8af218 Author: Brad KingAuthorDate: Thu Feb 25 09:00:42 2016 -0500 Commit: Brad King CommitDate: Thu Feb 25 09:00:42 2016 -0500 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.5.0-rc3-142-gf8af218
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 f8af218ea148baafcfc3db6ea5ba7389f5ea7206 (commit) via dc422d271e4504ebab2176e841480861a17d13e1 (commit) from c842411dc5a2123cdc9d949b67f8421379a4a928 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f8af218ea148baafcfc3db6ea5ba7389f5ea7206 commit f8af218ea148baafcfc3db6ea5ba7389f5ea7206 Merge: c842411 dc422d2 Author: Brad KingAuthorDate: Thu Feb 25 09:00:27 2016 -0500 Commit: CMake Topic Stage CommitDate: Thu Feb 25 09:00:27 2016 -0500 Merge topic 'vs14-debug-enum-older-toolsets' dc422d27 VS: Fix VS 2015 .vcxproj debug setting for older toolsets (#15986) --- Summary of changes: Source/cmVisualStudio10TargetGenerator.cxx | 27 +++ 1 file changed, 27 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, master, updated. v3.5.0-rc3-140-gc842411
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 c842411dc5a2123cdc9d949b67f8421379a4a928 (commit) via aff38945d64fc56026255c9cc3c1051529887d7b (commit) via 6ee6b17ed538989e38efb2eafb7f92c557eca71a (commit) from dd99bfff3a25668c2043e776d775f7ebaef82d03 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c842411dc5a2123cdc9d949b67f8421379a4a928 commit c842411dc5a2123cdc9d949b67f8421379a4a928 Merge: dd99bff aff3894 Author: Brad KingAuthorDate: Thu Feb 25 09:00:24 2016 -0500 Commit: CMake Topic Stage CommitDate: Thu Feb 25 09:00:24 2016 -0500 Merge topic 'AddNewEclipseVersions' aff38945 Eclipse: only add C/CXX macros if the language is enabled 6ee6b17e Eclipse: add newer version numbers --- Summary of changes: Modules/CMakeFindEclipseCDT4.cmake |4 Source/cmExtraEclipseCDT4Generator.cxx | 12 Source/cmExtraEclipseCDT4Generator.h |2 ++ 3 files changed, 14 insertions(+), 4 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.5.0-rc3-137-gdd99bff
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 dd99bfff3a25668c2043e776d775f7ebaef82d03 (commit) via 430251245e1d6bff24db128491d8c5b3e1bb8357 (commit) from 9b6fdbfb922d65794847fabb047c3045632829c0 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dd99bfff3a25668c2043e776d775f7ebaef82d03 commit dd99bfff3a25668c2043e776d775f7ebaef82d03 Merge: 9b6fdbf 4302512 Author: Brad KingAuthorDate: Thu Feb 25 09:00:21 2016 -0500 Commit: CMake Topic Stage CommitDate: Thu Feb 25 09:00:21 2016 -0500 Merge topic 'test-cmake_parse_arguments' 43025124 cmake_parse_arguments: Additional regression tests --- Summary of changes: .../cmake_parse_arguments/CornerCases.cmake| 20 .../cmake_parse_arguments/Initialization.cmake |9 + 2 files changed, 29 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.5.0-rc3-283-ge2b8af5
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 e2b8af58c0f4e497bd9a557a8eac7c53f974640a (commit) via f3ac06519f10ba535abe91dfd6e7074a366f5a14 (commit) via 9b6fdbfb922d65794847fabb047c3045632829c0 (commit) from 892a53437ff2f626fdc19b568dd80eeb7a0a81a5 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e2b8af58c0f4e497bd9a557a8eac7c53f974640a commit e2b8af58c0f4e497bd9a557a8eac7c53f974640a Merge: 892a534 f3ac065 Author: Brad KingAuthorDate: Thu Feb 25 08:50:53 2016 -0500 Commit: CMake Topic Stage CommitDate: Thu Feb 25 08:50:53 2016 -0500 Merge topic 'compiler-check-message' into next f3ac0651 Improve compiler check message on non-Make generators 9b6fdbfb CMake Nightly Date Stamp https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f3ac06519f10ba535abe91dfd6e7074a366f5a14 commit f3ac06519f10ba535abe91dfd6e7074a366f5a14 Author: Brad King AuthorDate: Thu Feb 25 08:25:35 2016 -0500 Commit: Brad King CommitDate: Thu Feb 25 08:29:41 2016 -0500 Improve compiler check message on non-Make generators When we check for a working compiler we print a message of the form: Check for working compiler: ... At one time CMAKE__COMPILER was not well-defined for all generators so we printed the generator name instead of the path to the compiler. Nowadays we always know the compiler, so update the message to print it unconditionally. This is more informative than the generator name, especially when a toolset (cmake -T) is used. Suggested-by: Gregor Jasny diff --git a/Modules/CMakeTestCompilerCommon.cmake b/Modules/CMakeTestCompilerCommon.cmake index d51b503..e0d45e7 100644 --- a/Modules/CMakeTestCompilerCommon.cmake +++ b/Modules/CMakeTestCompilerCommon.cmake @@ -13,9 +13,5 @@ # License text for the above reference.) function(PrintTestCompilerStatus LANG MSG) - if(CMAKE_GENERATOR MATCHES Make) -message(STATUS "Check for working ${LANG} compiler: ${CMAKE_${LANG}_COMPILER}${MSG}") - else() -message(STATUS "Check for working ${LANG} compiler using: ${CMAKE_GENERATOR}${MSG}") - endif() + message(STATUS "Check for working ${LANG} compiler: ${CMAKE_${LANG}_COMPILER}${MSG}") endfunction() --- Summary of changes: Modules/CMakeTestCompilerCommon.cmake |6 +- Source/CMakeVersion.cmake |2 +- 2 files changed, 2 insertions(+), 6 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
Re: [cmake-developers] C# support ready for review
Hi Gilles, good to hear C# support is working not only for me and some people are actually interested in it :-). Thanks for the patch, I already added to my github. All the changes make perfectly sense for me. Let me explain a bit more about things like hardcoding LangVersion in the module scripts etc. (in short, there is no reason for hardcoding langversion 3): The current C# support was developed by plain trial-and-error. I started out copying the CXX compiler module scripts, finding out the relevant/necessary variables, trying to find reasonable values etc. By starting with a copy of the CXX scripts I am quite sure there are some leftovers that do not make sense there. To adapt everything for C# I started by looking at a existing .csproj file and changing the target generator until everything went as expected. Initial values like the flags in CMakeCSharpInformation.cmake where copied as is from my first simple reference .csproj files. Also the special handling of .xaml, .xaml.cs and .Designer.cs files with the tags was just introduced when I realized I need it somewhere in our new project. Putting it all together I just want to say that the current state of development leaves room for a lot of improvement and if something seems like it could be done better, this is most probably the case. I really only pushed it to a level where I feel it's working well enough for me and I can focus on my actual job. The part that probably needs most additional work is all the C# detection and configuration part in the module scripts. I got it all up and running so we can develop our C/C++/C# cross-platform software here, but it's still some steps away from a perfectly configurable solution where everyone could be happy. best regards, Michael From: Gilles Khouzam [mailto:gilles.khou...@microsoft.com] Sent: Thursday, February 25, 2016 8:44 AM To: Stuermer, Michael SP/HZA-ZSEP; CMake Developers Subject: RE: C# support ready for review Hi Michael, Things are looking really good, I've just converted one of my personal projects to using CMake in very little time. I've included a small patch for your CSharp implementation. The first change is to add support to specify C# 6.0 in the flag table. The second removes the exception handling tag and the precompiled header tags since they don't make sense for C#, as well as adding a space between the platform comparisons. The space is not necessary for the project, but is you make any change in the property page inside of VS, a new property group is created instead of modifying the existing one. While this would not be a typical CMake scenario, it might be better to stay consistent with how VS and MSBuild process the file. The next thing that I want to start looking at, is to make this work for Windows Phone and Windows Store apps, so that it can match the support that we have with C++ in this regards. From: Gilles Khouzam Sent: Wednesday, February 24, 2016 14:47 To: 'Stuermer, Michael SP/HZA-ZSEP'; CMake Developers Subject: RE: C# support ready for review Hi Michael, I've had more time to try this, what is the reasoning to hardcode the default LangVersion to 3 in Modules\CMakeCSharpInformation.cmake? Can we remove it? I'm trying this on some projects of mine. From: Stuermer, Michael SP/HZA-ZSEP [mailto:michael.stuer...@schaeffler.com] Sent: Thursday, February 18, 2016 03:44 To: Gilles Khouzam ; CMake Developers Subject: RE: C# support ready for review Hi Gilles, you are right about the specific user path. I already fixed this in my github "csharp" branch. Sorry for the inconvenience. As for the discrepancies: I just found out that my TortoiseGitMerge tool was not configured correctly: changes in comments where ignored (which is not what I wanted). I'll go over the patch again and remove the changes that are irrelevant to the C# features. Thanks for the hint on using MSBuild detection. I currently use the msbuild version that is provided automatically by visual studio, so I do not need any real detection. I didn't dig too deep into MSBuild versions, .NET framework versions, what can be configured etc. The configuration possibilities and what would make sense especially for other developers as well is something that should be discussed. My main aim was to be able to work with C# and .NET in a similar way as Visual Studio provides it. I only started C# development during the last year, so many things concerning configuration etc. could probably be improved. I'll post a new version of the patch later (or tomorrow) with the mentioned changes. best regards, Michael From: Gilles Khouzam [mailto:gilles.khou...@microsoft.com] Sent: Thursday, February 18, 2016 8:17 AM To: Stuermer, Michael SP/HZA-ZSEP; CMake Developers Subject: RE: C# support ready for review Hi Michael, Great work, this looks
Re: [CMake] ExternalProject_Add with flexible install commands
Hi Kent, I believe it's not "empty quotes" that disables the install command, it's the empty string. So you should not escape the quotes: ### # Default behavior is to NOT install library, empty quotes should disable install set( libxxx_inst_comm INSTALL_COMMAND "" ) # Build the library as an external project ExternalProject_Add( libxxx SOURCE_DIR ${PROJECT_SOURCE_DIR}/src ${libxxx_inst_comm} ) ### Petr On Thu, Feb 25, 2016 at 7:04 AM, Knox, Kentwrote: > I am having a problem passing parameters as a variable into > ExternalProject_Add(). I seem to be fighting syntax, i've tried many > different variants with the set() statement > > > ### > > # Default behavior is to NOT install library, empty quotes should disable > install > set( libxxx_inst_comm INSTALL_COMMAND "\"\"" ) > > # Build the library as an external project > ExternalProject_Add( libxxx > SOURCE_DIR ${PROJECT_SOURCE_DIR}/src > ${libxxx_inst_comm} > ) > ### > > I get this message, which appears to be within ExternalProject_add() > using add_custom_command. Is there a way around this? > > CMake Error at > /opt/homebrew-cask/Caskroom/cmake/3.2.2/CMake.app/Contents/share/cmake-3.2/Modules/ExternalProject.cmake:1487 > (add_custom_command): > > COMMAND may not contain literal quotes: > > > "" > > > -- > > 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 > -- 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] ExternalProject_Add with flexible install commands
I am having a problem passing parameters as a variable into ExternalProject_Add(). I seem to be fighting syntax, i've tried many different variants with the set() statement ### # Default behavior is to NOT install library, empty quotes should disable install set( libxxx_inst_comm INSTALL_COMMAND "\"\"" ) # Build the library as an external project ExternalProject_Add( libxxx SOURCE_DIR ${PROJECT_SOURCE_DIR}/src ${libxxx_inst_comm} ) ### I get this message, which appears to be within ExternalProject_add() using add_custom_command. Is there a way around this? CMake Error at /opt/homebrew-cask/Caskroom/cmake/3.2.2/CMake.app/Contents/share/cmake-3.2/Modules/ExternalProject.cmake:1487 (add_custom_command): COMMAND may not contain literal quotes: "" -- 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