Re: [cmake-developers] [Development] Installing Qt5Config.cmake from the Qt repo?
On Friday, October 28, 2011 13:56:20 Thiago Macieira wrote: On Friday, 28 de October de 2011 13:13:20 Stephen Kelly wrote: * If you want to be easily found for others to depend on, you write a PackageConfig.cmake file and install it to a location CMake will use to find things like that. I assume this is similar to how pkgconfig works, but I have never used pkgconfig. Just like pkgconfig, I'd recommend that we make it one file per library, not one global Qt5Config.cmake. What I want to investigate (I haven't yet, but I'm confident it will work) is if we can have both. We could have Qt5Core.cmake, Qt5Gui.cmake etc, and Qt5Config would be an aggregate which include()s the other configs based on the FIND_COMPONENTS. find_package(Qt5 COMPONENTS QtCore) or find_package(Qt5 COMPONENTS QtGui) for example. Alternatively, let's be very clear: it's Qt5EssentialsConfig.cmake and it includes NO other Qt addon. For those addons, they need to provide the Config files themselves. Can you remind me where to find out what Qt5Essentials is or where I can find out? Searching in http://wiki.qt-project.org/ isn't throwing up anything. Is it roughly the contents of qtbase.git? Or does it include qtdeclarative.git too? Details like what would be included in Qt5Config could be discussed once there's some prototyping happening. I don't really feel strongly about it as long as it's roughly equivalent to what was made available by FindQt4.cmake. I'll wait a bit for other objections before prototyping though anyway. Then we can start looking at the real details. Thanks, -- Stephen Kelly step...@kdab.com | Software Engineer KDAB (Deutschland) GmbH Co.KG, a KDAB Group Company www.kdab.com || Germany +49-30-521325470 || Sweden (HQ) +46-563-540090 KDAB - Qt Experts - Platform-Independent Software Solutions signature.asc Description: This is a digitally signed message part. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] odd build error
On 10/20/2011 5:17 PM, Clinton Stimpson wrote: For the non working build, we get this in the configure output: http://www.cdash.org/CDash/buildSummary.php?buildid=1635763 -- Checking whether long long and __int64 are the same type -- Checking whether long long and __int64 are the same type - yes ... -- Checking whether C++ compiler has 'long long' -- Checking whether C++ compiler has 'long long' - no And a working build gets this: http://www.cdash.org/CDash/buildSummary.php?buildid=1633025 -- Checking whether long long and __int64 are the same type -- Checking whether long long and __int64 are the same type - yes ... -- Checking whether C++ compiler has 'long long' -- Checking whether C++ compiler has 'long long' - yes -- Checking if istream supports long long -- Checking if istream supports long long - yes -- Checking if ostream supports long long -- Checking if ostream supports long long - yes OK, so we have a log from a broken build now. http://public.kitware.com/Bug/view.php?id=12523 Basically, it seems that Checking whether C++ compiler has 'long long' failed to compile with the following output: LINK: fatal error LNK1104: File C: \ work-c \ b1 \ CMake \ Source \ kwsys \ CMakeFiles \ CMakeTmp \ Debug \ cmTryCompileExec.exe GE can not be opened. [C: \ work-c \ b1 \ CMake \ Source \ kwsys \ CMakeFiles \ CMakeTmp \ cmTryCompileExec.vcxproj] The cmTryCompileExec.exe can not be written to for some reason. Any ideas? -Bill -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] odd build error
On Fri, Oct 28, 2011 at 9:18 AM, Bill Hoffman bill.hoff...@kitware.com wrote: On 10/20/2011 5:17 PM, Clinton Stimpson wrote: For the non working build, we get this in the configure output: http://www.cdash.org/CDash/buildSummary.php?buildid=1635763 -- Checking whether long long and __int64 are the same type -- Checking whether long long and __int64 are the same type - yes ... -- Checking whether C++ compiler has 'long long' -- Checking whether C++ compiler has 'long long' - no And a working build gets this: http://www.cdash.org/CDash/buildSummary.php?buildid=1633025 -- Checking whether long long and __int64 are the same type -- Checking whether long long and __int64 are the same type - yes ... -- Checking whether C++ compiler has 'long long' -- Checking whether C++ compiler has 'long long' - yes -- Checking if istream supports long long -- Checking if istream supports long long - yes -- Checking if ostream supports long long -- Checking if ostream supports long long - yes OK, so we have a log from a broken build now. http://public.kitware.com/Bug/view.php?id=12523 Basically, it seems that Checking whether C++ compiler has 'long long' failed to compile with the following output: LINK: fatal error LNK1104: File C: \ work-c \ b1 \ CMake \ Source \ kwsys \ CMakeFiles \ CMakeTmp \ Debug \ cmTryCompileExec.exe GE can not be opened. [C: \ work-c \ b1 \ CMake \ Source \ kwsys \ CMakeFiles \ CMakeTmp \ cmTryCompileExec.vcxproj] The cmTryCompileExec.exe can not be written to for some reason. Any ideas? -Bill -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers Reboot the machine...? Use Process Explorer to hunt down and kill rogue VS instances? Maybe a hung/dead Visual Studio from a previous run has a lock on the file. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] [Development] Installing Qt5Config.cmake from the Qt repo?
On Friday, October 28, 2011 16:24:08 Matt Williams wrote: On 28 October 2011 14:44, lars.kn...@nokia.com wrote: I think that's reasonable in general. It's similar to what we do to support pkgconfig. I agree with Thiago's comment that this should be split and we should have one file per shared library. I think Stephen's suggestion of having one CMake file for all Qt Essentials using find_package(Qt5 COMPONENTS QtGui etc...) makes the most sense, at least for specifying which QtEssential libraries to build against. It is the way most CMake files like this are done and is not dissimilar to how the existing FindQt4.cmake works. Whether we have a separate CMake file for Qt Addons (whether a separate one for each module of another combined one) becomes a separate issue. Yes, that should certainly work. The idea of one config file per library should also work: find_package(Qt5Core) find_package(Qt5Gui) find_package(Qt5Widgets) then the contents of Qt5Config would look something like (CMake code): foreach(_component Qt5_FIND_COMPONENTS) if (_component MATCHES QtCore) find_package(Qt5Core NOMODULE) endif() # ... etc endforeach() Regarding what Qt5Config should be able to find, I would say that it should be able to find QtWidgets, which is not an essential module, but an addon in Qt 5. I'll prototype it next week and see how it goes. How is this dependency wise? Would we need to install these files into a special location and how do we know where this location is? Does supporting the feature require cmake to be installed? From http://www.cmake.org/cmake/help/cmake2.6docs.html#command:find_package (page down a little) you have a number of options of where to install them. For example prefix/(share|lib)/name*/(cmake|CMake)/ where prefix could be /usr and name could be 'Qt5' so they could be installed in /usr/share/Qt5/cmake. There's similar special paths on Windows and Mac. For the purpose of building and installing Qt we have no dependence on CMake. As Stephen says the files could just be created from some templates using a bit of Perl (or whatever you want). For someone building a project which depends on Qt they would of course need CMake to find these files. Yep, I have nothing more to add to this. Thanks, -- Stephen Kelly step...@kdab.com | Software Engineer KDAB (Deutschland) GmbH Co.KG, a KDAB Group Company www.kdab.com || Germany +49-30-521325470 || Sweden (HQ) +46-563-540090 KDAB - Qt Experts - Platform-Independent Software Solutions signature.asc Description: This is a digitally signed message part. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
[cmake-developers] [CMake 0012545]: Installer creates duplicate entries in Programs and Features (Add / Remove Programs) when installing upgrades
The following issue has been SUBMITTED. == http://public.kitware.com/Bug/view.php?id=12545 == Reported By:void.pointer Assigned To: == Project:CMake Issue ID: 12545 Category: CMake Reproducibility:always Severity: major Priority: high Status: new == Date Submitted: 2011-10-28 11:25 EDT Last Modified: 2011-10-28 11:25 EDT == Summary:Installer creates duplicate entries in Programs and Features (Add / Remove Programs) when installing upgrades Description: I previously had CMake 2.8.5 installed. When I installed CMake 2.8.6 over it, I now have 2 entries for CMake in my Programs and Features section of the control panel in Windows 7 Steps to Reproduce: 1) Install CMake 2.8.5 2) Install CMake 2.8.6 == Issue History Date ModifiedUsername FieldChange == 2011-10-28 11:25 void.pointer New Issue == -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Bug fix requests for the *next* release of CMake...
0010476 No program output if CTest aborts test with timeout 0010941 Code comments for many commands are wrong (copypaste) 0012054 FindJava.cmake too noisy on second run 0010740 STRING(SUBSTRING) should work with length -1 0009658 FindQt4.cmake depends on C language These is fixed AFAICT and should be closed 0011333 FindThreads incorrectly adds -pthread to linker options This was in last time until we found out that CHECK_SYMBOL_EXISTS is unreliable which caused this to be broken. 0011792 Improve handling of CTEST_SITE 0008466 Provide finer control than pass/fail for a test program 0012441 No progress reporting for add_custom_command signature.asc Description: This is a digitally signed message part. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Bug fix requests for the *next* release of CMake...
On Fri, Oct 28, 2011 at 12:13 PM, Rolf Eike Beer e...@sf-mail.de wrote: 0010476 No program output if CTest aborts test with timeout 0010941 Code comments for many commands are wrong (copypaste) 0012054 FindJava.cmake too noisy on second run 0010740 STRING(SUBSTRING) should work with length -1 0009658 FindQt4.cmake depends on C language These is fixed AFAICT and should be closed They are all marked as resolved now. I leave resolved bugs open for 4 months after they are marked as such in order to give the original reporters time to re-open them if they disagree with the resolution, or in case a problem comes back. Once a month, I close out bugs that have been resolved for more than 4 months with no new updates. They'll be closed when they pass that threshold. 0011333 FindThreads incorrectly adds -pthread to linker options This was in last time until we found out that CHECK_SYMBOL_EXISTS is unreliable which caused this to be broken. 0011792 Improve handling of CTEST_SITE 0008466 Provide finer control than pass/fail for a test program 0012441 No progress reporting for add_custom_command I've added these to the roadmap, ...with the exception of http://public.kitware.com/Bug/view.php?id=8466 -- I'm not going to consider 8466 further until somebody attaches a concrete proposal to it in the form a fully documented, fully tested patch. I don't think it's a reasonable request. If somebody out there cares enough about it, then please, by all means, attach a patch to it and let's discuss further. I don't think giving special treatment and status to 77, one possible value out of 4 billion integer return values is reasonable. Thanks, David -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [CMake] specify solution name with --build
I've tried one more PROJECT and seems it's fixed now, thanks. 2011/10/26 David Cole david.c...@kitware.com On Oct 26, 2011, at 6:03 AM, Anton Sibilev anton.sibi...@gmail.com wrote: Seem I've found issue, in CMakeCache.txt I have two targets: //Value Computed by CMake Project_BINARY_DIR:STATIC=C:/_work/test_build //Value Computed by CMake Project_SOURCE_DIR:STATIC=C:/_work/test //Value Computed by CMake test_BINARY_DIR:STATIC=C:/_work/test_build //Value Computed by CMake test_SOURCE_DIR:STATIC=C:/_work/test May be that is why I have problem with --build? But I use project( test ) function only one time.. How I can remove this from projects generation? 2011/10/26 Anton Sibilev anton.sibi...@gmail.com Hello! Can you please help me? I use such cmdline to run build with CMake - cmake-2.8.6\bin\cmake --build folder_with_solution, where folder_with_solution is folder with some_name.sln file. And what I have is: The following files were specified on the command line: Project.sln These files could not be found and will not be loaded. Can I somehow specify the name of solution/project file? On linux --build works fine with Makefiles. Thanks! -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake The problem here is likely an incorrect value of CMAKE_PROJECT_NAME in the CMakeCache.txt file. If so, that probably means you do not have a PROJECT command in your top level CMakeLists.txt file. Simply add one, and try a fresh build. (Starting with an empty directory...) cmake --build uses the value of CMAKE_PROJECT_NAME to figure out what sln file name to pass to Visual Studio for building. HTH, David -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Bug fix requests for the *next* release of CMake...
Hi. This one, please: http://public.kitware.com/Bug/view.php?id=12273 (*very* easy ;)) And this one too: http://public.kitware.com/Bug/view.php?id=11773 Thanks, Claudio -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] cpack ZipDLL / Nsis installer problem.
Hello, I found a work around for my problem related to NSIS / ZipDLL. I rebuild the ZipDLL plugin and changed the OpenFile method: I force the use of SH_DENYNO. I still don't know why this is happening, but I am digging ... int ZipPlatform::OpenFile(LPCTSTR lpszFileName, UINT iMode, int iShareMode) { switch (iShareMode) { case (CZipFile::shareDenyWrite CZipFile::shareDenyRead): iShareMode = SH_DENYRW; break; case (CZipFile::shareDenyRead): iShareMode = SH_DENYRD; break; case (CZipFile::shareDenyWrite): iShareMode = SH_DENYWR; break; default: iShareMode = SH_DENYNO; } //YC: return _tsopen(lpszFileName, iMode, iShareMode, S_IREAD | S_IWRITE /*required only when O_CREAT mode*/); return _tsopen(lpszFileName, iMode, SH_DENYNO, S_IREAD | S_IWRITE /*required only when O_CREAT mode*/); } Best regards, YC -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] bash-script-like project
I'm experiment a bit with CMake and now I would like to automate the configuration of my Emacs configuration. In my configuration I have many git submodules and some of them need to be actually compiled. So I just need to do a foreach loop and run for each of them the right command, very simple. So first I did a very fancy thing with functions and macro macro (execute_in_subdir subdir command) execute_process( COMMAND ${command} WORKING_DIRECTORY ${subdir} ) endmacro () function (to_master_branch subdir) # do I ever need execute_process? execute_in_subdir(${subdir} git checkout master) endfunction() set(simple_make make) #TODO: add the setting for the Emacs output set(autoconf autoreconf -fi ./configure make) function (org_compile) execute_in_subdir(org_mode ${simple_make}) endfunction() #TODO: we need to have all these tools function (doxymacs) execute_in_subdir(doxymacs ${autoconf}) endfunction() function (tramp) execute_in_subdir(tramp ${autoconf}) endfunction() But then I actually wanted a target, and I can't find a way to call functions from the custom_target. Then I found out that something like this also works and is much simpler: add_custom_target( org-mode ALL cd org-mode make ) But what's the best way to do something like this? -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Bug fix requests for the *next* release of CMake...
I just created a bug here: http://public.kitware.com/Bug/view.php?id=12545 The issue involves duplicate entries in the Add Remove Programs dialog in Windows 7 when installing upgrades for CMake using the installer. I'd like to see this cleaned up by the next release, as subsequent upgrades will surely only add more duplicated entries. - Robert Dailey On Fri, Oct 21, 2011 at 11:19 AM, David Cole david.c...@kitware.com wrote: Hi all, *NO* replies requested. Different technique this time. Please edit the bug tracker directly. (Unless you have problems with the bug tracker: if so, please feel free to reply here with your suggestions.) We are planning for CMake 2.8.7, aiming for a December release. We're targeting Dec. 28, 2011 for releasing it, and in order to make that happen we'll have to do an rc1 by Dec. 7th or so... about 7 weeks from now. If you have a particular issue that you think should be fixed for inclusion in 2.8.7, please put it on the roadmap yourself by the end of next week, Fri. Oct. 28th. To do so, edit the bug at http://public.kitware.com/Bug and set the Target Version field to CMake 2.8.7 - that will make it appear on the roadmap page ( http://www.cmake.org/Bug/roadmap_page.php?version_id=89 ). Also: add a note saying why it's important to you, or even add a patch that fixes and documents and tests it if you're able to. Ideally, each issue will be discussed as needed on the mailing list to come to any consensus about what should be done to fix it, and then the entry in the bug tracker may be used to keep it on the radar screen, and to track activity related to it. Patches are *always* welcome. Patches that include testing of any new features, or tests that prove a bug is really fixed on the dashboards are better: a patch with testing is strongly preferred over a patch with no testing. Also, if you are *adding* code, then you also probably need to add *tests* of that code, so that the coverage percentage stays as is or rises. Please discuss issues here on the mailing list as needed, and add notes to existing issues in the bug tracker that you are interested in seeing fixed for 2.8.7 -- we will be looking at activity both on the mailing list and in the bug tracker to help prioritize the bug fixes for the next couple months. Thanks, David Cole Kitware, Inc. P.S. - as a nice summary of what we accomplished in the CMake 2.8.6 release, including contributions from 27 individuals around the world, see here: http://public.kitware.com/Bug/changelog_page.php?version_id=87 -- it currently lists 43 issues that we resolved: nice job, everybody! (Many of those were specifically addressed because somebody brought it up in response to my similar email from just after 2.8.5... Don't be shy!) -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Weird linking error while cross compiling
I give up. I solved the problem with the solution Michael gave me. Actually this linking flag : -Bstatic was the causant of the troubles. Nevertheless now I get undefined references to functions defined in the library portablexdr . I have been trying to fix it for two days without success. The library is being linked and I have checked the content of the library with mingw32-nm and it has all the functions defined. I have to say that I modified and rebuilt the library to include some functions that were not present ( portableXDR does not follow the Sun XDR standard). So I guess this is what it is causing me the troubles but It should not since I rebuilt it without problems and when I check the content of the library with nm the functions are there. Any help?? Thank you Jose 2011/10/26 Michael Hertling mhertl...@online.de On 10/26/2011 10:28 AM, Andreas Pakulat wrote: On 26.10.11 03:54:02, Jose wrote: Sorry for not being very specific. This is the command that Cmake is running while linking : /usr/bin/i686-pc-mingw32-g++ -O3 -O3-Wl,-Bstatic -static-libgcc -Wl,--whole-archive CMakeFiles/sqt2pin.dir/objects.a -Wl,--no-whole-archive -o sqt2pin.exe -Wl,--out-implib,libsqt2pin.dll.a -Wl,--major-image-version,0,--minor-image-version,0 -L/home/fedora/percolator/percolator/src/converters/../../src libconverters.a libperclibrary_part.a MSToolkit/libMSToolkit.a MSToolkit/RAMP/libRAMP.a -lxerces-c -lportablexdr /home/fedora/percolator/percolator/src/converters/libs/dll/libtokyocabinet.a -lz -lsqlite3 -Wl,-Bstatic -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 /usr/lib/gcc/i686-pc-mingw32/4.5.3/../../../../i686-pc-mingw32/bin/ld: cannot find -lxerces-c /usr/lib/gcc/i686-pc-mingw32/4.5.3/../../../../i686-pc-mingw32/bin/ld: cannot find -lportablexdr /usr/lib/gcc/i686-pc-mingw32/4.5.3/../../../../i686-pc-mingw32/bin/ld: cannot find -lz /usr/lib/gcc/i686-pc-mingw32/4.5.3/../../../../i686-pc-mingw32/bin/ld: cannot find -lsqlite3 That is weird cos I load all the libraries in the same way and they all the variables content the right paths to the libraries : (for example) Xercesc : /usr/i686-pc-mingw32/sys-root/mingw/lib/libxerces-c.dll.a , XDR : /usr/i686-pc-mingw32/sys-root/mingw/lib/libportablexdr.dll.a This is how I link : #COMPILING SQT2PIN include_directories(. MSToolkit/RAMP MSToolkit ) add_executable(sqt2pin Sqt2Pin.cpp ) IF(STATIC AND MINGW) set_property(TARGET sqt2pin PROPERTY LINK_SEARCH_END_STATIC ON) set_target_properties(sqt2pin PROPERTIES LINK_FLAGS -Wl,-Bstatic -static-libgcc) ENDIF() message(STATUS Xercesc : ${XERCESC_LIBRARIES} , XDR : ${PORTABLEXDR_LIBRARIES}) target_link_libraries(sqt2pin converters perclibrary_part MSToolkit RAMP ${XERCESC_LIBRARIES} ${PORTABLEXDR_LIBRARIES} ${TOKYOCABINET_LIBRARIES} ) I might be missing something very stupid because I use the same prodecure to search for the librarysthe FindXXX.cmake macros that are tested and working with other programs. Could it be the include_directories(library include dir) which is messing this up? it looks like the linker disregard the path of the library that Im pasinng and looks for -lxerces-c instead. Is that xerces-c defined somehow before? This happens if the library is considered to be in a 'system path' since in that case specifying the path is not necessary for the linker to find it. However in your specific case it seems like cmake does this even for static libraries, which is of course wrong. I'd suggest to file a bugreport for this with a small self-contained example. Andreas The -l switch of ld is not related to the library's type, i.e. shared or static; see ld's manpage and the following example: CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR) PROJECT(STATIC C) SET(CMAKE_VERBOSE_MAKEFILE ON) FILE(WRITE ${CMAKE_BINARY_DIR}/f.c int f(void){return 0;}\n) EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -c f.c) EXECUTE_PROCESS(COMMAND ${CMAKE_AR} cr libf.a f.o) FILE(WRITE ${CMAKE_BINARY_DIR}/main.c int main(void){return f();}\n) ADD_EXECUTABLE(main main.c) TARGET_LINK_LIBRARIES(main -L${CMAKE_BINARY_DIR} f /usr/lib/libz.a) The executable main is linked against the static libf.a via the -l switch. Usually, in particular on ELF systems, ld just prefers shared libraries with -l unless it is told to not do so, e.g. using -Bstatic. However, MinGW's ld behaves differently in this regard; IIRC, it even prefers static and import libraries to shared ones with the -l switch. BTW, /usr/lib/libz.a is converted into -Wl,-Bstatic -lz -Wl,-Bdynamic due to /usr/lib being a system directory, i.e. CMake performs this -l conversion of full paths in system directories for static libraries, too; why should it be called wrong? Jose, could you find out which directories CMake considers as system directories and if these are actually
[CMake] Dependency question
I'm using CMake 2.8.6 and generating for VS 2003. I have a DLL project that my EXE project needs to depend on, however I don't want my EXE to link against that DLL's import library, since the EXE will call LoadLibrary() to dynamically import symbols from the DLL being built. I want the EXE project to depend on the DLL project so that in visual studio the DLL is built when I build the EXE (because of project dependencies), but I don't want the DLL 's import LIB to be linked in via command line. Any way to do this? - Robert Dailey -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Dependency question
On Fri, Oct 28, 2011 at 1:06 PM, Robert Dailey rcdai...@gmail.com wrote: I'm using CMake 2.8.6 and generating for VS 2003. I have a DLL project that my EXE project needs to depend on, however I don't want my EXE to link against that DLL's import library, since the EXE will call LoadLibrary() to dynamically import symbols from the DLL being built. I want the EXE project to depend on the DLL project so that in visual studio the DLL is built when I build the EXE (because of project dependencies), but I don't want the DLL 's import LIB to be linked in via command line. Any way to do this? - Robert Dailey -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake add_dependencies(exe dll) But use the CMake target names, not exe and dll... That makes sure that the project build for dll is completely done before beginning any build commands for the exe project. HTH, David -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Dependency question
On Fri, Oct 28, 2011 at 12:25 PM, David Cole david.c...@kitware.com wrote: On Fri, Oct 28, 2011 at 1:06 PM, Robert Dailey rcdai...@gmail.com wrote: I'm using CMake 2.8.6 and generating for VS 2003. I have a DLL project that my EXE project needs to depend on, however I don't want my EXE to link against that DLL's import library, since the EXE will call LoadLibrary() to dynamically import symbols from the DLL being built. I want the EXE project to depend on the DLL project so that in visual studio the DLL is built when I build the EXE (because of project dependencies), but I don't want the DLL 's import LIB to be linked in via command line. Any way to do this? - Robert Dailey -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake add_dependencies(exe dll) But use the CMake target names, not exe and dll... That makes sure that the project build for dll is completely done before beginning any build commands for the exe project. Correct me if I'm wrong but doesn't this still cause the LIB to be linked? There is an option to inherit dependency libraries in project settings which is enabled, so CMake would somehow need to specify this import library to be ignored. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Dependency question
I tested this and it works! I was using target_link_libraries() before which sets the dependency but also links it. I noticed that it creates a fubar_UTILITY project in addition to fubar project in my solution when I specify it in add_dependencies()... is this normal? What does the _UTILITY project do? - Robert Dailey On Fri, Oct 28, 2011 at 12:32 PM, Robert Dailey rcdai...@gmail.com wrote: On Fri, Oct 28, 2011 at 12:25 PM, David Cole david.c...@kitware.comwrote: On Fri, Oct 28, 2011 at 1:06 PM, Robert Dailey rcdai...@gmail.com wrote: I'm using CMake 2.8.6 and generating for VS 2003. I have a DLL project that my EXE project needs to depend on, however I don't want my EXE to link against that DLL's import library, since the EXE will call LoadLibrary() to dynamically import symbols from the DLL being built. I want the EXE project to depend on the DLL project so that in visual studio the DLL is built when I build the EXE (because of project dependencies), but I don't want the DLL 's import LIB to be linked in via command line. Any way to do this? - Robert Dailey -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake add_dependencies(exe dll) But use the CMake target names, not exe and dll... That makes sure that the project build for dll is completely done before beginning any build commands for the exe project. Correct me if I'm wrong but doesn't this still cause the LIB to be linked? There is an option to inherit dependency libraries in project settings which is enabled, so CMake would somehow need to specify this import library to be ignored. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] Blog series on Cross-Compiling from Windows for ARM Linux
Hi Guys, I just wished to let you know about a blog series I'm working on: http://blog.quickforge.co.uk/2011/10/exploration-of-cross-compiling-on-windows-for-arm-linux-distributions/ It details my experiences working with CMake, Boost, Wt and more whilst cross-compiling from Windows for ARM GNU Linux. Hopefully some of you out there may find it useful. -- Many thanks, Alistair Lowe -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Dependency question
On Fri, Oct 28, 2011 at 1:52 PM, Robert Dailey rcdai...@gmail.com wrote: I tested this and it works! I was using target_link_libraries() before which sets the dependency but also links it. I noticed that it creates a fubar_UTILITY project in addition to fubar project in my solution when I specify it in add_dependencies()... is this normal? What does the _UTILITY project do? Yes, it's normal. The _UTILITY project is there just to establish dependencies correctly in VS 7.1 and earlier. Starting with VS8 the _UTILITY targets are no longer generated. - Robert Dailey On Fri, Oct 28, 2011 at 12:32 PM, Robert Dailey rcdai...@gmail.com wrote: On Fri, Oct 28, 2011 at 12:25 PM, David Cole david.c...@kitware.com wrote: On Fri, Oct 28, 2011 at 1:06 PM, Robert Dailey rcdai...@gmail.com wrote: I'm using CMake 2.8.6 and generating for VS 2003. I have a DLL project that my EXE project needs to depend on, however I don't want my EXE to link against that DLL's import library, since the EXE will call LoadLibrary() to dynamically import symbols from the DLL being built. I want the EXE project to depend on the DLL project so that in visual studio the DLL is built when I build the EXE (because of project dependencies), but I don't want the DLL 's import LIB to be linked in via command line. Any way to do this? - Robert Dailey -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake add_dependencies(exe dll) But use the CMake target names, not exe and dll... That makes sure that the project build for dll is completely done before beginning any build commands for the exe project. Correct me if I'm wrong but doesn't this still cause the LIB to be linked? There is an option to inherit dependency libraries in project settings which is enabled, so CMake would somehow need to specify this import library to be ignored. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] Linker Include Path
Hi all, I'm using cmake (2.8.5) to build a set of C++ libraries. I have a project directory structure which is basically organized like this: package/component/CMakeLists.txt package/component/inc/foo.hpp package/component/src/foo.cpp Boiled down, my CMakeLists.txt for this component looks like this: SET(HEADERS inc/foo.hpp) SET(SOURCES src/foo.cpp) SET(LIBS whatever) INCLUDE_DIRECTORIES(inc) ADD_LIBRARY(MyLib ${HEADERS} ${SOURCES}) TARGET_LINK_LIBRARIES(MyLib ${LIBRARIES}) This has worked fine for me. Now, however, I would like to add another subdirectory to the src tree (this has organizational reasons), resulting in something like this: package/component/CMakeLists.txt package/component/inc/foo.hpp package/component/src/foo.cpp package/component/src/xyz/xyz.cpp I modified the SOURCES assignment in my CMakeLists.txt like so: SET(SOURCES src/foo.cpp src/xyz/xyz.cpp) While this does compile, it does not link. I assume that this is because the xyz.o is put in CURRENT_BINARY_OUTPUT/xyz/xyz.o and the linker does not include that subdirectory. If I move the source file up by one level (i.e. into the src directory), everything compiles and links just fine, but that's not really an acceptable solution. Is there some (portable) way to tell CMake to include the xyz output path so that xyz.o is found at link time? Thanks in advance for your help! Matthias -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Linker Include Path
Can you put a CMakeLists.txt in the xyz directory, like this? add_library(xyz xyz.c) And then in the src/CMakeLists file, do: add_subdirectory(xyz) ... add_library(src ${SOURCES}) target_link_libraries(src xyz) Or is there some reason that xyz.c must be in a different directory, but the same library/executable as the files listed in SOURCES? On Fri, Oct 28, 2011 at 2:44 PM, Matthias Schweinoch matthias.schwein...@gmx.de wrote: Hi all, I'm using cmake (2.8.5) to build a set of C++ libraries. I have a project directory structure which is basically organized like this: package/component/CMakeLists.txt package/component/inc/foo.hpp package/component/src/foo.cpp Boiled down, my CMakeLists.txt for this component looks like this: SET(HEADERS inc/foo.hpp) SET(SOURCES src/foo.cpp) SET(LIBS whatever) INCLUDE_DIRECTORIES(inc) ADD_LIBRARY(MyLib ${HEADERS} ${SOURCES}) TARGET_LINK_LIBRARIES(MyLib ${LIBRARIES}) This has worked fine for me. Now, however, I would like to add another subdirectory to the src tree (this has organizational reasons), resulting in something like this: package/component/CMakeLists.txt package/component/inc/foo.hpp package/component/src/foo.cpp package/component/src/xyz/xyz.cpp I modified the SOURCES assignment in my CMakeLists.txt like so: SET(SOURCES src/foo.cpp src/xyz/xyz.cpp) While this does compile, it does not link. I assume that this is because the xyz.o is put in CURRENT_BINARY_OUTPUT/xyz/xyz.o and the linker does not include that subdirectory. If I move the source file up by one level (i.e. into the src directory), everything compiles and links just fine, but that's not really an acceptable solution. Is there some (portable) way to tell CMake to include the xyz output path so that xyz.o is found at link time? Thanks in advance for your help! Matthias -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Linker Include Path
Sorry, never mind: Problem has resolved itself. The linker error was due to some other dependency. On 28/10/11 20:44, Matthias Schweinoch wrote: Hi all, I'm using cmake (2.8.5) to build a set of C++ libraries. I have a project directory structure which is basically organized like this: package/component/CMakeLists.txt package/component/inc/foo.hpp package/component/src/foo.cpp Boiled down, my CMakeLists.txt for this component looks like this: SET(HEADERS inc/foo.hpp) SET(SOURCES src/foo.cpp) SET(LIBS whatever) INCLUDE_DIRECTORIES(inc) ADD_LIBRARY(MyLib ${HEADERS} ${SOURCES}) TARGET_LINK_LIBRARIES(MyLib ${LIBRARIES}) This has worked fine for me. Now, however, I would like to add another subdirectory to the src tree (this has organizational reasons), resulting in something like this: package/component/CMakeLists.txt package/component/inc/foo.hpp package/component/src/foo.cpp package/component/src/xyz/xyz.cpp I modified the SOURCES assignment in my CMakeLists.txt like so: SET(SOURCES src/foo.cpp src/xyz/xyz.cpp) While this does compile, it does not link. I assume that this is because the xyz.o is put in CURRENT_BINARY_OUTPUT/xyz/xyz.o and the linker does not include that subdirectory. If I move the source file up by one level (i.e. into the src directory), everything compiles and links just fine, but that's not really an acceptable solution. Is there some (portable) way to tell CMake to include the xyz output path so that xyz.o is found at link time? Thanks in advance for your help! Matthias -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Wiki: version compatibility matrix
Hello David, I just finished the updated version for 2.8.6. Can you maybe check again with the wiki admins if the Cite extension can be added to the CMake wiki? Cheers, Johannes Ceterum censeo emendationem Cite esse immuniendam. On Wednesday 05 October 2011 16:51:43 David Cole wrote: Same request over again, but now for the hot-off-the-presses CMake 2.8.6 official release. Can you / do you have the time to update the wiki for 2.8.6? Thanks! David -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] cmake, boost on windows, and linking: shouldn't find_package have put BOOST_ROOT/lib into LIB?
I'm slowly learning cmake and converting some real software to it, targeting Linux, Windows, and Mac OS X. Along the way, I'm making minimal working examples (they're a lot easier to debug them than the real thing) and putting them up at http://code.google.com/p/winezeug/source/browse/#svn/trunk/cmake_examples Today, I wrote an example that uses a single function from boost. It's at http://code.google.com/p/winezeug/source/browse/#svn%2Ftrunk%2Fcmake_examples%2Fex4 For Linux, demo.sh builds and runs the example, assuming you've installed everything needed with apt-get. For Windows (or Linux with Wine), demo.bat builds and runs the example, assuming you've installed visual c++ 2005 express, the win 7 platform sdk, and boostpro.com's pre-build boost (the whole thing, don't skip any libraries, or you may be mystified why things don't link, like I was).It sets BOOST_ROOT so find_package can find boost. And now the question. I needed to put $BOOST_ROOT/lib into the LIB environment variable by hand (well, by running http://code.google.com/p/winezeug/source/browse/trunk/cmake_examples/settings.bat ). If I leave it out, I get the error LINK : fatal error LNK1104: cannot open file 'libboost_date_time-vc80-mt-gd-1_47.lib' when bulding on Windows. Shouldn't find_package have taken care of that? -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[Cmake-commits] CMake branch, master, updated. v2.8.6-113-gba5c649
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 ba5c6493d9a2ae1a24df725136395c36850de6f2 (commit) from 6a6f21412db4b34fdcc4ad4021ec12fa273b7aad (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ba5c6493d9a2ae1a24df725136395c36850de6f2 commit ba5c6493d9a2ae1a24df725136395c36850de6f2 Author: KWSys Robot kwro...@kitware.com AuthorDate: Sat Oct 29 00:01:10 2011 -0400 Commit: KWSys Robot kwro...@kitware.com CommitDate: Sat Oct 29 00:09:52 2011 -0400 KWSys Nightly Date Stamp diff --git a/Source/kwsys/kwsysDateStamp.cmake b/Source/kwsys/kwsysDateStamp.cmake index ed9dfce..4b7e3f2 100644 --- a/Source/kwsys/kwsysDateStamp.cmake +++ b/Source/kwsys/kwsysDateStamp.cmake @@ -18,4 +18,4 @@ SET(KWSYS_DATE_STAMP_YEAR 2011) SET(KWSYS_DATE_STAMP_MONTH 10) # KWSys version date day component. Format is DD. -SET(KWSYS_DATE_STAMP_DAY 28) +SET(KWSYS_DATE_STAMP_DAY 29) --- Summary of changes: Source/kwsys/kwsysDateStamp.cmake |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits