[Cmake-commits] CMake branch, master, updated. v3.10.1-641-g0822934
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 08229348a89ee4b9da893ed2ba448cb2a94ce572 (commit) from d4fb3136d5b32ac17ce6bc00d9f62163ba5bd800 (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=08229348a89ee4b9da893ed2ba448cb2a94ce572 commit 08229348a89ee4b9da893ed2ba448cb2a94ce572 Author: Kitware Robot <kwro...@kitware.com> AuthorDate: Sun Dec 17 00:01:11 2017 -0500 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Sun Dec 17 00:01:11 2017 -0500 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 97d923c..0b76996 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 10) -set(CMake_VERSION_PATCH 20171216) +set(CMake_VERSION_PATCH 20171217) #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 https://cmake.org/mailman/listinfo/cmake-commits
Re: [CMake] MinGW Compilers on Windows
I just want to throw out there, I use MinGW (with MingW Makefiles) wihtout MSYS just fine for most things including OpenCV which I tested first day and had no issues... but by then others had already commented.All that requires is mingw(64).bin and cmake/bin in your path Thank you, that's reassuring. I have not started on the 64-bit build yet. Kevan -- Kevan Hashemi, Electrical Engineer Physics Department, Brandeis University http://alignment.hep.brandeis.edu/ -- 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: https://cmake.org/mailman/listinfo/cmake
Re: [CMake] Installing and exporting multiple configurations of the same library
2017-12-16 0:18 GMT+01:00 Saad Khattak: > Hi, > > I have 4 configurations (2 for Debug and 2 for Release) and I would like > to install the libraries such that they are installed in the correct > directories. > > Installing without worrying about configurations looks like this: > > install(TARGETS ${LIB_NAME} > EXPORT ${LIB_NAME}Config > PUBLIC_HEADER DESTINATION "include/${LIB_NAME}" > LIBRARY DESTINATION "bin/${LIB_NAME}/" > ARCHIVE DESTINATION "lib/${LIB_NAME}/" > ) > > However, different configurations overwrite the binaries. So instead, I > did something like this (I'm going over all my configurations in a foreach): > > install(TARGETS ${LIB_NAME} > CONFIGURATIONS DEBUG > EXPORT ${LIB_NAME}Config > PUBLIC_HEADER DESTINATION "include/${LIB_NAME}" > LIBRARY DESTINATION "bin/${LIB_NAME}/debug/" > ARCHIVE DESTINATION "lib/${LIB_NAME}/debug" > ) > > install(TARGETS ${LIB_NAME} > CONFIGURATIONS RELEASE > EXPORT ${LIB_NAME}Config > PUBLIC_HEADER DESTINATION "include/${LIB_NAME}" > LIBRARY DESTINATION "bin/${LIB_NAME}/release/" > ARCHIVE DESTINATION "lib/${LIB_NAME}/release/" > ) > > however, that results in the error: > CMake Error: INSTALL(EXPORT ...) includes target "MyLibrary" more than > once in the export set. > > The error makes sense, in that I cannot have multiple exports in the same > export set, in this case ${LIB_NAME}Config. However, I would like CMake to > choose a different directory based on the configuration. > A simple solution would be to write install(TARGETS ${LIB_NAME} CONFIGURATIONS DEBUG EXPORT ${LIB_NAME}Config-d PUBLIC_HEADER DESTINATION "include/${LIB_NAME}" LIBRARY DESTINATION "bin/${LIB_NAME}/debug/" ARCHIVE DESTINATION "lib/${LIB_NAME}/debug" ) install(TARGETS ${LIB_NAME} CONFIGURATIONS RELEASE EXPORT ${LIB_NAME}Config PUBLIC_HEADER DESTINATION "include/${LIB_NAME}" LIBRARY DESTINATION "bin/${LIB_NAME}/release/" ARCHIVE DESTINATION "lib/${LIB_NAME}/release/" ) and then use FILE parameter for install(EXPORT ... FILE ${LIB_NAME}Config.cmake ...) command to rename the file from ${LIB_NAME}Config-d.cmake to ${LIB_NAME}Config.cmake. See here for details: https://cmake.org/cmake/help/latest/command/install.html#installing-exports. Also one thing that you can do is set: set(CMAKE_DEBUG_POSTFIX "-debug") so that your libraries when built in Debug mode will automatically get -debug suffix (example: my_lib.so for Release and my_lib-debug.so for debug). This way you don't need to install the library in two separate sub directories (named debug/ and release/ in your case). > Now there is a workaround... sort of. I could name the binaries based on > the configuration but that doesn't work with our existing build systems. We > want the following: > > lib/${LIB_NAME}/${CONFIG}/libname > > Any way to get CMake to install the libraries this way? > Not certain what the intended way of doing this debug/releas export on Linux is as you can only build one build type at a time but the install(EXPORT ...) command already generates: ${LIB_NAME}Config.cmake and ${LIB_NAME}Config-debug.cmake or ${LIB_NAME}Config-release.cmake If you install the files in two separate directories and diff them you'll notice that ${LIB_NAME}Config.cmake files (and Version files if you generate one) are the same and -debug.cmake and -release.cmake differ so possibly it's intended to simply override the two files and don't care about it since the build specific files are exported under different names and included automatically in ${LIB_NAME}Config.cmake file anyway. I hope somebody else will shed some light on this part. Regards, Domen -- 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: https://cmake.org/mailman/listinfo/cmake
[CMake] CMake skip unnecessary compiler checks
Hi, We have about a hundred projects that use CMake to do the compilation. Each night, we do a clean build and CMake performs unnecessary compiler checks for every single project: -- The C compiler identification is MSVC 17.0.61030.0 -- The CXX compiler identification is MSVC 17.0.61030.0 -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin/x86_amd64/cl.exe -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin/x86_amd64/cl.exe -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin/x86_amd64/cl.exe -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin/x86_amd64/cl.exe -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Configuring done -- Generating done -- Build files have been written to: x Now I can understand if CMake needs to do it once, but when it does this 100 times, the build slows down a few seconds per project for no reason especially when we know, after the first project generation, that things are working. Using the workaround "project(myProj NONE)" is not good because it has other side effects. I would like CMake to cache the result of the above checks somehow for subsequent projects. Also, just as an FYI for anyone on Linux, CMake's compiler identification and checking for a working compiler works almost instantaneously on Linux (e.g. trying the same on Linux will start the generation process pretty much instantaneously). On Windows this takes a while (about 8 seconds). Not sure why there is a big discrepancy in the way the compilers are identified and checked. Thank you, Saad -- 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: https://cmake.org/mailman/listinfo/cmake