[CMake] Boost and multiplatform configurations
Hello all, I have a library that depends on boost. One user of this library compiles only x32 version. Second user compiles x64. Third user compiles both x32 and x64. First user has only x32 version of the boost in the BOOST_LIBRARYDIR. Second user only x64 version in the BOOST_LIBRARYDIR. Third user has both x32 in the BOOST_LIBRARYDIR/x32 and x64 version in the BOOST_LIBRARYDIR/x64. The question is how to configure boost to search BOOST_LIBRARYDIR/platform folder first then BOOST_LIBRARYDIR? BOOST_LIBRARYDIR does not support values list. Previous CMake 2.6 version used to support list of the values. Thanks. -- Dmytro Ovdiienko ___ 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] FindBoost: find both win32 and x64 static libs
Hicham, You can force boost to add compiler name to the library file name. Add --layout=versioned to the bjam command line. On 1 December 2010 00:37, Hicham Mouline hic...@mouline.org wrote: As boost libraries naming convention doesn't include in the lib names whether they are built by msvc9 win32 or x64, I am forced on a winxp 64 box where I hold both versions to have a different lib directory under boost_root. I set BOOST_ROOT then call FIND_PACKAGE(Boost 1.44 COMPONENTS ...). Am I supposed to detect which of vc9 32bit or 64bit am I generating for and then set BOOST_LIBRARYDIR depending on that before calling FIND_PACKAGE? How do I detect bitness? ___ 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 -- Dmytro Ovdiienko ___ 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] set CMAKE_INSTALL_PREFIX in CMakeLists
On 30-11-2010 at 18:48, in message 20101130174852.gc10...@cryptio.net, Tyler Roscoe ty...@cryptio.net wrote: On Thu, Nov 25, 2010 at 02:01:31PM +0100, Marcel Loose wrote: On 24-11-2010 at 17:45, in message 20101124164507.gg23...@cryptio.net, Tyler Roscoe ty...@cryptio.net wrote: On Wed, Nov 24, 2010 at 12:11:56PM +0100, Micha Renner wrote: SET(CMAKE_INSTALL_PREFIX /foo/bar CACHE PATH Foo install prefix) So, without the test to CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT, and without the FORCE option. No, as I mentioned, there was an article of one the CMake-maintainers who recommended this. Micha is correct. CMAKE_INSTALL_PREFIX is set before your CMakeLists.txt is processed, so the above will never do anything. tyler Well, I tested this before I posted my reply. It does work the way I describe it. Try it yourself. It doesn't work for me: [tyle...@tpb006:~/cmake-test-install-prefix]$ cmake --version cmake version 2.8.3 [tyle...@tpb006:~/cmake-test-install-prefix]$ cat CMakeLists.txt cmake_minimum_required(VERSION 2.8) project(p) set (CMAKE_INSTALL_PREFIX foo CACHE PATH docstring) message (CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}) [tyle...@tpb006:~/cmake-test-install-prefix]$ mkdir b cd b cmake .. -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done CMAKE_INSTALL_PREFIX = /usr/local -- Configuring done -- Generating done -- Build files have been written to: /tpb006/tylermr/cmake-test-install-prefix/b Hi Tyler, I now see why it works for me and not for you. Maybe I didn't write it clearly, but I do SET(CMAKE_INSTALL_PREFIX ...) *before* the call to PROJECT(). You are right that it doesn't work when you do it after the PROJECT() call. Unfortunately, the solution with the IF-test doesn't work when you use it before the PROJECT() call, for obvious reasons I would say. So, there are two solutions that work, but you have to choose carefully among them. 1) Use this snippet *before* PROJECT(xxx): SET(CMAKE_INSTALL_PREFIX path CACHE PATH comment) 2) Use this snippet *after* PROJECT(xxx): IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) SET(CMAKE_INSTALL_PREFIX path CACHE PATH comment FORCE) ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) Best regards, Marcel Loose. ___ 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] set CMAKE_INSTALL_PREFIX in CMakeLists
On 30-11-2010 at 21:36, in message 759ee5dc-038d-4c17-91da-98121049a...@mac.com, S Roderick kiwi@mac.com wrote: On Nov 30, 2010, at 13:40 , David Cole wrote: It probably works accidentally if you do the set before the project command. That is what we do, and it definitely works for us. Set it _before_ the PROJECT() statement. +1 for me. I have a LofarInit.cmake file that is included before PROJECT(LOFAR). I wouldn't want this feature to break. Regards, Marcel Loose. ___ 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] set CMAKE_INSTALL_PREFIX in CMakeLists
On 12/02/2010 10:18 AM, Marcel Loose wrote: On 30-11-2010 at 18:48, in message 20101130174852.gc10...@cryptio.net, Tyler Roscoe ty...@cryptio.net wrote: On Thu, Nov 25, 2010 at 02:01:31PM +0100, Marcel Loose wrote: On 24-11-2010 at 17:45, in message 20101124164507.gg23...@cryptio.net, Tyler Roscoe ty...@cryptio.net wrote: On Wed, Nov 24, 2010 at 12:11:56PM +0100, Micha Renner wrote: SET(CMAKE_INSTALL_PREFIX /foo/bar CACHE PATH Foo install prefix) So, without the test to CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT, and without the FORCE option. No, as I mentioned, there was an article of one the CMake-maintainers who recommended this. Micha is correct. CMAKE_INSTALL_PREFIX is set before your CMakeLists.txt is processed, so the above will never do anything. tyler Well, I tested this before I posted my reply. It does work the way I describe it. Try it yourself. It doesn't work for me: [tyle...@tpb006:~/cmake-test-install-prefix]$ cmake --version cmake version 2.8.3 [tyle...@tpb006:~/cmake-test-install-prefix]$ cat CMakeLists.txt cmake_minimum_required(VERSION 2.8) project(p) set (CMAKE_INSTALL_PREFIX foo CACHE PATH docstring) message (CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}) [tyle...@tpb006:~/cmake-test-install-prefix]$ mkdir b cd b cmake .. -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done CMAKE_INSTALL_PREFIX = /usr/local -- Configuring done -- Generating done -- Build files have been written to: /tpb006/tylermr/cmake-test-install-prefix/b Hi Tyler, I now see why it works for me and not for you. Maybe I didn't write it clearly, but I do SET(CMAKE_INSTALL_PREFIX ...) *before* the call to PROJECT(). You are right that it doesn't work when you do it after the PROJECT() call. Unfortunately, the solution with the IF-test doesn't work when you use it before the PROJECT() call, for obvious reasons I would say. So, there are two solutions that work, but you have to choose carefully among them. 1) Use this snippet *before* PROJECT(xxx): SET(CMAKE_INSTALL_PREFIX path CACHE PATH comment) 2) Use this snippet *after* PROJECT(xxx): IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) SET(CMAKE_INSTALL_PREFIX path CACHE PATH comment FORCE) ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) Best regards, Marcel Loose. Considering what David said, the first solution depends on the implementation details of the PROJECT command and is very fragile since it works accidentally for some versions of CMake. I don't consider it to be an option at all. I would suggest to always use the second option. My 2c. Michael ___ 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] cmake PyQT/SIP
On Thursday 02 December 2010 07:48:55 Michael Wild wrote: On 12/02/2010 08:25 AM, Alan W. Irwin wrote: On 2010-12-02 06:32+0100 Michael Wild wrote: On 12/02/2010 12:37 AM, luxInteg wrote: On Tuesday 30 November 2010 22:43:34 luxInteg wrote: Greetings I an learnig cmake. My test project is as follows:- linux machine with pyQt4, sip-4.10.2,qt-4.6.2 and cmake-2.8.2 ---stepA: I have a file -fileA.sip. ---stepB: Upon execution of fileA.sip two files files -fileC.cpp and fileD.cppresult, ---stepC: fileC.cpp and fileD,cpp are compiled into a shared library. I am ok with stepC. I do not know how to carry out step B execution within cmake. advice would be appreciated. sincerely luxInteg Use ADD_CUSTOM_COMMAND. @Michael: that advice is not correct. add_custom_command sets up a command to be run at make time. Instead, the execute_process command should be used to run a command at CMake time which is what the OP needs to generate his *.cpp files. @LuxInteg: See the CMakeLists.txt file at http://plplot.svn.sourceforge.net/viewvc/plplot/trunk/bindings/qt_gui/pyq t4/ for an example of generating source code with sip. Alan Huh, why can't he run sip at build time? If you do: find_program(SIP_EXECUTABLE sip) add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/fileC.cpp ${CMAKE_CURRENT_BINARY_DIR}/fileD.cpp COMMAND ${SIP_EXECUTABLE} -c ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/fileA.sip DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/fileA.sip COMMENT Processing ${CMAKE_CURRENT_SOURCE_DIR}/fileA.sip VERBATIM) thaks to you all for suggestions. Before I saw the posts, I had actually 'blind-man-fumbled' into something that looks like this:- - set(sip_generator ../wherever/FileA.sip ) set(generatorCMD sip -C . ../wherever/FileA.sip ) set(sipED-SRS ../path/to/fileC.cpp ../path/to/FileD.cpp ) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_SOURCE_DIR}/${sipED-SRS} COMMAND ${generatorCMD} DEPENDS ${sip_generator} ) -- (beforehand I would have to actually designate some directory in the source-tree equivalent to '/path/to/'. (And this I am unsure of.) I have posted it only because I want to know if I can group the generated source files as ${sipED_SRS} AND if so how the line with OUTPUT is set to find them. thanks again ___ 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] cmake PyQT/SIP
On 12/02/2010 11:54 AM, luxInteg wrote: On Thursday 02 December 2010 07:48:55 Michael Wild wrote: On 12/02/2010 08:25 AM, Alan W. Irwin wrote: On 2010-12-02 06:32+0100 Michael Wild wrote: On 12/02/2010 12:37 AM, luxInteg wrote: On Tuesday 30 November 2010 22:43:34 luxInteg wrote: Greetings I an learnig cmake. My test project is as follows:- linux machine with pyQt4, sip-4.10.2,qt-4.6.2 and cmake-2.8.2 ---stepA: I have a file -fileA.sip. ---stepB: Upon execution of fileA.sip two files files -fileC.cpp and fileD.cppresult, ---stepC: fileC.cpp and fileD,cpp are compiled into a shared library. I am ok with stepC. I do not know how to carry out step B execution within cmake. advice would be appreciated. sincerely luxInteg Use ADD_CUSTOM_COMMAND. @Michael: that advice is not correct. add_custom_command sets up a command to be run at make time. Instead, the execute_process command should be used to run a command at CMake time which is what the OP needs to generate his *.cpp files. @LuxInteg: See the CMakeLists.txt file at http://plplot.svn.sourceforge.net/viewvc/plplot/trunk/bindings/qt_gui/pyq t4/ for an example of generating source code with sip. Alan Huh, why can't he run sip at build time? If you do: find_program(SIP_EXECUTABLE sip) add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/fileC.cpp ${CMAKE_CURRENT_BINARY_DIR}/fileD.cpp COMMAND ${SIP_EXECUTABLE} -c ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/fileA.sip DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/fileA.sip COMMENT Processing ${CMAKE_CURRENT_SOURCE_DIR}/fileA.sip VERBATIM) thaks to you all for suggestions. Before I saw the posts, I had actually 'blind-man-fumbled' into something that looks like this:- - set(sip_generator ../wherever/FileA.sip ) set(generatorCMD sip -C . ../wherever/FileA.sip ) set(sipED-SRS ../path/to/fileC.cpp ../path/to/FileD.cpp ) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_SOURCE_DIR}/${sipED-SRS} COMMAND ${generatorCMD} DEPENDS ${sip_generator} ) -- (beforehand I would have to actually designate some directory in the source-tree equivalent to '/path/to/'. (And this I am unsure of.) I have posted it only because I want to know if I can group the generated source files as ${sipED_SRS} AND if so how the line with OUTPUT is set to find them. thanks again No, you can't. CMake simply concatenates the strings when you do ${CMAKE_SOURCE_DIR}/${sipED-SRS}. You'll have to put CMAKE_BINARY_DIR (or equivalent, like CMAKE_CURRENT_BINARY_DIR) in front of every element in sipED-SRCS. A few additional issues: - never EVER create output in the source tree, only in the build tree. This is an absolute taboo and is verboten. - it is a bad idea to use the hyphen (-) in a variable name. Replace it by an underscore (_). - don't use sip directly in your COMMAND, use FIND_EXECUTABLE first like I showed in my example. This way the user of your project can override the sip executable that is being used by specifying SIP_EXECUTABLE. - use better variable names. sip_generator sounds like it refers to a program. Better use SIP_SOURCES or similar. Also, sipED-SRS is pretty bad, make it SIP_OUTPUT. People reading the code (even yourself in a half-years time) will be very thankful to you... Michael ___ 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] Linking archives in a sibling directory
On 12/01/2010 06:03 PM, Raymond Wan wrote: Hi Michael, On Thu, Dec 2, 2010 at 01:03, Michael Hertling mhertl...@online.de wrote: On 12/01/2010 08:18 AM, Raymond Wan wrote: Hi all, I'm having a problem understanding how I can link to an archive in another directory which is not a subdirectory. For example: myproj +-- main +-- CMakeLists.txt +-- source files for main program +-- dir-A +-- CMakeLists.txt +-- source files for sub-program A +-- dir-B +-- CmakeLists.txt +-- source files for sub-program B This error is caused by the fact that the directory dir-A is outside the main directory tree, so dir-A's binary directory would likewise be outside main's binary tree, and this is reasonably forbidden when configuring main. You might specify dir-A's binary directory in main/CMakeLists.txt explicitly, e.g.: ADD_SUBDIRECTORY(../dir-A ${CMAKE_CURRENT_BINARY_DIR}/dir-A) Hence, subprogA_ar will be built within the binary tree's dir-A. Ah! I see now. I didn't realize I could prepend a path like that. I was trying to find some kind of ADD_DIRECTORY command which had this restriction removed. But then I realized if I'm looking for something like that, there might be a bigger problem in terms of how I'm organizing things... myproj +-- main +-- CMakeLists.txt +-- source files for main program +-- dir-A +-- source files for sub-program A +-- dir-B +-- source files for sub-program B Is this what I should have done?? As an alternative, consider to add a CMakeLists.txt in myproj CMAKE_MINIMUM_REQUIRED(...) PROJECT(myproj) ADD_SUBDIRECTORY(dir-A) ADD_SUBDIRECTORY(dir-B) ADD_SUBDIRECTORY(main) and subsequently, configure this directory instead of main. Ah! I see. Then is it recommended that this top-level CMakeLists.txt have just these lines, or should I move the ADD_EXECUTABLE, etc. lines here as well? Or is this really up to me and there isn't a suggested paradigm? Basically, IMO, a CMakeLists.txt with ADD_EXECUTABLE() et al. should be placed in the same directory as the related source files unless there's a reason not to do so; this makes for modularity and a well organized code base. The above-mentioned directory structure with its top-level CMakeLists.txt containing just ADD_SUBDIRECTORY() commands keeps the modules main, dir-A and dir-B separate with minimal interconnections. In the previous structure, e.g., main/CMakeLists.txt had to know that dir-A resides in ../dir-A; now, such information is concentrated in the top-level CMakeLists.txt, and the sole reference of main to dir-A is the target subprogA_ar. Due to CMake's capabilities to track the dependencies among targets, it doesn't matter where dir-A is placed within the project's source tree. So, in short, don't move the ADD_EXECUTABLE() etc. to the top-level CMakeLists.txt. I guess I chose my first directory layout because the source in a directory (i.e., dir-A) can be several dependencies down and it can even be used by two targets in two different directories. So, I figured that keeping them all at the same directory level would be best. But it seems what you're suggesting here seems better -- never thought of it; the myproj directory has no files in it...just directories right now... The top-level directory of non-trivial projects should not contain any source files, perhaps a config.h header or the like. Usually, there're enough things gathering in a project's root, e.g. READMEs, subdirs for documentation, resources or CMake stuff, a CMakeLists.txt file ;) etc. The sources, however, should be organized in their own subdirectories, so the top-level CMakeLists.txt typically contains ADD_SUBDIRECTORY() commands along with configurational stuff like setting up compiler flags, processing options or investigating the underlying system, but no ADD_EXECUTABLE() or the like. Of course, there're exceptions and probably strong different opinions. Regards, Michael ___ 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] CMake Xcodeproject
thanks for your answer.i don't think so, i'm sure my source code is correct. It's working without CMake-genarator and not with. Date: Wed, 1 Dec 2010 08:48:00 -0800 From: ml-node+5792557-1608429790-305...@n2.nabble.com To: alqun...@hotmail.com Subject: Re: CMake Xcodeproject This looks like an issue with your code, rather than the build. Ryan On Wed, Dec 1, 2010 at 5:03 AM, salwa [hidden email] wrote: Hi, i send this message to the mailing list bevor but nobody answer!! i create an Xcodeproject with CMake and when i build it, it get's this error's: In file included from /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:13, from /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:13, from ../Desktop/iPad/Classes/iPadAppDelegate.h:9, from ../Desktop/iPad/Classes/iPadAppDelegate.m:9: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:33: error: expected identifier before '}' token /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:74: error: expected specifier-qualifier-list before 'UIUserInterfaceIdiom' In file included from /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:71, from ../Desktop/iPad/Classes/iPadAppDelegate.h:9, from ../Desktop/iPad/Classes/iPadAppDelegate.m:9: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:88: error: expected specifier-qualifier-list before 'UIDataDetectorTypes' ... If necessary I will send the CMakeLists.txt Anyone know what I missed or am doing wrong please? i hope somebody answer me. Thanks -- View this message in context: http://cmake.3232098.n2.nabble.com/CMake-Xcodeproject-tp5791404p5791404.html Sent from the CMake mailing list archive at Nabble.com. ___ 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 -- Ryan Pavlik HCI Graduate Student Virtual Reality Applications Center Iowa State University [hidden email] http://academic.cleardefinition.com Internal VRAC/HCI Site: http://tinyurl.com/rpavlik ___ 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 View message @ http://cmake.3232098.n2.nabble.com/CMake-Xcodeproject-tp5791404p5792557.html To unsubscribe from CMake Xcodeproject, click here. -- View this message in context: http://cmake.3232098.n2.nabble.com/CMake-Xcodeproject-tp5791404p5795506.html Sent from the CMake mailing list archive at Nabble.com. ___ 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] Linking archives in a sibling directory
On Thu, Dec 2, 2010 at 5:40 AM, Michael Hertling mhertl...@online.dewrote: On 12/01/2010 06:03 PM, Raymond Wan wrote: Hi Michael, On Thu, Dec 2, 2010 at 01:03, Michael Hertling mhertl...@online.de wrote: On 12/01/2010 08:18 AM, Raymond Wan wrote: Hi all, I'm having a problem understanding how I can link to an archive in another directory which is not a subdirectory. For example: myproj +-- main +-- CMakeLists.txt +-- source files for main program +-- dir-A +-- CMakeLists.txt +-- source files for sub-program A +-- dir-B +-- CmakeLists.txt +-- source files for sub-program B This error is caused by the fact that the directory dir-A is outside the main directory tree, so dir-A's binary directory would likewise be outside main's binary tree, and this is reasonably forbidden when configuring main. You might specify dir-A's binary directory in main/CMakeLists.txt explicitly, e.g.: ADD_SUBDIRECTORY(../dir-A ${CMAKE_CURRENT_BINARY_DIR}/dir-A) Hence, subprogA_ar will be built within the binary tree's dir-A. Ah! I see now. I didn't realize I could prepend a path like that. I was trying to find some kind of ADD_DIRECTORY command which had this restriction removed. But then I realized if I'm looking for something like that, there might be a bigger problem in terms of how I'm organizing things... myproj +-- main +-- CMakeLists.txt +-- source files for main program +-- dir-A +-- source files for sub-program A +-- dir-B +-- source files for sub-program B Is this what I should have done?? As an alternative, consider to add a CMakeLists.txt in myproj CMAKE_MINIMUM_REQUIRED(...) PROJECT(myproj) ADD_SUBDIRECTORY(dir-A) ADD_SUBDIRECTORY(dir-B) ADD_SUBDIRECTORY(main) and subsequently, configure this directory instead of main. Ah! I see. Then is it recommended that this top-level CMakeLists.txt have just these lines, or should I move the ADD_EXECUTABLE, etc. lines here as well? Or is this really up to me and there isn't a suggested paradigm? Basically, IMO, a CMakeLists.txt with ADD_EXECUTABLE() et al. should be placed in the same directory as the related source files unless there's a reason not to do so; this makes for modularity and a well organized code base. The above-mentioned directory structure with its top-level CMakeLists.txt containing just ADD_SUBDIRECTORY() commands keeps the modules main, dir-A and dir-B separate with minimal interconnections. In the previous structure, e.g., main/CMakeLists.txt had to know that dir-A resides in ../dir-A; now, such information is concentrated in the top-level CMakeLists.txt, and the sole reference of main to dir-A is the target subprogA_ar. Due to CMake's capabilities to track the dependencies among targets, it doesn't matter where dir-A is placed within the project's source tree. So, in short, don't move the ADD_EXECUTABLE() etc. to the top-level CMakeLists.txt. I guess I chose my first directory layout because the source in a directory (i.e., dir-A) can be several dependencies down and it can even be used by two targets in two different directories. So, I figured that keeping them all at the same directory level would be best. But it seems what you're suggesting here seems better -- never thought of it; the myproj directory has no files in it...just directories right now... The top-level directory of non-trivial projects should not contain any source files, perhaps a config.h header or the like. Usually, there're enough things gathering in a project's root, e.g. READMEs, subdirs for documentation, resources or CMake stuff, a CMakeLists.txt file ;) etc. The sources, however, should be organized in their own subdirectories, so the top-level CMakeLists.txt typically contains ADD_SUBDIRECTORY() commands along with configurational stuff like setting up compiler flags, processing options or investigating the underlying system, but no ADD_EXECUTABLE() or the like. Of course, there're exceptions Exceptions? I can't think of any... I think you're absolutely correct for any non-trivial project. and probably strong different opinions. If there are, then they're just plain wrong. :-) Thanks, Michael, for your contributions to the CMake mailing list. You provide invaluable advice and assistance for many. Cheers, David Regards, Michael ___ 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
Re: [CMake] CMake Xcodeproject
If it works without CMake, but not with CMake, then ... clearly there's a difference between your hand-crafted Xcode project file and the CMake generated one. What is that difference? Did you do any diff-ing to find out? Please send a link to your whole project tree, including the hand-crafted Xcode project so that we can reproduce your problem. Or... if you can't do that, then provide a minimal reproducing case for further investigation. One would have to wonder why you would want to use CMake to build iOS specific code in the first place if you already have a working non-CMake-based build. Do you hope to port your iOS app to other platforms? It looks like the source code in question will certainly not compile except for an iOS-targeted build. On Thu, Dec 2, 2010 at 5:49 AM, salwa alqun...@hotmail.com wrote: thanks for your answer. i don't think so, i'm sure my source code is correct. It's working without CMake-genarator and not with. -- Date: Wed, 1 Dec 2010 08:48:00 -0800 From: [hidden email]http://user/SendEmail.jtp?type=nodenode=5795506i=0 To: [hidden email] http://user/SendEmail.jtp?type=nodenode=5795506i=1 Subject: Re: CMake Xcodeproject This looks like an issue with your code, rather than the build. Ryan On Wed, Dec 1, 2010 at 5:03 AM, salwa [hidden email] wrote: Hi, i send this message to the mailing list bevor but nobody answer!! i create an Xcodeproject with CMake and when i build it, it get's this error's: In file included from /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:13, from /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:13, from ../Desktop/iPad/Classes/iPadAppDelegate.h:9, from ../Desktop/iPad/Classes/iPadAppDelegate.m:9: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:33: error: expected identifier before '}' token /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:74: error: expected specifier-qualifier-list before 'UIUserInterfaceIdiom' In file included from /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:71, from ../Desktop/iPad/Classes/iPadAppDelegate.h:9, from ../Desktop/iPad/Classes/iPadAppDelegate.m:9: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:88: error: expected specifier-qualifier-list before 'UIDataDetectorTypes' ... If necessary I will send the CMakeLists.txt Anyone know what I missed or am doing wrong please? i hope somebody answer me. Thanks -- View this message in context: http://cmake.3232098.n2.nabble.com/CMake-Xcodeproject-tp5791404p5791404.html Sent from the CMake mailing list archive at Nabble.com. ___ 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 -- Ryan Pavlik HCI Graduate Student Virtual Reality Applications Center Iowa State University [hidden email] http://academic.cleardefinition.com Internal VRAC/HCI Site: http://tinyurl.com/rpavlik ___ 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 -- View message @ http://cmake.3232098.n2.nabble.com/CMake-Xcodeproject-tp5791404p5792557.html To unsubscribe from CMake Xcodeproject, click here. -- View this message in context: RE: CMake Xcodeprojecthttp://cmake.3232098.n2.nabble.com/CMake-Xcodeproject-tp5791404p5795506.html Sent from the CMake mailing list archivehttp://cmake.3232098.n2.nabble.com/at Nabble.com. ___ 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] CMake Xcodeproject
thanks again. i have hand-created an simple app (Testend) = it worksand once created from this with CMake (out) = not works error:Check dependencies target specifies product type 'com.apple.product-type.tool', but there's no such product type for the 'iphonesimulator' platform this says: it try to build a command for plattform (iphone), that not supported.so something faild in CMakeLists and i don't know how to set these. CMake 2.8SDK 3.2OSX 10.6.5 Thanks Date: Thu, 2 Dec 2010 03:02:14 -0800 From: ml-node+5795543-35805472-305...@n2.nabble.com To: alqun...@hotmail.com Subject: Re: CMake Xcodeproject If it works without CMake, but not with CMake, then ... clearly there's a difference between your hand-crafted Xcode project file and the CMake generated one. What is that difference? Did you do any diff-ing to find out? Please send a link to your whole project tree, including the hand-crafted Xcode project so that we can reproduce your problem. Or... if you can't do that, then provide a minimal reproducing case for further investigation. One would have to wonder why you would want to use CMake to build iOS specific code in the first place if you already have a working non-CMake-based build. Do you hope to port your iOS app to other platforms? It looks like the source code in question will certainly not compile except for an iOS-targeted build. On Thu, Dec 2, 2010 at 5:49 AM, salwa [hidden email] wrote: thanks for your answer.i don't think so, i'm sure my source code is correct. It's working without CMake-genarator and not with. Date: Wed, 1 Dec 2010 08:48:00 -0800 From: [hidden email] To: [hidden email] Subject: Re: CMake Xcodeproject This looks like an issue with your code, rather than the build. Ryan On Wed, Dec 1, 2010 at 5:03 AM, salwa [hidden email] wrote: Hi, i send this message to the mailing list bevor but nobody answer!! i create an Xcodeproject with CMake and when i build it, it get's this error's: In file included from /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:13, from /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:13, from ../Desktop/iPad/Classes/iPadAppDelegate.h:9, from ../Desktop/iPad/Classes/iPadAppDelegate.m:9: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:33: error: expected identifier before '}' token /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:74: error: expected specifier-qualifier-list before 'UIUserInterfaceIdiom' In file included from /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:71, from ../Desktop/iPad/Classes/iPadAppDelegate.h:9, from ../Desktop/iPad/Classes/iPadAppDelegate.m:9: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:88: error: expected specifier-qualifier-list before 'UIDataDetectorTypes' ... If necessary I will send the CMakeLists.txt Anyone know what I missed or am doing wrong please? i hope somebody answer me. Thanks -- View this message in context: http://cmake.3232098.n2.nabble.com/CMake-Xcodeproject-tp5791404p5791404.html Sent from the CMake mailing list archive at Nabble.com. ___ 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 -- Ryan Pavlik HCI Graduate Student Virtual Reality Applications Center Iowa State University [hidden email] http://academic.cleardefinition.com Internal VRAC/HCI Site: http://tinyurl.com/rpavlik ___ 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 View message @ http://cmake.3232098.n2.nabble.com/CMake-Xcodeproject-tp5791404p5792557.html To unsubscribe from CMake Xcodeproject, click here. View this message in context: RE: CMake
Re: [CMake] CMake Xcodeproject
I don't really have time or funding to investigate this further in the short term. (And I can't get the attachments you sent, perhaps you could post them somewhere public, rather than trying to attach them in email?) Is there anybody else on this list doing iPhone/iPad stuff with CMake that can chime in and give advice regarding how to build such a project with CMake? Thanks, David C. On Thu, Dec 2, 2010 at 6:49 AM, salwa alqun...@hotmail.com wrote: thanks again. i have hand-created an simple app (Testend) = it works and once created from this with CMake (out) = not works error: Check dependencies target specifies product type 'com.apple.product-type.tool', but there's no such product type for the 'iphonesimulator' platform this says: it try to build a command for plattform (iphone), that not supported. so something faild in CMakeLists and i don't know how to set these. CMake 2.8 SDK 3.2 OSX 10.6.5 Thanks -- Date: Thu, 2 Dec 2010 03:02:14 -0800 From: [hidden email]http://user/SendEmail.jtp?type=nodenode=5795703i=0 To: [hidden email] http://user/SendEmail.jtp?type=nodenode=5795703i=1 Subject: Re: CMake Xcodeproject If it works without CMake, but not with CMake, then ... clearly there's a difference between your hand-crafted Xcode project file and the CMake generated one. What is that difference? Did you do any diff-ing to find out? Please send a link to your whole project tree, including the hand-crafted Xcode project so that we can reproduce your problem. Or... if you can't do that, then provide a minimal reproducing case for further investigation. One would have to wonder why you would want to use CMake to build iOS specific code in the first place if you already have a working non-CMake-based build. Do you hope to port your iOS app to other platforms? It looks like the source code in question will certainly not compile except for an iOS-targeted build. On Thu, Dec 2, 2010 at 5:49 AM, salwa [hidden email]http:///user/SendEmail.jtp?type=nodenode=5795543i=0 wrote: thanks for your answer. i don't think so, i'm sure my source code is correct. It's working without CMake-genarator and not with. -- Date: Wed, 1 Dec 2010 08:48:00 -0800 From: [hidden email]http://user/SendEmail.jtp?type=nodenode=5795506i=0 To: [hidden email] http://user/SendEmail.jtp?type=nodenode=5795506i=1 Subject: Re: CMake Xcodeproject This looks like an issue with your code, rather than the build. Ryan On Wed, Dec 1, 2010 at 5:03 AM, salwa [hidden email] wrote: Hi, i send this message to the mailing list bevor but nobody answer!! i create an Xcodeproject with CMake and when i build it, it get's this error's: In file included from /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:13, from /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:13, from ../Desktop/iPad/Classes/iPadAppDelegate.h:9, from ../Desktop/iPad/Classes/iPadAppDelegate.m:9: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:33: error: expected identifier before '}' token /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:74: error: expected specifier-qualifier-list before 'UIUserInterfaceIdiom' In file included from /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:71, from ../Desktop/iPad/Classes/iPadAppDelegate.h:9, from ../Desktop/iPad/Classes/iPadAppDelegate.m:9: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:88: error: expected specifier-qualifier-list before 'UIDataDetectorTypes' ... If necessary I will send the CMakeLists.txt Anyone know what I missed or am doing wrong please? i hope somebody answer me. Thanks -- View this message in context: http://cmake.3232098.n2.nabble.com/CMake-Xcodeproject-tp5791404p5791404.html Sent from the CMake mailing list archive at Nabble.com. ___ 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 -- Ryan Pavlik HCI Graduate Student Virtual Reality Applications Center Iowa State University [hidden email]
Re: [CMake] CMake Xcodeproject
thanks. it look's like i'm the only one :( Date: Thu, 2 Dec 2010 04:01:20 -0800 From: ml-node+5795741-701463057-305...@n2.nabble.com To: alqun...@hotmail.com Subject: Re: CMake Xcodeproject I don't really have time or funding to investigate this further in the short term. (And I can't get the attachments you sent, perhaps you could post them somewhere public, rather than trying to attach them in email?) Is there anybody else on this list doing iPhone/iPad stuff with CMake that can chime in and give advice regarding how to build such a project with CMake? Thanks, David C. On Thu, Dec 2, 2010 at 6:49 AM, salwa [hidden email] wrote: thanks again. i have hand-created an simple app (Testend) = it worksand once created from this with CMake (out) = not works error: Check dependencies target specifies product type 'com.apple.product-type.tool', but there's no such product type for the 'iphonesimulator' platform this says: it try to build a command for plattform (iphone), that not supported.so something faild in CMakeLists and i don't know how to set these. CMake 2.8SDK 3.2 OSX 10.6.5 Thanks Date: Thu, 2 Dec 2010 03:02:14 -0800 From: [hidden email] To: [hidden email] Subject: Re: CMake Xcodeproject If it works without CMake, but not with CMake, then ... clearly there's a difference between your hand-crafted Xcode project file and the CMake generated one. What is that difference? Did you do any diff-ing to find out? Please send a link to your whole project tree, including the hand-crafted Xcode project so that we can reproduce your problem. Or... if you can't do that, then provide a minimal reproducing case for further investigation. One would have to wonder why you would want to use CMake to build iOS specific code in the first place if you already have a working non-CMake-based build. Do you hope to port your iOS app to other platforms? It looks like the source code in question will certainly not compile except for an iOS-targeted build. On Thu, Dec 2, 2010 at 5:49 AM, salwa [hidden email] wrote: thanks for your answer.i don't think so, i'm sure my source code is correct. It's working without CMake-genarator and not with. Date: Wed, 1 Dec 2010 08:48:00 -0800 From: [hidden email] To: [hidden email] Subject: Re: CMake Xcodeproject This looks like an issue with your code, rather than the build. Ryan On Wed, Dec 1, 2010 at 5:03 AM, salwa [hidden email] wrote: Hi, i send this message to the mailing list bevor but nobody answer!! i create an Xcodeproject with CMake and when i build it, it get's this error's: In file included from /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:13, from /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:13, from ../Desktop/iPad/Classes/iPadAppDelegate.h:9, from ../Desktop/iPad/Classes/iPadAppDelegate.m:9: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:33: error: expected identifier before '}' token /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:74: error: expected specifier-qualifier-list before 'UIUserInterfaceIdiom' In file included from /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:71, from ../Desktop/iPad/Classes/iPadAppDelegate.h:9, from ../Desktop/iPad/Classes/iPadAppDelegate.m:9: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:88: error: expected specifier-qualifier-list before 'UIDataDetectorTypes' ... If necessary I will send the CMakeLists.txt Anyone know what I missed or am doing wrong please? i hope somebody answer me. Thanks -- View this message in context: http://cmake.3232098.n2.nabble.com/CMake-Xcodeproject-tp5791404p5791404.html Sent from the CMake mailing list archive at Nabble.com. ___ 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 -- Ryan Pavlik HCI Graduate Student Virtual Reality Applications Center Iowa State University [hidden email] http://academic.cleardefinition.com Internal VRAC/HCI Site: http://tinyurl.com/rpavlik
Re: [CMake] cmake PyQT/SIP
On Thursday 02 December 2010 10:10:59 Michael Wild wrote: No, you can't. CMake simply concatenates the strings when you do ${CMAKE_SOURCE_DIR}/${sipED-SRS}. You'll have to put CMAKE_BINARY_DIR (or equivalent, like CMAKE_CURRENT_BINARY_DIR) in front of every element in sipED-SRCS. A few additional issues: - never EVER create output in the source tree, only in the build tree. This is an absolute taboo and is verboten. - it is a bad idea to use the hyphen (-) in a variable name. Replace it by an underscore (_). - don't use sip directly in your COMMAND, use FIND_EXECUTABLE first like I showed in my example. This way the user of your project can override the sip executable that is being used by specifying SIP_EXECUTABLE. - use better variable names. sip_generator sounds like it refers to a program. Better use SIP_SOURCES or similar. Also, sipED-SRS is pretty bad, make it SIP_OUTPUT. People reading the code (even yourself in a half-years time) will be very thankful to you... thanks for the clarification Now supposing I want to set a preprosessor -DINT for filC.cpp and FileD.cpp is it done as below (dotted lines) ? add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/fileC.cpp ${CMAKE_CURRENT_BINARY_DIR}/fileD.cpp COMMAND ${SIP_EXECUTABLE} -c ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/fileA.sip DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/fileA.sip COMMENT Processing ${CMAKE_CURRENT_SOURCE_DIR}/fileA.sip VERBATIM) #--- SET_SOURCE_FILES_PROPERTIES ${CMAKE_CURRENT_BINARY_DIR}/fileC.cpp PROPERTIES COMPILE_DEFINITIONS DINT ) SET_SOURCE_FILES_PROPERTIES ${CMAKE_CURRENT_BINARY_DIR}/fileD.cpp PROPERTIES COMPILE_DEFINITIONS DINT ) #- then add_library(myPythonExtension SHARED ${CMAKE_CURRENT_BINARY_DIR}/fileC.cpp ${CMAKE_CURRENT_BINARY_DIR}/fileD.cpp) sincerely luxInteg ___ 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] cmake PyQT/SIP
On 12/02/2010 02:22 PM, luxInteg wrote: On Thursday 02 December 2010 10:10:59 Michael Wild wrote: No, you can't. CMake simply concatenates the strings when you do ${CMAKE_SOURCE_DIR}/${sipED-SRS}. You'll have to put CMAKE_BINARY_DIR (or equivalent, like CMAKE_CURRENT_BINARY_DIR) in front of every element in sipED-SRCS. A few additional issues: - never EVER create output in the source tree, only in the build tree. This is an absolute taboo and is verboten. - it is a bad idea to use the hyphen (-) in a variable name. Replace it by an underscore (_). - don't use sip directly in your COMMAND, use FIND_EXECUTABLE first like I showed in my example. This way the user of your project can override the sip executable that is being used by specifying SIP_EXECUTABLE. - use better variable names. sip_generator sounds like it refers to a program. Better use SIP_SOURCES or similar. Also, sipED-SRS is pretty bad, make it SIP_OUTPUT. People reading the code (even yourself in a half-years time) will be very thankful to you... thanks for the clarification Now supposing I want to set a preprosessor -DINT for filC.cpp and FileD.cpp is it done as below (dotted lines) ? add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/fileC.cpp ${CMAKE_CURRENT_BINARY_DIR}/fileD.cpp COMMAND ${SIP_EXECUTABLE} -c ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/fileA.sip DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/fileA.sip COMMENT Processing ${CMAKE_CURRENT_SOURCE_DIR}/fileA.sip VERBATIM) #--- SET_SOURCE_FILES_PROPERTIES ${CMAKE_CURRENT_BINARY_DIR}/fileC.cpp PROPERTIES COMPILE_DEFINITIONS DINT ) SET_SOURCE_FILES_PROPERTIES ${CMAKE_CURRENT_BINARY_DIR}/fileD.cpp PROPERTIES COMPILE_DEFINITIONS DINT ) #- then add_library(myPythonExtension SHARED ${CMAKE_CURRENT_BINARY_DIR}/fileC.cpp ${CMAKE_CURRENT_BINARY_DIR}/fileD.cpp) sincerely luxInteg If you only want it to be set for these two files, do set_source_files_properties( ${CMAKE_CURRENT_BINARY_DIR}/fileC.cpp ${CMAKE_CURRENT_BINARY_DIR}/fileD.cpp PROPERTIES COMPILE_FLAGS INT) i.e. you can set it for both files in the same call, and you leave away the D. The D is only a compiler flag when using -DINT, the actual symbol is INT. If it is OK to set INT for all source files in this and its child directories, it's simpler to do add_definitions(-DINT) Michael ___ 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] set CMAKE_INSTALL_PREFIX in CMakeLists
On Dec 2, 2010, at 04:35 , Michael Wild wrote: On 12/02/2010 10:18 AM, Marcel Loose wrote: On 30-11-2010 at 18:48, in message 20101130174852.gc10...@cryptio.net, Tyler Roscoe ty...@cryptio.net wrote: On Thu, Nov 25, 2010 at 02:01:31PM +0100, Marcel Loose wrote: On 24-11-2010 at 17:45, in message 20101124164507.gg23...@cryptio.net, Tyler Roscoe ty...@cryptio.net wrote: On Wed, Nov 24, 2010 at 12:11:56PM +0100, Micha Renner wrote: SET(CMAKE_INSTALL_PREFIX /foo/bar CACHE PATH Foo install prefix) So, without the test to CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT, and without the FORCE option. No, as I mentioned, there was an article of one the CMake-maintainers who recommended this. Micha is correct. CMAKE_INSTALL_PREFIX is set before your CMakeLists.txt is processed, so the above will never do anything. tyler Well, I tested this before I posted my reply. It does work the way I describe it. Try it yourself. It doesn't work for me: [tyle...@tpb006:~/cmake-test-install-prefix]$ cmake --version cmake version 2.8.3 [tyle...@tpb006:~/cmake-test-install-prefix]$ cat CMakeLists.txt cmake_minimum_required(VERSION 2.8) project(p) set (CMAKE_INSTALL_PREFIX foo CACHE PATH docstring) message (CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}) [tyle...@tpb006:~/cmake-test-install-prefix]$ mkdir b cd b cmake .. -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done CMAKE_INSTALL_PREFIX = /usr/local -- Configuring done -- Generating done -- Build files have been written to: /tpb006/tylermr/cmake-test-install-prefix/b Hi Tyler, I now see why it works for me and not for you. Maybe I didn't write it clearly, but I do SET(CMAKE_INSTALL_PREFIX ...) *before* the call to PROJECT(). You are right that it doesn't work when you do it after the PROJECT() call. Unfortunately, the solution with the IF-test doesn't work when you use it before the PROJECT() call, for obvious reasons I would say. So, there are two solutions that work, but you have to choose carefully among them. 1) Use this snippet *before* PROJECT(xxx): SET(CMAKE_INSTALL_PREFIX path CACHE PATH comment) 2) Use this snippet *after* PROJECT(xxx): IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) SET(CMAKE_INSTALL_PREFIX path CACHE PATH comment FORCE) ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) Best regards, Marcel Loose. Considering what David said, the first solution depends on the implementation details of the PROJECT command and is very fragile since it works accidentally for some versions of CMake. I don't consider it to be an option at all. I would suggest to always use the second option. As long as one of these approaches works, I'm happy. Just choose one, and document it. S ___ 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 on windows
Hi List, When packaging my project, i want my project in the start menu to be organised in several directories : In the windows StartMenu i'd like to have something like that : StartMenu - Programs - MyProject - Directory1 - {My stuffs 1} Directory2 - {My stuffs 2} Uninstall Here what i did : - I edit the variable CPACK_PACKAGE_EXECUTABLES with the executables name and their label : exe1 Description of exe1 - In case of Windows, i used CPACK_NSIS_MENU_LINKS to have my shortcuts in the startmenu. Here is the point; i did not succed to use this macro to get the subdirectories organisation. but i have all the executables in the root directory MyProject : StartMenu - Programs - MyProject - My stuffs 1 My stuffs 2 Uninstall Any hints to do that? Thanks Otmane ___ 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] Linking archives in a sibling directory
Hi Michael, On Thu, Dec 2, 2010 at 19:40, Michael Hertling mhertl...@online.de wrote: On 12/01/2010 06:03 PM, Raymond Wan wrote: Ah! I see. Then is it recommended that this top-level CMakeLists.txt have just these lines, or should I move the ADD_EXECUTABLE, etc. lines here as well? Or is this really up to me and there isn't a suggested paradigm? Basically, IMO, a CMakeLists.txt with ADD_EXECUTABLE() et al. should be placed in the same directory as the related source files unless there's a reason not to do so; this makes for modularity and a well organized code base. The above-mentioned directory structure with its top-level CMakeLists.txt containing just ADD_SUBDIRECTORY() commands keeps the modules main, dir-A and dir-B separate with minimal interconnections. In the previous structure, e.g., main/CMakeLists.txt had to know that dir-A resides in ../dir-A; now, such information is concentrated in the top-level CMakeLists.txt, and the sole reference of main to dir-A is the target subprogA_ar. Due to CMake's capabilities to track the dependencies among targets, it doesn't matter where dir-A is placed within the project's source tree. So, in short, don't move the ADD_EXECUTABLE() etc. to the top-level CMakeLists.txt. I see -- I did not realize this point you made about CMake's dependency tracking abilities. So, basically the only thing I need to worry about is the order of the ADD_SUBDIRECTORY ()'s. As long as I put ADD_SUBDIRECTORY (dir-A) before ADD_SUBDIRECTORY (main) then main will be built correctly? But, if I am not mistaken and following what you are saying, I can only build main using the top-level CMakeLists.txt. The lower CMakeLists.txt in main/ does not know the location of dir-A. The only way for both to work is to have this in main/CMakeLists.txt: ADD_SUBDIRECTORY(../dir-A ${CMAKE_CURRENT_BINARY_DIR}/dir-A) yet this kind of duplication should be an error at worse; unnecessary repetition at best? The top-level directory of non-trivial projects should not contain any source files, perhaps a config.h header or the like. Usually, there're enough things gathering in a project's root, e.g. READMEs, subdirs for documentation, resources or CMake stuff, a CMakeLists.txt file ;) etc. The sources, however, should be organized in their own subdirectories, so the top-level CMakeLists.txt typically contains ADD_SUBDIRECTORY() commands along with configurational stuff like setting up compiler flags, processing options or investigating the underlying system, but no ADD_EXECUTABLE() or the like. Of course, there're exceptions and probably strong different opinions. I see! Thank you for this! I'll stick with standard practice for now and leave the exceptions and stronger opposing opinions to people who know more about CMake than me. :-) Thank you very much for the explanation! Ray ___ 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] Linking archives in a sibling directory
Hi Michael, On Thu, Dec 2, 2010 at 19:40, Michael Hertling mhertl...@online.de wrote: On 12/01/2010 06:03 PM, Raymond Wan wrote: Ah! Â I see. Â Then is it recommended that this top-level CMakeLists.txt have just these lines, or should I move the ADD_EXECUTABLE, etc. lines here as well? Â Or is this really up to me and there isn't a suggested paradigm? Basically, IMO, a CMakeLists.txt with ADD_EXECUTABLE() et al. should be placed in the same directory as the related source files unless there's a reason not to do so; this makes for modularity and a well organized code base. The above-mentioned directory structure with its top-level CMakeLists.txt containing just ADD_SUBDIRECTORY() commands keeps the modules main, dir-A and dir-B separate with minimal interconnections. In the previous structure, e.g., main/CMakeLists.txt had to know that dir-A resides in ../dir-A; now, such information is concentrated in the top-level CMakeLists.txt, and the sole reference of main to dir-A is the target subprogA_ar. Due to CMake's capabilities to track the dependencies among targets, it doesn't matter where dir-A is placed within the project's source tree. So, in short, don't move the ADD_EXECUTABLE() etc. to the top-level CMakeLists.txt. I see -- I did not realize this point you made about CMake's dependency tracking abilities. So, basically the only thing I need to worry about is the order of the ADD_SUBDIRECTORY ()'s. As long as I put ADD_SUBDIRECTORY (dir-A) before ADD_SUBDIRECTORY (main) then main will be built correctly? But, if I am not mistaken and following what you are saying, I can only build main using the top-level CMakeLists.txt. The lower CMakeLists.txt in main/ does not know the location of dir-A. The only way for both to work is to have this in main/CMakeLists.txt: ADD_SUBDIRECTORY(../dir-A ${CMAKE_CURRENT_BINARY_DIR}/dir-A) yet this kind of duplication should be an error at worse; unnecessary repetition at best? Let's say you have dirA, dirB, dirC dirA builds a lib dirB builds a lib that needs libA dirC builds a target that needs libA and libB Then you can't do libB/CMakeLists.txt ADD_SUBDIRECTORY(../dirA dira) libB/CMakeLists.txt ADD_SUBDIRECTORY(../dirA dira) ADD_SUBDIRECTORY(../dirB dirb) CMakeLists.txt ADD_SUBDIRECTORY(dirA) ADD_SUBDIRECTORY(dirB) ADD_SUBDIRECTORY(dirC) since dirA is included twice. We have a module for that: function (Add_Subdirectory_Once SUBDIRECTORY) get_filename_component(FULLPATH ${SUBDIRECTORY} REALPATH) GET_PROPERTY(_INCLUDED_DIRS GLOBAL PROPERTY ADD_SUBDIRECTORY_ONCE_INCLUDED) LIST(FIND _INCLUDED_DIRS ${FULLPATH} _USED_INDEX) if(_USED_INDEX EQUAL -1) SET_PROPERTY(GLOBAL PROPERTY ADD_SUBDIRECTORY_ONCE_INCLUDED ${_INCLUDED_DIRS} ${FULLPATH}) if(${ARGC} EQUAL 1) add_subdirectory(${SUBDIRECTORY}) else(${ARGC} EQUAL 1) add_subdirectory(${SUBDIRECTORY} ${ARGV1}) endif(${ARGC} EQUAL 1) endif(_USED_INDEX EQUAL -1) endfunction (Add_Subdirectory_Once) But I would love to see this being an option in CMake, e.g. ADD_SUBDIRECTORY(../dirA dira) ADD_SUBDIRECTORY(../dirA diraa) # fail, defined twice ADD_SUBDIRECTORY(../dirB dirb ONCE) ADD_SUBDIRECTORY(../dirB dirbb ONCE) # works, since all agree that there may be only one instance of this in the whole tree This would allow starting at any point in the tree to build just this lib allowing it to drag in all it's dependencies using ONCE. This probably has other pitfalls, but for us this works pretty well. Eike ___ 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] Need some directions for non-trivial setup
Hi! I'm currently trying to understand how to use CMake for a non-trivial setup of multiple-projects-framework. I'm a beginner at CMake (as developer I mean, not as library user). I've read the docs and I tried to read the Ogre project CMake organization but it's a bit overkill for my project I think. Anyway, I'm lost here because I think I don't understand all I need to achieve what I want. My project is made of several sub projects that are all in separate (mercurial) repositories. There is one default repository that use the mercurial subrepos feature to gather everything in one big framework project. You can see the repos there : http://code.google.com/p/art-of-sequence/source/browse/ (it's an open source project but Idon't have the website ready yet to explain the concept) The Cmake organisation I want to setup I've already seen somewhere else I think, but I'm a bit lost with all the ways to do it and I think I'll make something very bad if I don't ask here for help here. I need each project (subrepo) to be available separately and can be built giving to Cmake the paths of the project's dependencies. And I need the default repo to provide the paths. So I have this folder organisation in the default repo (that gather all subrepos) : /language # the intermediate language (AOSL) definition project/subrepo /tools/# the folder that will contain all the tools projects/subrepos /tools/aosdesigner # a tool project/subrepo (in fact the most important) - an executable /tools/aoslcpp # a tool project/subrepo that is a dependency of aosdesigner - a library (shared) /players/ # the folder that will contain all the players (AOSL interpreters) /players/aoswebplayer # a player project/subrepo There will be additional tools and players projects, and I think I'll need another folder for exporters but that's another subject. Here, what I'm trying to do, is to have a CMakeLists.txt for each project (but /language that is not source code but xsd, xml and text). Those projects will need the path of dependencies, like /tools/aosdesigner will require the path of /tools/aoslcpp. Then I want to set the paths of each project at the root level. It would be perfect if I could symply get the name of all folders in /tools/ and /players/ and simply provide them to the CMakeLists.txt of the sub projects. Is there a simple example of this kind of organisation out there that I could be inspered of? Do you have some guidance to give me to setup all this? I tried to write this organisation but I'm clueless on how to gather and provide the paths of each projects... Once I understand how to do this I think I'll use this organisation for another big project too. Any help would be really.helpful :) Thanks for reading. Tell me if I was not clear on some points. Klaim ___ 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] test property COST not working in cmake 2.8.3?
I've taken the liberty of adding this bug to the tracker: http://www.cmake.org/Bug/view.php?id=11561 Can someone give me an idea of how involved this fix is? If it cannot be fixed in short order, I'll be forced to hack around the change in COST's behavior in my own scripts. Fixing the problem at its source would obviously be preferable for me. Thanks, tyler On Tue, Nov 30, 2010 at 12:14:56PM -0800, Tyler Roscoe wrote: On Tue, Nov 30, 2010 at 01:29:37PM -0500, Zach Mullen wrote: Hm, yours was a use case we didn't really consider when we were making changes to cost behavior. Clearly. :) The middle ground here would be to respect costs in the non-parallel case when they are expressed explicitly This sounds good. but not to cost-order them automatically based on their previous run times. I don't care too much about this behavior, but it seems like a nice feature. Perhaps if CTest reserved a range for its own COST data (-10 = CTest-calculated COST = 10?) then users could use costs -10 or 10 to insure ordering of certain tests? So what are the next steps? Should I open a bug to track this issue? Is this an easy change (so easy a monkey like me can do it) or can someone at Kitware take care of it? I am able and eager to test a CMake nightly build that fixes this bug/regression/misunderstanding. Thanks, tyler On Tue, Nov 30, 2010 at 12:43 PM, Tyler Roscoe ty...@cryptio.net wrote: On Fri, Nov 26, 2010 at 10:38:44AM -0500, Zach Mullen wrote: I just realized why this isn't working -- it's actually not a regression. Maybe we have different definitions of regression. I see a feature that used to do one thing but which now does something else. Here is what the docs say about the COST property: # COST: Set this to a floating point value. Tests in a test set will be # run in descending order of cost. This property describes the cost of a test. You can explicitly set this value; tests with higher COST values will run first. I don't see anything there about parallel or non-parallel runs. It seems to me that if I set the COST property, I should be able to control the order in which tests run, period. So at the very least, the docs should be updated if you intend to change the behavior. In this release we decided that the costs should only be taken into account in a parallel case (ctest -j N). Many users have implicit dependencies based on the order of their add_test calls, so we didn't want to break backward compatibility for those not using parallel ctest. It looks like ctest -j2 is respecting COST. Currently I have several tests that cannot run at the same time as others (they touch the same resources and/or running two of them at once would crush the machine). If I could get the old COST behavior by running ctest -j1, that might be an acceptable workaround, but it does not appear to work today. The non-parallel way to specify a test to run last is simply to make it the last add_test call. My CMake projects are modular (I imagine this is true for many CMake users). Each module is responsible for adding its own unit tests and code quality checks. As I said in my initial email, the code quality checks must run after the unit tests so that accurate code coverage values can be calculated. I can try to insure that my add_unittest() functions all run before my add_code_quality() functions, but that seems brittle and error-prone. It was much nicer when I could just tell add_code_quality() to add all its tests with COST -1000 to guarantee they run after everything else. I can imagine ways to work around this problem, but they all seem rather clunky, especially when COST used to solve the problem so simply and elegantly. I hope we can reach a useful middle ground about the future of the COST property. In its current state, it is of no use to me. Thanks, tyler On Fri, Nov 26, 2010 at 10:20 AM, Zach Mullen zach.mul...@kitware.com wrote: On Tue, Nov 23, 2010 at 6:02 PM, David Cole david.c...@kitware.com wrote: It might be due to this commit: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=142edf8ad4baccd991a6a8a3e5283d0b575acca2 (first released in 2.8.3) Or this one: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b4d27dc041c9164d6f3ad39e192f4b7d116ca3b3 (first released in 2.8.2) Either way, seems like a bug to me. If you explicitly specify a COST property value, especially a negative one to induce last run status, then it should be honored over either historical average measurement or failed last time, so run it first this time behavior. ___ Powered by www.kitware.com Visit other Kitware open-source projects at
[CMake] Женская логика
ХоÑиÑе понимаÑÑ Ð¶ÐµÐ½Ñин? ÐнаÑÑ ÑеалÑнÑе Ð¸Ñ Ð¼ÑÑли, когда они пÑÑаÑÑÑÑ ÑпÑÑÑаÑÑ Ð¸Ñ Ð·Ð° ÑовеÑÑенно оÑвлеÑеннÑми ÑеÑами? Ðа пÑакÑиÑеÑÐºÐ¸Ñ ÑÑÐµÐ½Ð¸Ð½Ð³Ð°Ñ Ðкадемии ÐнакомÑÑв Ð²Ñ Ð² ÑеалÑнÑÑ ÑÑловиÑÑ Ð½Ð°ÑÑиÑеÑÑ Ð±ÑÑÑ Ð¿ÑедÑпÑедиÑелÑнÑм и понимаÑÑим мÑжÑиной Ð´Ð»Ñ Ð¶ÐµÐ½Ñин. http://samec.org.ua/?p=202 Ðе веÑиÑе? ÐопÑобÑйÑе, вам понÑавиÑÑÑ. ÐÐµÐ»Ð°Ñ Ð²Ð°Ð¼ болÑÑÐ¸Ñ Ð½Ð°ÑÑнÑÑ ÑÑÐ¿ÐµÑ Ð¾Ð². ___ 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] Пикап
Ðикап блог один из лÑÑÑий инÑоÑмаÑивнÑÑ ÑайÑов о в УкÑаине, коÑоÑÑй Ð¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ Ð¼ÑжÑинам в ÑÐ°Ð·Ñ ÑлÑÑÑиÑÑ Ð¸Ñ Ð»Ð¸ÑнÑÑ Ð¸ ÑекÑÑалÑнÑÑ Ð¶Ð¸Ð·Ð½Ñ Ð´Ð°ÐµÑ Ð¾ÑвеÑÑ Ð½Ð° вопÑÐ¾Ñ ÐºÐ°Ðº познакомиÑÑÑÑ Ñ Ð´ÐµÐ²ÑÑкой? , и ÑеÑиÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво пÑоблем, найÑи оÑвеÑÑ ÐºÐ¾ÑоÑÑе помогÑÑ Ðам ÑÑаÑÑ Ð½Ð°ÑÑоÑÑими мÑжÑинами!!! ___ 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] Linking archives in a sibling directory
Hi Rolf, On Thu, Dec 2, 2010 at 23:36, Rolf Eike Beer e...@sf-mail.de wrote: Let's say you have dirA, dirB, dirC dirA builds a lib dirB builds a lib that needs libA dirC builds a target that needs libA and libB Then you can't do libB/CMakeLists.txt ADD_SUBDIRECTORY(../dirA dira) libB/CMakeLists.txt ADD_SUBDIRECTORY(../dirA dira) ADD_SUBDIRECTORY(../dirB dirb) CMakeLists.txt ADD_SUBDIRECTORY(dirA) ADD_SUBDIRECTORY(dirB) ADD_SUBDIRECTORY(dirC) Yes -- that's exactly what I was trying to say. Thank you for the example! I suppose the default behavior of ADD_SUBDIRECTORY is understandable since it is meant to catch duplicate names. By this I mean that maybe its aim was to catch these problems when they are caused by human error. since dirA is included twice. We have a module for that: function (Add_Subdirectory_Once SUBDIRECTORY) ... Thank you for this! I presume by We you mean you and your organization? That is, this function isn't in CMake. I'll give it a try and see if it solves my problems. Thank you all for your explanations! Ray ___ 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] CMake Xcodeproject
On 12/2/2010 7:10 AM, salwa wrote: thanks. it look's like i'm the only one :( there is this blog: http://sites.google.com/site/michaelsafyan/coding/articles/iphone/cross-compiling-for-the-iphone-using-cmake -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://www.cmake.org/mailman/listinfo/cmake
[CMake] Configure common headers for Visual Studio 2010 Express
I'm developing a cross platform application written in C++, and I'm using CMake to configure the build settings for each platform. The project has common include files that need to be applied to all the targets built in the project. To that end, the beginning of my main CMakeList.txt script looks something like this: project(MyProject) include_directories(${CMAKE_SOURCE_DIR}/Common) When I configure the project to build with the express version of Visual Studio 2008 everything works fine and the common header files are applied to all targets When I configure the project to build with the express version of Visual Studio 2010, however, these common header are not applied to any targets and many compilation errors result when building. I am using CMake version 2.8.3 on Windows 7 Enterprise. What is needed to get CMake to configure things properly for Visual Studio 2010 Express? ___ 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] find_package with ###Config.cmake
There is a small library TLib which is installed like this Install the project... -- Install configuration: Debug -- Installing: /usr/local/lib/libTLibd.so -- Installing: /usr/local/lib/TLib/TLibExport.cmake -- Installing: /usr/local/lib/TLib/TLibExport-debug.cmake -- Installing: /usr/local/include/TLib/cmFile.h -- Installing: /usr/local/lib/TLib/TLIBConfig.cmake -- Installing: /usr/local/lib/TLib/TLIBConfigVersion.cmake The CMakeLists file for the application program has the following line to find the library FIND_PACKAGE(TLIB) This works, surprisingly, very good. No CMAKE_MODULE_PATH, no TLIB_DIR in this case. But... If I call FIND_PACKAGE with version: FIND_PACKAGE(TLIB 1.3) I get the std-warning: - CMake Warning at TestDLL/CMakeLists.txt:20 (FIND_PACKAGE): Could not find module FindTLIB.cmake or a configuration file for package TLIB. Adjust CMAKE_MODULE_PATH or TLIB_DIR... - Why can't CMake find the TLIBConfig file, if FIND_PACKAGE is called with version and TLIB_DIR is not set? Greetings Micha ___ 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] find_package with ###Config.cmake
On 03.12.10 07:11:23, Micha Renner wrote: There is a small library TLib which is installed like this Install the project... -- Install configuration: Debug -- Installing: /usr/local/lib/libTLibd.so -- Installing: /usr/local/lib/TLib/TLibExport.cmake -- Installing: /usr/local/lib/TLib/TLibExport-debug.cmake -- Installing: /usr/local/include/TLib/cmFile.h -- Installing: /usr/local/lib/TLib/TLIBConfig.cmake -- Installing: /usr/local/lib/TLib/TLIBConfigVersion.cmake The CMakeLists file for the application program has the following line to find the library FIND_PACKAGE(TLIB) This works, surprisingly, very good. No CMAKE_MODULE_PATH, no TLIB_DIR in this case. But... If I call FIND_PACKAGE with version: FIND_PACKAGE(TLIB 1.3) I get the std-warning: - CMake Warning at TestDLL/CMakeLists.txt:20 (FIND_PACKAGE): Could not find module FindTLIB.cmake or a configuration file for package TLIB. Adjust CMAKE_MODULE_PATH or TLIB_DIR... - Why can't CMake find the TLIBConfig file, if FIND_PACKAGE is called with version and TLIB_DIR is not set? The problem might not be finding the Config file, but rather that the ConfigVersion file doesn't set the VERSION_COMPATIBLE or VERSION_EXACT variables. Or maybe it even sets the VERSION_UNSUITABLE to indicate that the installed version of TLib doesn't match the version you request. Unfortunately cmake currently cannot seem to distinguish between these two cases (non-matching version vs. no config-file found), hence it produces the same message in both cases. Andreas -- Don't you feel more like you do now than you did when you came in? ___ 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, next, updated. v2.8.3-729-g5f55d7b
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 5f55d7b8f9d146e1b6be025011ba04e0bda78ad4 (commit) via 746d54a8430075a634d1086f484bfe72d13293be (commit) from 689c57e1999f8dbd880cb307e2659f20cc0c6433 (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=5f55d7b8f9d146e1b6be025011ba04e0bda78ad4 commit 5f55d7b8f9d146e1b6be025011ba04e0bda78ad4 Merge: 689c57e 746d54a Author: Brad King brad.k...@kitware.com AuthorDate: Thu Dec 2 08:57:23 2010 -0500 Commit: Brad King brad.k...@kitware.com CommitDate: Thu Dec 2 08:57:23 2010 -0500 Merge branch 'master' into next --- 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
[Cmake-commits] CMake branch, master, updated. v2.8.3-142-gb4bd2d3
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 b4bd2d3bafb11f438eb655466856c75fd1b24b05 (commit) via 08a31885c1eff9ed630d831ed38e231287c2c719 (commit) from 746d54a8430075a634d1086f484bfe72d13293be (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=b4bd2d3bafb11f438eb655466856c75fd1b24b05 commit b4bd2d3bafb11f438eb655466856c75fd1b24b05 Merge: 746d54a 08a3188 Author: Brad King brad.k...@kitware.com AuthorDate: Thu Dec 2 14:24:45 2010 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Thu Dec 2 14:24:45 2010 -0500 Merge topic 'vs-target-dependencies' 08a3188 Skip VS = 7.1 dependency analysis for VS = 8 --- Summary of changes: Source/cmGlobalVisualStudio8Generator.cxx |8 Source/cmGlobalVisualStudio8Generator.h |1 + 2 files changed, 9 insertions(+), 0 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v2.8.3-145-g42fac25
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 42fac2580851e3297b774dc21c0b4752e8f84407 (commit) via 12a7125b323fe2d996fd536f2808a94f6e02e438 (commit) via d0eb89c17b86dd583d315b15b8ca71e32561f49a (commit) from b4bd2d3bafb11f438eb655466856c75fd1b24b05 (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=42fac2580851e3297b774dc21c0b4752e8f84407 commit 42fac2580851e3297b774dc21c0b4752e8f84407 Merge: b4bd2d3 12a7125 Author: Brad King brad.k...@kitware.com AuthorDate: Thu Dec 2 14:24:51 2010 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Thu Dec 2 14:24:51 2010 -0500 Merge topic 'CPack-Bug11452-ComponentBreakage-v2' 12a7125 CPack Fix KWStyle error d0eb89c CPack backward compatibility fix 2.8.3-2.8.2 (bug 11452) --- Summary of changes: Source/CPack/cmCPackArchiveGenerator.cxx | 46 +++-- 1 files changed, 30 insertions(+), 16 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v2.8.3-149-g6a07b22
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 6a07b22bf9d9f3b8384270d4a458238f370f734f (commit) via 183d261b116decd6ab09a7d1a522a9ad4add47b4 (commit) from 9ab26594872350487ba6994808316a208075cf0a (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=6a07b22bf9d9f3b8384270d4a458238f370f734f commit 6a07b22bf9d9f3b8384270d4a458238f370f734f Merge: 9ab2659 183d261 Author: Brad King brad.k...@kitware.com AuthorDate: Thu Dec 2 14:25:10 2010 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Thu Dec 2 14:25:10 2010 -0500 Merge topic 'find-command-crash' 183d261 Fix find_* argument parsing crash (#11513) --- Summary of changes: Source/cmFindBase.cxx |5 + 1 files changed, 5 insertions(+), 0 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v2.8.3-151-g1060aaf
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 1060aaf08620469d7dcc1b44d36477493793f468 (commit) via 28c1be7a504c45d1a030c2d982a03b4e1cf7251b (commit) from 6a07b22bf9d9f3b8384270d4a458238f370f734f (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=1060aaf08620469d7dcc1b44d36477493793f468 commit 1060aaf08620469d7dcc1b44d36477493793f468 Merge: 6a07b22 28c1be7 Author: Brad King brad.k...@kitware.com AuthorDate: Thu Dec 2 14:25:16 2010 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Thu Dec 2 14:25:16 2010 -0500 Merge topic 'bundleutils-rpath-removal' 28c1be7 BundleUtilities: only do rpath strip on copied prerequisites. --- Summary of changes: Modules/BundleUtilities.cmake | 12 ++-- 1 files changed, 6 insertions(+), 6 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v2.8.3-154-g4617135
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 4617135fe773fe7a95628788e7a542db8614d1b7 (commit) from c300ef1c66eafcae3b4ef05f2ec27768feb1e280 (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=4617135fe773fe7a95628788e7a542db8614d1b7 commit 4617135fe773fe7a95628788e7a542db8614d1b7 Author: KWSys Robot kwro...@kitware.com AuthorDate: Fri Dec 3 00:01:09 2010 -0500 Commit: KWSys Robot kwro...@kitware.com CommitDate: Fri Dec 3 00:10:28 2010 -0500 KWSys Nightly Date Stamp diff --git a/Source/kwsys/kwsysDateStamp.cmake b/Source/kwsys/kwsysDateStamp.cmake index fe40799..3b506bb 100644 --- a/Source/kwsys/kwsysDateStamp.cmake +++ b/Source/kwsys/kwsysDateStamp.cmake @@ -18,4 +18,4 @@ SET(KWSYS_DATE_STAMP_YEAR 2010) SET(KWSYS_DATE_STAMP_MONTH 12) # KWSys version date day component. Format is DD. -SET(KWSYS_DATE_STAMP_DAY 02) +SET(KWSYS_DATE_STAMP_DAY 03) --- 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