[Cmake-commits] CMake branch, master, updated. v3.9.0-rc5-275-gfadcfd4
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 fadcfd4b89aa36cfd9842ef2798ca7dffabb0ade (commit) from 107a92ea9a784d283b8d6d35a8c9bd93db8cd06d (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=fadcfd4b89aa36cfd9842ef2798ca7dffabb0ade commit fadcfd4b89aa36cfd9842ef2798ca7dffabb0ade Author: Kitware Robot <kwro...@kitware.com> AuthorDate: Wed Jul 12 00:01:06 2017 -0400 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Wed Jul 12 00:01:06 2017 -0400 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 0a8e870..e6c3a5b 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 9) -set(CMake_VERSION_PATCH 20170711) +set(CMake_VERSION_PATCH 20170712) #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
[cmake-developers] There's several issues with NDK support in CMake 3.9.0
So I'm working with DanAlbert over on the NDK github project regarding some issues I've hit with NDK r15b using CMake 3.9.0-rc5. He's already identified one bug that I can help fix located in `Modules/Platform/Android/ndk-stl-c++.cmake` related to platform support. He also mentions something a bit more serious regarding libandroid_support, which CMake isn't linking to. He recommended using their pre-packaged toolchain file that comes with the NDK itself. There's a couple more issues, I recommend heading over to the issue page and read up on the discussion there: https://github.com/android-ndk/ndk/issues/452 I'm stuck a bit in the middle here. I'm willing to help make changes and help with testing on the CMake side, but I'm not very knowledgeable on these things (compiler behavior, and CMake integration with NDK). What I'm hoping is that you guys can help pitch in on the discussion over on the NDK github page via the link above. I'll try to learn from the discussions there and contribute one or more merge requests to implement fixes. All of these issues cropped up from my specific usage of CMake with the NDK, so I'm in a really good position to be able to contribute fixes and test solutions. Just let me know how I can help. -- 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] Prevent linebreaks in cmake output
Is there a way to have each message from cmake appear on a single line? Currently my output seems to break like this: CMake Error: Error in cmake code at /path/to/CMakeLists.txt:48: Parse error. Function missing ending ")". End of file reached. I'm trying to parse the error messages in a program that reads cmake's stderr and stdout. Rather than trying to decide which lines should go together, and building all the scanning that would be required for that, I was hoping there might just be a flag I could set to do the work for me. Thanks. -- 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] 3.9.0-rc3: CMAKE_ANDROID_NDK_DEPRECATED_HEADERS doesn't work outside of toolchain
Just wanted to share my solution to this, based on your suggestions about code sharing. I still do some introspection but some of this is based on our usage of environment variables and such. However the logic to find NDK version is useful in general. Instead of pasting the CMake code here, I have made it available as a gist: https://gist.github.com/rcdailey/ae336b48b8681897c747524a5713c6c6 Hope this helps others that have similar questions. Thanks again Brad. On Tue, Jun 27, 2017 at 11:07 AM, Brad Kingwrote: > On 06/27/2017 11:36 AM, Robert Dailey wrote: >> Ok maybe I'm misunderstanding the design intent for toolchain files. > > Originally they were intended to contain information local to the > machine, like `set(CMAKE_ANDROID_NDK /path/on/my/machine/to/ndk)`. > In controlled environments that share many things it makes sense > to have deployable toolchain files instead. > >> Basically, some things I like to determine programmatically. Putting >> in them in the toolchain file violates the "introspection" rule, but >> also results in code duplication > > Toolchain files can `include()` other files from next to them. That > can be used to avoid duplicate code. > > The only information you need within your toolchain file logic to > compute CMAKE_ANDROID_NDK_DEPRECATED_HEADERS is CMAKE_ANDROID_NDK. > If you add logic to find/require CMAKE_ANDROID_NDK up front then you > can check its version. > > CMake's `Modules/Platform/Android-Determine.cmake` file has very little > logic to choose `CMAKE_ANDROID_NDK` if it is not set by the user. You > can either duplicate this in a toolchain file helper or take advantage > of knowledge about your controlled environments to have a shorter version. > > -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] OBJECT libraries and working around lake of target_link_libraries
We recently converted some software, comprising about 300 projects, to use OBJECT libraries from SHARED libraries so we could create "conveneince" libraries that were cominations of some of the 300 projects. Not being able to use target_link_libraries with thier transitive nature made this very painful, many days of work. Supporting OBJECT libraries in target_link_libraries calls was mentioned mentioned right back here https://cmake.org/pipermail/cmake-developers/2012-March/015422.html but sadly seems still to be on the back burner. We are faced with a project hierarchy re-org and wanted to try to automate generation of the dependencies. So we are thinking of doing the following. 1) Remove all the target_sources stuff from all CMakeLists.txt 2) Add add_dependencies calls to specify the project dependencies 3) run cmake with the --graphviz=graphviz.dot 4) Write a program that reads the resultant graphviz.dot and generate a file for each project that contain a target_sources call specifying all the dependencies for that project 5) In the CMakeLists.txt for each project include the relevant generated target_sources file 6) Rerun cmake Note the first time cmake gets run all the generated dependency files are empty so the only dependencies are those specified by add_dependencies calls. Obviously the above is a bit convoluted, although we already have a program to read and use the data in graphviz.dot file for other reason. So my question is will the above approach work and is there a better one? -- 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] How do I specify VTK minimum version?
Hi, I am using CMake to set up a VTK project. Our project requires VTK to be version 7.1 or newer. I'm using Ubuntu 16.04 with CMake 3.5.1. My CMakeLists.txt looks like this: cmake_minimum_required(VERSION 2.8) project(test_vtk_versions) find_package(VTK 7.1 REQUIRED) include(${VTK_USE_FILE}) add_executable(test_vtk_1 test_vtk_1) target_link_libraries(test_vtk_1 ${VTK_LIBRARIES}) I have several versions of VTK installed on my machine: * VTK 6.2 from the Ubuntu repositories * VTK 7.1 compiled/installed from sources * VTK 8.0 compiled/installed from sources $ ls /usr/local/lib/cmake/vtk* /usr/lib/cmake/vtk* /usr/lib/cmake/vtk-6.2: exportheader.cmake.in UseVTK.cmake vtkJavaWrapping.cmake vtkModuleMacros.cmakeVTKTargets.cmake vtkThirdParty.cmake vtkWrapPython.sip.in (... list was manually shortened ...) /usr/local/lib/cmake/vtk-7.1: FindTCL.cmake VTKConfigVersion.cmake vtkGroups.cmake vtkModuleHeaders.cmake.invtkObjectFactory.h.in vtkTclWrapping.cmake vtkWrapPython.cmake (... list was manually shortened ...) /usr/local/lib/cmake/vtk-8.0: FindTCL.cmake VTKConfigVersion.cmake vtkGroups.cmake vtkModuleHeaders.cmake.invtkObjectFactory.h.in vtkTclTkMacros.cmakevtkWrapping.cmake (... list was manually shortened ...) The project can be configured (Unix Makefile) and compiled, it is compiled against VTK 7.1 in this configuration. However if I remove VTK 7.1 from the system (using sudo xargs rm < "install_manifest.txt") then I end with this this error: CMake Error at CMakeLists.txt:4 (find_package): Could not find a configuration file for package "VTK" that is compatible with requested version "7.1". The following configuration files were considered but not accepted: /usr/local/lib/cmake/vtk-8.0/VTKConfig.cmake, version: 8.0.0 /usr/lib/cmake/vtk-6.2/VTKConfig.cmake, version: 6.2.0 I have also tried find_package(VTK 7.1*.0* REQUIRED), without success. Why isn't VTK 8.0.0 accepted? It is a greater version number so I expected it to be ok. How do I specify that I want VTK 7.1 OR newer? Thank you for your time Bye -- 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 create executable Undefined symbols for architecture x86_64:
Thanks Micha, The head developer managed to get it to compile under clion on the weekend, I suspect he may have cleaned up his source code a little bit. I also suspect listing the source code and targeted libraries in the correct order may have helped. Thanks for all your help! Best Sean On Mon, Jul 10, 2017 at 3:22 PM, Micha Hergardenwrote: > On 07-07-17 05:14, Sean Wayland wrote: >> Hi Micha, >> Thanks very much for the email. That seemed to make a small >> difference! With both those lines commented out these errors are >> generated ( below my email ) . >> I still have included >> project(CATSMAT) >> at the top line of the cmake file in the catsmat directory >> >> I tried commenting out each of those language type definitions >> separately but it didn't seem to help. >> The code compiles under xcode. Those language types ( C++14) are >> specified in Xcode so I was trying to find a way to copy what is in >> xcode. >> >> Is there a maximum number of "errors" before the clion compiler will >> spit the dummy ? >> >> Another executable will compile with lots and lots of warnings but no >> "errors" >> >> I don't know much about C++ unfortunately. These errors look like >> simple errors which I could see might be generated if the syntax of >> the language had changed slightly from one version to the next .. >> >> Thanks for you help! >> >> Sean >> >> >> /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:78:14: >> error: ISO C++ forbids forward references to 'enum' types >> >> enum direction : int { descending=-1, repeat=0, ascending = 1, >> vertical_bottomtotop }; >> >> >> /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:78:30: >> error: expected '(' for function-style cast or type construction >> >> enum direction : int { descending=-1, repeat=0, ascending = 1, >> vertical_bottomtotop }; >> >> ~~~ ^ >> >> /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:78:24: >> error: field has incomplete type 'enum direction' >> >> enum direction : int { descending=-1, repeat=0, ascending = 1, >> vertical_bottomtotop }; >> >> >> /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:78:14: >> error: ISO C++ forbids forward references to 'enum' types >> >> enum direction : int { descending=-1, repeat=0, ascending = 1, >> vertical_bottomtotop }; >> >> ^ >> >> /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:78:30: >> error: expected '(' for function-style cast or type construction >> >> enum direction : int { descending=-1, repeat=0, ascending = 1, >> vertical_bottomtotop }; >> >> ~~~ ^ >> >> /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:78:24: >> error: field has incomplete type 'enum direction' >> >> enum direction : int { descending=-1, repeat=0, ascending = 1, >> vertical_bottomtotop }; >> >>^ >> >> /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:78:14: >> note: forward declaration of 'IMUSANT::direction' >> >> enum direction : int { descending=-1, repeat=0, ascending = 1, >> vertical_bottomtotop }; >> >> ^ >> >> /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:80:14: >> error: ISO C++ forbids forward references to 'enum' types >> >> enum basic : int { unison = 0, second=1, third, fourth, fifth, >> sixth, seventh }; >> >> ^ >> >> /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:80:26: >> error: expected '(' for function-style cast or type construction >> >> enum basic : int { unison = 0, second=1, third, fourth, fifth, >> sixth, seventh }; >> >> ~~~ ^ >> >> /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:80:20: >> error: field has incomplete type 'enum basic' >> >> enum basic : int { unison = 0, second=1, third, fourth, fifth, >> sixth, seventh }; >> >> >> sers/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:80:14: >> error: ISO C++ forbids forward references to 'enum' types >> >> enum basic : int { unison = 0, second=1, third, fourth, fifth, >> sixth, seventh }; >> >> ^ >> >> /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:80:26: >> error: expected '('
[Cmake-commits] CMake branch, master, updated. v3.9.0-rc5-274-g107a92e
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 107a92ea9a784d283b8d6d35a8c9bd93db8cd06d (commit) via 79e72f4b7c18cdb758e945daff0f9d201625c8f6 (commit) via de72d5dda6909093eb3fb6f8c0d53633e5bd9fdf (commit) via 970569a941a3259f5303a5090ed7bca7bb6e6d7e (commit) via a49b235db9036d5ec8c8535d2074c136eeb13254 (commit) via 59e52b30416b3c1731ec56207baad2ef0295580b (commit) via dd69dea3e7456cf8ea7e5d60362f6f8aa7aafa48 (commit) via 2644e4c9fcc747d750d6a522d2b4029b172902c3 (commit) via f7f721d40ae81b7c13afea3aa777b6be66af372c (commit) via ecac50e133c339e4b4611631333f0f07e438c99d (commit) via efaf987ad1569d5329fc60f5e1f47f3e8809bb69 (commit) via c7d81e16cb0f2023098ca64e33a4408b8ba80287 (commit) via 6b2bf5756bd01a955606f1963ad44bfde21f173f (commit) from 8d5ec219288b05379f19a23a0a0b4c8b76a17712 (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=107a92ea9a784d283b8d6d35a8c9bd93db8cd06d commit 107a92ea9a784d283b8d6d35a8c9bd93db8cd06d Merge: 79e72f4 dd69dea Author: Brad KingAuthorDate: Tue Jul 11 07:42:09 2017 -0400 Commit: Brad King CommitDate: Tue Jul 11 07:42:09 2017 -0400 Merge branch 'release-3.9' https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=79e72f4b7c18cdb758e945daff0f9d201625c8f6 commit 79e72f4b7c18cdb758e945daff0f9d201625c8f6 Merge: de72d5d 6b2bf57 Author: Brad King AuthorDate: Tue Jul 11 11:39:11 2017 + Commit: Kitware Robot CommitDate: Tue Jul 11 07:39:15 2017 -0400 Merge topic 'FindMFC-try-static' 6b2bf575 FindMFC: Check for static MFC variant Acked-by: Kitware Robot Merge-request: !1034 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=de72d5dda6909093eb3fb6f8c0d53633e5bd9fdf commit de72d5dda6909093eb3fb6f8c0d53633e5bd9fdf Merge: 970569a efaf987 Author: Brad King AuthorDate: Tue Jul 11 11:38:50 2017 + Commit: Kitware Robot CommitDate: Tue Jul 11 07:38:54 2017 -0400 Merge topic 'file-LOCK-windows-message' efaf987a cmFileLockResult: Avoid allocation for Windows error message Acked-by: Kitware Robot Merge-request: !1035 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=970569a941a3259f5303a5090ed7bca7bb6e6d7e commit 970569a941a3259f5303a5090ed7bca7bb6e6d7e Merge: a49b235 2644e4c Author: Brad King AuthorDate: Tue Jul 11 11:37:13 2017 + Commit: Kitware Robot CommitDate: Tue Jul 11 07:37:42 2017 -0400 Merge topic 'vs-2017-choose-via-environment' 2644e4c9 VS: Choose VS 2017 instance via environment variable Acked-by: Kitware Robot Merge-request: !1030 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a49b235db9036d5ec8c8535d2074c136eeb13254 commit a49b235db9036d5ec8c8535d2074c136eeb13254 Merge: 59e52b3 ecac50e Author: Brad King AuthorDate: Tue Jul 11 11:35:26 2017 + Commit: Kitware Robot CommitDate: Tue Jul 11 07:35:56 2017 -0400 Merge topic 'autogen_skip_included' ecac50e1 Autogen: Skip included files on demand Acked-by: Kitware Robot Merge-request: !1039 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=59e52b30416b3c1731ec56207baad2ef0295580b commit 59e52b30416b3c1731ec56207baad2ef0295580b Merge: 8d5ec21 c7d81e1 Author: Brad King AuthorDate: Tue Jul 11 11:35:08 2017 + Commit: Kitware Robot CommitDate: Tue Jul 11 07:35:27 2017 -0400 Merge topic 'doc_configure_file' c7d81e16 Help: Explicitly state that some file generations are lazy Acked-by: Kitware Robot Merge-request: !1025 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=efaf987ad1569d5329fc60f5e1f47f3e8809bb69 commit efaf987ad1569d5329fc60f5e1f47f3e8809bb69 Author: Iyyappa Murugandi AuthorDate: Thu May 4 15:07:45 2017 -0700 Commit: Brad King CommitDate: Fri Jul 7 14:04:20 2017 -0400 cmFileLockResult: Avoid allocation for Windows error message diff --git a/Source/cmFileLockResult.cxx b/Source/cmFileLockResult.cxx index a040705..9ca5d8a 100644 --- a/Source/cmFileLockResult.cxx +++ b/Source/cmFileLockResult.cxx @@ -5,6 +5,7 @@ #include #include +#define WINMSG_BUF_LEN (1024)
[Cmake-commits] CMake branch, release, updated. v3.9.0-rc5-27-gdd69dea
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, release has been updated via dd69dea3e7456cf8ea7e5d60362f6f8aa7aafa48 (commit) via 2644e4c9fcc747d750d6a522d2b4029b172902c3 (commit) via f7f721d40ae81b7c13afea3aa777b6be66af372c (commit) via ecac50e133c339e4b4611631333f0f07e438c99d (commit) from 9b9a57e16b22769b612d4bbe45e9b7cb936be690 (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: Help/generator/Visual Studio 15 2017.rst | 12 ++ Source/cmQtAutoGenerators.cxx| 61 -- Source/cmVSSetupHelper.cxx | 28 ++ 3 files changed, 73 insertions(+), 28 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.9.0-rc5-261-g8d5ec21
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 8d5ec219288b05379f19a23a0a0b4c8b76a17712 (commit) via 8f63f3495d30c38a953ac234f5d34578f7668b70 (commit) via 3cf267cfbf740e8c8dc28f132fff5042c7201d3d (commit) via 6848ff4ce54bedd5d0ef909f2bc08ab99dc0a513 (commit) via 6f131f49eee26dc5c342274f919e0ca1636182e5 (commit) from e1476f96189fd361045d68fca60978106d8ee6e1 (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=8d5ec219288b05379f19a23a0a0b4c8b76a17712 commit 8d5ec219288b05379f19a23a0a0b4c8b76a17712 Merge: 8f63f34 3cf267c Author: Brad KingAuthorDate: Tue Jul 11 11:34:54 2017 + Commit: Kitware Robot CommitDate: Tue Jul 11 07:34:58 2017 -0400 Merge topic 'FindPkgConfig-rerun' 3cf267cf FindPkgConfig: do not always rerun pkg_check_modules() with 2 arguments Acked-by: Kitware Robot Merge-request: !1036 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8f63f3495d30c38a953ac234f5d34578f7668b70 commit 8f63f3495d30c38a953ac234f5d34578f7668b70 Merge: e1476f9 6848ff4 Author: Brad King AuthorDate: Tue Jul 11 11:34:17 2017 + Commit: Kitware Robot CommitDate: Tue Jul 11 07:34:23 2017 -0400 Merge topic 'FindHDF5-windows' 6848ff4c FindHDF5: Define H5_BUILT_AS_DYNAMIC_LIB when using Windows DLLs 6f131f49 FindHDF5: Add support for HDF5_USE_STATIC_LIBRARIES on Windows Acked-by: Kitware Robot Merge-request: !1023 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3cf267cfbf740e8c8dc28f132fff5042c7201d3d commit 3cf267cfbf740e8c8dc28f132fff5042c7201d3d Author: Rolf Eike Beer AuthorDate: Fri Jul 7 22:38:52 2017 +0200 Commit: Brad King CommitDate: Mon Jul 10 11:16:51 2017 -0400 FindPkgConfig: do not always rerun pkg_check_modules() with 2 arguments Since commit v3.8.0-rc1~47^2 (FindPkgConfig: Recheck pkg-config on parameter change, 2017-01-17) calling `pkg_check_modules` always re-runs. The problem is that if there are only 2 arguments passed to `pkg_check_modules```, then `_module0` will be set and `ARGN` will be empty. When this is written to cache it will be stored as just the value of `_module0` without any semicolon, so on the next run this doesn't match the expected value and the search is rerun. Revise the logic to handle the case of empty `ARGN` separately. Fixes: #17003 diff --git a/Modules/FindPkgConfig.cmake b/Modules/FindPkgConfig.cmake index a5357fa..8ac1691 100644 --- a/Modules/FindPkgConfig.cmake +++ b/Modules/FindPkgConfig.cmake @@ -584,7 +584,9 @@ endmacro() macro(pkg_check_modules _prefix _module0) _pkgconfig_parse_options(_pkg_modules _pkg_is_required _pkg_is_silent _no_cmake_path _no_cmake_environment_path _imp_target "${_module0}" ${ARGN}) # check cached value - if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND OR NOT "${__pkg_config_arguments_${_prefix}}" STREQUAL "${_module0};${ARGN}") + if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND OR + (NOT "${ARGN}" STREQUAL "" AND NOT "${__pkg_config_arguments_${_prefix}}" STREQUAL "${_module0};${ARGN}") OR + ("${ARGN}" STREQUAL "" AND NOT "${__pkg_config_arguments_${_prefix}}" STREQUAL "${_module0}")) _pkg_check_modules_internal("${_pkg_is_required}" "${_pkg_is_silent}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} "${_prefix}" ${_pkg_modules}) _pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION}) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6848ff4ce54bedd5d0ef909f2bc08ab99dc0a513 commit 6848ff4ce54bedd5d0ef909f2bc08ab99dc0a513 Author: Kris Thielemans AuthorDate: Mon Jul 3 01:40:41 2017 +0100 Commit: Brad King CommitDate: Fri Jul 7 08:58:57 2017 -0400 FindHDF5: Define H5_BUILT_AS_DYNAMIC_LIB when using Windows DLLs When searching for shared libraries on Windows, add H5_BUILT_AS_DYNAMIC_LIB to HDF5_DEFINITIONS so that the header file knows how to dllimport the symbols. diff --git a/Modules/FindHDF5.cmake b/Modules/FindHDF5.cmake index acf7cd4..48d5de4 100644 --- a/Modules/FindHDF5.cmake +++ b/Modules/FindHDF5.cmake @@ -733,6 +733,9 @@ if( NOT HDF5_FOUND )
Re: [CMake] Cannot get a 64-bit build of MySQL on a 64-bit Windows machine
J Decker, thank you. I honestly didn't even know of its existence. I ran it as you suggested, and it's great to be able to see all the flags. Thanks so much again. [image: Inline image 1] On Tue, Jul 11, 2017 at 1:50 PM, J Deckerwrote: > Alternatively you could use cmake-gui and on first generation in an empty > directoy, a popup window appears allowing you to select the generator. > > mkdir build2 > cd build2 > cmake-gui .. > > then set the various flags in the gui. > > > On Tue, Jul 11, 2017 at 3:13 AM, A.M. Sabuncu wrote: > >> Petr, >> >> Thank you so much. The following command you suggested fixed the >> problem, and I was able to run a successful build: >> >> cmake .. -G "Visual Studio 15 2017 Win64" >> >> I am grateful for your help. This may have been a minor item for you, >> but for me, it was a real stumbling block. >> >> By the way, the other alternative you suggested did not work: >> >> cmake .. -A Win64 (or "Win64") >> >> The result was: >> >> -- Building for: Visual Studio 15 2017 >> -- Running cmake version 3.8.2 >> -- Found Git: C:/Program Files/Git/cmd/git.exe (found version >> "2.10.2.windows.1") >> -- Configuring with MAX_INDEXES = 64U >> -- The C compiler identification is unknown >> -- The CXX compiler identification is unknown >> CMake Error at CMakeLists.txt:126 (PROJECT): >> No CMAKE_C_COMPILER could be found. >> >> The funny thing is that the use of the -G flag does not issue a "Building >> for..." message, but correctly locates the necessary compiler, whereas the >> -A flag seems to know what target it is building for, but cannot find the >> compiler! >> >> Thank you again, >> >> A. M. Sabuncu >> >> On Tue, Jul 11, 2017 at 10:12 AM, Petr Kmoch >> wrote: >> >>> Hi, >>> >>> when generating a Visual Studio buildsystem with CMake, you can specify >>> the target architecture. If you don't, the default is 32-bit. >>> >>> To specify the architecture, either put it into the generator name: >>> >>> cmake .. -G "Visual Studio 15 2017 Win64" >>> >>> or specify just the architecture using -A: >>> >>> cmake .. -A Win64 >>> >>> See description of -G and -A in CMake docs: >>> https://cmake.org/cmake/help/latest/manual/cmake.1.html >>> >>> Petr >>> >>> On 10 July 2017 at 22:06, A.M. Sabuncu wrote: >>> I am completely new to CMake, and am using to build MySQL 5.7.18 on Windows 10 x64, using the following command: cmake .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST="C:\Boost" -DENABLE_DOWNLOADS=1 I have VS 2017 installed, and I am on 64 bit machine, but for some reason, the above command produces the following output: The CXX compiler identification is MSVC 19.10.25019.0 -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.10.25017/bin/HostX 86/x86/cl.exe -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.10.25017/bin/HostX86/x86/cl.exe -- works The correct compiler is in the HostX64/x64 folder. Thinking that CMake might be looking it up from there, I checked the processor architecture environment variable from the same cmd.exe that I launched the CMake command from, and here's the result: PROCESSOR_ARCHITECTURE=AMD64 When I follow the above CMake command with the following: devenv MySQL.sln /build RelWithDebInfo I get 32-bit results generated, which is not what I want. How can I get CMake to generate a 64-bit build? Thanks so much. -- 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
Re: [CMake] Cannot get a 64-bit build of MySQL on a 64-bit Windows machine
Alternatively you could use cmake-gui and on first generation in an empty directoy, a popup window appears allowing you to select the generator. mkdir build2 cd build2 cmake-gui .. then set the various flags in the gui. On Tue, Jul 11, 2017 at 3:13 AM, A.M. Sabuncuwrote: > Petr, > > Thank you so much. The following command you suggested fixed the problem, > and I was able to run a successful build: > > cmake .. -G "Visual Studio 15 2017 Win64" > > I am grateful for your help. This may have been a minor item for you, but > for me, it was a real stumbling block. > > By the way, the other alternative you suggested did not work: > > cmake .. -A Win64 (or "Win64") > > The result was: > > -- Building for: Visual Studio 15 2017 > -- Running cmake version 3.8.2 > -- Found Git: C:/Program Files/Git/cmd/git.exe (found version > "2.10.2.windows.1") > -- Configuring with MAX_INDEXES = 64U > -- The C compiler identification is unknown > -- The CXX compiler identification is unknown > CMake Error at CMakeLists.txt:126 (PROJECT): > No CMAKE_C_COMPILER could be found. > > The funny thing is that the use of the -G flag does not issue a "Building > for..." message, but correctly locates the necessary compiler, whereas the > -A flag seems to know what target it is building for, but cannot find the > compiler! > > Thank you again, > > A. M. Sabuncu > > On Tue, Jul 11, 2017 at 10:12 AM, Petr Kmoch wrote: > >> Hi, >> >> when generating a Visual Studio buildsystem with CMake, you can specify >> the target architecture. If you don't, the default is 32-bit. >> >> To specify the architecture, either put it into the generator name: >> >> cmake .. -G "Visual Studio 15 2017 Win64" >> >> or specify just the architecture using -A: >> >> cmake .. -A Win64 >> >> See description of -G and -A in CMake docs: >> https://cmake.org/cmake/help/latest/manual/cmake.1.html >> >> Petr >> >> On 10 July 2017 at 22:06, A.M. Sabuncu wrote: >> >>> I am completely new to CMake, and am using to build MySQL 5.7.18 on >>> Windows 10 x64, using the following command: >>> >>> cmake .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST="C:\Boost" -DENABLE_DOWNLOADS=1 >>> >>> I have VS 2017 installed, and I am on 64 bit machine, but for some >>> reason, the above command produces the following output: >>> >>> The CXX compiler identification is MSVC 19.10.25019.0 >>> -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual >>> Studio/2017/Professional/VC/Tools/MSVC/14.10.25017/bin/HostX >>> 86/x86/cl.exe >>> -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual >>> Studio/2017/Professional/VC/Tools/MSVC/14.10.25017/bin/HostX86/x86/cl.exe >>> -- works >>> >>> The correct compiler is in the HostX64/x64 folder. >>> >>> Thinking that CMake might be looking it up from there, I checked the >>> processor architecture environment variable from the same cmd.exe that I >>> launched the CMake command from, and here's the result: >>> >>> PROCESSOR_ARCHITECTURE=AMD64 >>> >>> When I follow the above CMake command with the following: >>> >>> devenv MySQL.sln /build RelWithDebInfo >>> >>> I get 32-bit results generated, which is not what I want. >>> >>> How can I get CMake to generate a 64-bit build? >>> >>> Thanks so much. >>> >>> >>> -- >>> >>> 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 > -- 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
Re: [CMake] Cannot get a 64-bit build of MySQL on a 64-bit Windows machine
Petr, Thank you so much. The following command you suggested fixed the problem, and I was able to run a successful build: cmake .. -G "Visual Studio 15 2017 Win64" I am grateful for your help. This may have been a minor item for you, but for me, it was a real stumbling block. By the way, the other alternative you suggested did not work: cmake .. -A Win64 (or "Win64") The result was: -- Building for: Visual Studio 15 2017 -- Running cmake version 3.8.2 -- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.10.2.windows.1") -- Configuring with MAX_INDEXES = 64U -- The C compiler identification is unknown -- The CXX compiler identification is unknown CMake Error at CMakeLists.txt:126 (PROJECT): No CMAKE_C_COMPILER could be found. The funny thing is that the use of the -G flag does not issue a "Building for..." message, but correctly locates the necessary compiler, whereas the -A flag seems to know what target it is building for, but cannot find the compiler! Thank you again, A. M. Sabuncu On Tue, Jul 11, 2017 at 10:12 AM, Petr Kmochwrote: > Hi, > > when generating a Visual Studio buildsystem with CMake, you can specify > the target architecture. If you don't, the default is 32-bit. > > To specify the architecture, either put it into the generator name: > > cmake .. -G "Visual Studio 15 2017 Win64" > > or specify just the architecture using -A: > > cmake .. -A Win64 > > See description of -G and -A in CMake docs: https://cmake.org/cmake/help/ > latest/manual/cmake.1.html > > Petr > > On 10 July 2017 at 22:06, A.M. Sabuncu wrote: > >> I am completely new to CMake, and am using to build MySQL 5.7.18 on >> Windows 10 x64, using the following command: >> >> cmake .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST="C:\Boost" -DENABLE_DOWNLOADS=1 >> >> I have VS 2017 installed, and I am on 64 bit machine, but for some >> reason, the above command produces the following output: >> >> The CXX compiler identification is MSVC 19.10.25019.0 >> -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual >> Studio/2017/Professional/VC/Tools/MSVC/14.10.25017/bin/HostX86/x86/cl.exe >> -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual >> Studio/2017/Professional/VC/Tools/MSVC/14.10.25017/bin/HostX86/x86/cl.exe >> -- works >> >> The correct compiler is in the HostX64/x64 folder. >> >> Thinking that CMake might be looking it up from there, I checked the >> processor architecture environment variable from the same cmd.exe that I >> launched the CMake command from, and here's the result: >> >> PROCESSOR_ARCHITECTURE=AMD64 >> >> When I follow the above CMake command with the following: >> >> devenv MySQL.sln /build RelWithDebInfo >> >> I get 32-bit results generated, which is not what I want. >> >> How can I get CMake to generate a 64-bit build? >> >> Thanks so much. >> >> >> -- >> >> 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] [DKIM] Re: cmake create executable Undefined symbols for architecture x86_64:
From: CMakeon behalf of Micha Hergarden Sent: 10 July 2017 21:22 To: seanwayl...@gmail.com Cc: cmake@cmake.org Subject: [DKIM] Re: [CMake] cmake create executable Undefined symbols for architecture x86_64: On 07-07-17 05:14, Sean Wayland wrote: > Hi Micha, > Thanks very much for the email. That seemed to make a small > difference! With both those lines commented out these errors are > generated ( below my email ) . > I still have included > project(CATSMAT) > at the top line of the cmake file in the catsmat directory > > I tried commenting out each of those language type definitions > separately but it didn't seem to help. > The code compiles under xcode. Those language types ( C++14) are > specified in Xcode so I was trying to find a way to copy what is in > xcode. > > Is there a maximum number of "errors" before the clion compiler will > spit the dummy ? > > Another executable will compile with lots and lots of warnings but no "errors" > > I don't know much about C++ unfortunately. These errors look like > simple errors which I could see might be generated if the syntax of > the language had changed slightly from one version to the next .. > > Thanks for you help! > > Sean > > > /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:78:14: > error: ISO C++ forbids forward references to 'enum' types > > enum direction : int { descending=-1, repeat=0, ascending = 1, > vertical_bottomtotop }; > > > /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:78:30: > error: expected '(' for function-style cast or type construction > > enum direction : int { descending=-1, repeat=0, ascending = 1, > vertical_bottomtotop }; > > ~~~ ^ > > /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:78:24: > error: field has incomplete type 'enum direction' > > enum direction : int { descending=-1, repeat=0, ascending = 1, > vertical_bottomtotop }; > > > /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:78:14: > error: ISO C++ forbids forward references to 'enum' types > > enum direction : int { descending=-1, repeat=0, ascending = 1, > vertical_bottomtotop }; > > ^ > > /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:78:30: > error: expected '(' for function-style cast or type construction > > enum direction : int { descending=-1, repeat=0, ascending = 1, > vertical_bottomtotop }; > > ~~~ ^ > > /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:78:24: > error: field has incomplete type 'enum direction' > > enum direction : int { descending=-1, repeat=0, ascending = 1, > vertical_bottomtotop }; > >^ > > /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:78:14: > note: forward declaration of 'IMUSANT::direction' > > enum direction : int { descending=-1, repeat=0, ascending = 1, > vertical_bottomtotop }; > > ^ > > /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:80:14: > error: ISO C++ forbids forward references to 'enum' types > > enum basic : int { unison = 0, second=1, third, fourth, fifth, > sixth, seventh }; > > ^ > > /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:80:26: > error: expected '(' for function-style cast or type construction > > enum basic : int { unison = 0, second=1, third, fourth, fifth, > sixth, seventh }; > > ~~~ ^ > > /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:80:20: > error: field has incomplete type 'enum basic' > > enum basic : int { unison = 0, second=1, third, fourth, fifth, > sixth, seventh }; > > > sers/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:80:14: > error: ISO C++ forbids forward references to 'enum' types > > enum basic : int { unison = 0, second=1, third, fourth, fifth, > sixth, seventh }; > > ^ > > /Users/seanwayland/Desktop/CATSMAT-master/catsmat/catsmat/cmake/../../libIMUSANT/DomainObjects/inc/IMUSANT_interval.h:80:26: > error: expected '(' for function-style cast or type construction > > enum basic : int { unison = 0, second=1, third, fourth, fifth, > sixth, seventh }; > > ~~~ ^ > >
Re: [CMake] Can not get C++ 11 support enabled
As others have suggested, moving the add_executable() after the set() calls is the correct solution. The reason is that variables like CMAKE_CXX_STANDARD are used to pre-initialise a target's properties when the target is created. In other words, at the time add_executable() is called, CMake will inspect variables like CMAKE_CXX_STANDARD and use them to initialise the target's properties like CXX_STANDARD. It's the properties which really control the target's build. See https://cmake.org/cmake/help/latest/variable/CMAKE_CXX_STANDARD.html and https://cmake.org/cmake/help/latest/prop_tgt/CXX_STANDARD.html for details. The same applies to add_compile_options(). From its docs ( https://cmake.org/cmake/help/latest/command/add_compile_options.html ): "Adds options to the compiler command line for targets in the current directory and below that are added after this command is invoked" But Craig is right that you shouldn't add `-std` directly, but use CXX_STANDARD and CXX_EXTENSIONS instead. Petr On 11 July 2017 at 07:21, Craig Scottwrote: > As well as moving the add_executable() call after you set the various > CMAKE_CXX... variables, you should also replace the call to > add_compile_options(-std=c++11) with the following: > > set(CMAKE_CXX_EXTENSIONS OFF) > > > On Tue, Jul 11, 2017 at 3:11 PM, Michael Ellery > wrote: > >> >> > On Jul 10, 2017, at 10:07 PM, Florian Lindner >> wrote: >> > >> > Hello, >> > >> > my complete cmake file looks like that: >> > >> > cmake_minimum_required (VERSION 3.1) >> > project(Preallocation) >> > add_executable(prealloc prealloc_parallel.cpp) >> > >> > set(CMAKE_CXX_STANDARD 11) >> > set(CMAKE_CXX_STANDARD_REQUIRED ON) >> > add_compile_options(-std=c++11) >> > >> > find_library(petsc petsc >> > PATHS $ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib) >> > if(NOT petsc) >> > message(FATAL_ERROR "petsc was not found") >> > endif() >> > target_link_libraries(prealloc ${petsc}) >> > >> > find_package(Boost 1.60.0 >> > REQUIRED >> > COMPONENTS program_options) >> > target_link_libraries(prealloc ${Boost_LIBRARIES}) >> > >> > find_package(MPI >> > REQUIRED) >> > target_link_libraries(prealloc ${MPI_LIBRARIES}) >> > >> > set(COMPILE_FLAGS ${COMPILE_FLAGS} ${MPI_COMPILE_FLAGS}) >> > set(LINK_FLAGS ${LINK_FLAGS} ${MPI_LINK_FLAGS}) >> > >> >> I would try moving the add_executable() to the end of the CMakeLists file >> (after the set() and find_library calls…) >> > -- 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] Cannot get a 64-bit build of MySQL on a 64-bit Windows machine
Hi, when generating a Visual Studio buildsystem with CMake, you can specify the target architecture. If you don't, the default is 32-bit. To specify the architecture, either put it into the generator name: cmake .. -G "Visual Studio 15 2017 Win64" or specify just the architecture using -A: cmake .. -A Win64 See description of -G and -A in CMake docs: https://cmake.org/cmake/help/latest/manual/cmake.1.html Petr On 10 July 2017 at 22:06, A.M. Sabuncuwrote: > I am completely new to CMake, and am using to build MySQL 5.7.18 on > Windows 10 x64, using the following command: > > cmake .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST="C:\Boost" -DENABLE_DOWNLOADS=1 > > I have VS 2017 installed, and I am on 64 bit machine, but for some reason, > the above command produces the following output: > > The CXX compiler identification is MSVC 19.10.25019.0 > -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual > Studio/2017/Professional/VC/Tools/MSVC/14.10.25017/bin/HostX86/x86/cl.exe > -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual > Studio/2017/Professional/VC/Tools/MSVC/14.10.25017/bin/HostX86/x86/cl.exe > -- works > > The correct compiler is in the HostX64/x64 folder. > > Thinking that CMake might be looking it up from there, I checked the > processor architecture environment variable from the same cmd.exe that I > launched the CMake command from, and here's the result: > > PROCESSOR_ARCHITECTURE=AMD64 > > When I follow the above CMake command with the following: > > devenv MySQL.sln /build RelWithDebInfo > > I get 32-bit results generated, which is not what I want. > > How can I get CMake to generate a 64-bit build? > > Thanks so much. > > > -- > > 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