1 Jun 2008 04:56
1 Jun 2008 08:52
Re: add_custom_command: regenerate all on modifcation?
On 6/1/08, Bill Hoffman <bill.hoffman@...> wrote: > Dave Milter wrote: > \ > > > > > I look at generated by cmake makefiles, and all generated files depend on > > CMakeLists.txt > > > > Please create a small example that shows your problem. > I hope this mailing list accept attachments. Look at regenerate_problem.tar.gz in attachment. It compiles on only unix like os, because of it uses /bin/sh. Part of CMakeLists.txt looks like this: ------------------------------------------------------ ADD_EXECUTABLE(regenerate_problem main.cpp ${CMAKE_CURRENT_BINARY_DIR}/ui_foo.hpp foo.cpp #foo2.cpp ) ------------------------------------------------------ if build project, and after that uncomment foo2.cpp, it calls script to regenerate ${CMAKE_CURRENT_BINARY_DIR}/ui_foo.hpp, but rule to build ui_foo.hpp not changed, script to build ui_foo.hpp not changed, and ui_foo.hpp exists and uptodate, but(Continue reading)
1 Jun 2008 16:29
multiple executables
Dears cmakers,
I am about to finish my "dual gui/console" behaviour for InventorTools
utilities. Compilation of whole set of executables is perfectly
handled by cmake, but final "installation" procedure does not work.
Can cmake handle this situation?:
1. cmake builds all the executables of the projects
"Dual" behaviour requires .com suffix, so all *.com are placed in
the build directories. On MSVC, it is usually at
build/(project_name)/(debug|release)/*.com
This works perfectly.
2. The last project makes one .exe for "dual" behaviour. It is called
autoconsole.exe. Before using cmake, I copied autoconsole.exe to all other
build directories to reside together with their .com and renamed them to
the same name as .com except with .exe suffix. This worked perfectly using
post-build script, but how to make it with cmake?
I unsuccessfully tried two options:
- to make post-build step by
add_custom_command (TARGET autoconsole
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${PROJECT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/autoconsole.exe
${ivview_BINARY_DIR}/${CMAKE_CFG_INTDIR}/ivview.exe
COMMENT "Copying executables..." VERBATIM)
(Continue reading)
1 Jun 2008 19:03
Re: multiple executables
On 2008-06-01 16:29+0200 Peiva Jan wrote: > install (TARGETS autoconsole > RUNTIME > DESTINATION bin > RENAME ivview.exe) > > It copies the file, but RENAME does not work (It probably works only for > PROGRAMS and FILES signatures). I was planning to use this command about ten > times to get all the required .exe. RENAME does not appear in the documentation of the install(TARGETS ...) signature of the install command so I think you are correct what you attempted above should not work. However, if you instead set the OUTPUT_NAME property of the target using set_target_properties, I believe you will get the result you want. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________(Continue reading)
1 Jun 2008 23:04
Re: [PATCH] FindQt4.cmake qt4_automoc improvements
On Thursday 29 May 2008, Christian Ehrlicher wrote: > Tanguy Krotoff schrieb: > > On Thu, May 29, 2008 at 8:48 PM, <clinton@...> wrote: > > The bug that I got with QT_DEBUG/QT_NO_DEBUG not being defined is a > > pretty hard one. > > I simply would like other devs not to spend time on such stupid > > issues, so how can this be prevented? > > We hit this problem some time ago and fixed it locally. > FindQt4.cmake from kdelibs has a fix for this - I thought alex already > merged this back to FindQt4 from cmake. I try to merge partly from time to time, but the differences have become quite big, also because the one from cmake must be more general than the one from KDE (for KDE it's ok if FindQt4.cmake just supports the Qt versions we require, i.e. currently >= 4.3.0) So there are some things which will stay different. Alex
1 Jun 2008 23:02
Re: [PATCH] FindQt4.cmake qt4_automoc improvements
Alexander Neundorf schrieb: > On Thursday 29 May 2008, Christian Ehrlicher wrote: >> Tanguy Krotoff schrieb: >>> On Thu, May 29, 2008 at 8:48 PM, <clinton@...> wrote: >>> The bug that I got with QT_DEBUG/QT_NO_DEBUG not being defined is a >>> pretty hard one. >>> I simply would like other devs not to spend time on such stupid >>> issues, so how can this be prevented? >> We hit this problem some time ago and fixed it locally. >> FindQt4.cmake from kdelibs has a fix for this - I thought alex already >> merged this back to FindQt4 from cmake. > > I try to merge partly from time to time, but the differences have become quite > big, also because the one from cmake must be more general than the one from > KDE (for KDE it's ok if FindQt4.cmake just supports the Qt versions we > require, i.e. currently >= 4.3.0) > So there are some things which will stay different. > np, but the ndebug thing should be easy to merge, or? Christian
1 Jun 2008 23:09
Re: CMakeLists for Hans-J. Boehm garbage collector
On Thursday 29 May 2008, David Genest wrote: > Hi, > > I am converting a project from autotools to CMake which has a dependency on > the the Hans B. GC library. I was wondering what would be the best way to > go about converting the GC library. This library already comes with a set > of makefiles for different platforms (NT_MAKEFILE, BCC_MAKEFILE, etc, so I > was not sure about creating CMakeLists.txt. If you just want to use the GC, you don't have to build it with cmake, having a "Finder" for cmake is good enough. > If I keep the existing makefile build framework, would I have to code > platform specific sections in my projects CMakeLists.txt in order to use > the correct makefile depending on the platform ? I suppose I would have to > call explicitely the correct make (nmake) for the platform. ...but if you need to integrate the GC build into your projects build, converting it to cmake might make sense. If you don't convert it, you have to use something like add_custom_target() to build GC, and then you have to care to call the right make with the right makefiles depending on the platform. If you convert GC to cmake, cmake takes care of a lot of things, but you still may have to care e.g. for different compile flags necessary for different platforms or different compiler versions. > Or better, I was wondering if there was a set of CMakeLists.txt for the > Hans B. garbage collector. >(Continue reading)
1 Jun 2008 23:15
Re: Minor problem with cmake-based chicken build on cygwin
On Saturday 31 May 2008, Nathan Thern wrote:
> Hi all-
> I just built chicken-3.2.0 on cygwin. The build went just fine, but the
> install put the runtime dlls (cygchicken-0.dll and cyguchicken-0.dll) in
> /usr/lib rather than /usr/bin. The installation did not work until I moved
> the dlls to /usr/bin.
>
> A quick inspection of the makefiles revealed that DLLSINPATH is not set
> in Makefile.cygwin (whereas it is in the mingw & msvc makefiles).
>
> The obvious fix is to define DLLSINPATH in the make arguments, but since
> the build is broken unless that is done, it looks like a bug to me. Perhaps
> this is a cmake bug, or a bug in the chicken source?
I know basically nothing about chicken, but usually cmake doesn't generate
files named "Makefile.cygwin". Where do they come from ?
To install libraries correctly, you have to use
install(TARGETS <lib1> <lib2> RUNTIME DESTINATION <bindir>
ARCHIVE DESTINATION <libbir>
LIBRARY DESTINATION <libdir> )
This will put everything in the correct place. Check if this is done in the
cmake files.
Alex
1 Jun 2008 23:17
Re: multiple executables
> [...] if you instead set the OUTPUT_NAME property of the target
> using set_target_properties, I believe you will get the result
> you want.
I guess, that would be the option if I would need just one
executable. But I need ten executables - each one of different name.
Simlinks, etc. are not an option because this is used on Windows only.
It would be nice to get ${CMAKE_CFG_INTDIR} working. Investigating...
Finally, found a bug!
Following cmake code
add_custom_command (TARGET autoconsole
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${PROJECT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/autoconsole.exe
${ivview_BINARY_DIR}/${CMAKE_CFG_INTDIR}/ivview.exe
COMMENT "Copying executables..." VERBATIM)
produces following command as post-build step in Visual Studio:
C:\usr\pkg\cmake-2.6.0-win32-x86\bin\cmake.exe -E copy
C:/Users/John/Desktop/ivTools.cmake.Win/build/winAutoConsole/"$"(OutDir)/autoconsole.exe
C:/Users/John/Desktop/ivTools.cmake.Win/build/ivview/"$"(OutDir)/ivview.exe
Notice "$". The "" avoids correct expansion of $(OutDir) by Visual
Studio Express 2008. If I manually remove "", everything works like a
charm. I am using cmake 2.6.0. Not sure about 2.4...
(Continue reading)
1 Jun 2008 23:48
CPack NSIS no branding image
Hi all, it seems impossible to build a NSIS installer using CMake. I tried v2.6.0 and the latest CVS version. After a "make package" I get a CPack Error. The log file NSISOutput.log gives me: [snip] !insertmacro: MUI_LANGUAGE Error: no branding image found in chosen UI! Error in macro MUI_HEADERIMAGE_INIT on macroline 27 Error in macro MUI_GUIINIT on macroline 3 Error in macro MUI_FUNCTION_GUIINIT on macroline 4 Error in macro MUI_INSERT on macroline 11 Error in macro MUI_LANGUAGE on macroline 7 Error in script "/home/xyz/tmp/cmake/build/_CPack_Packages/win32/NSIS/project.nsi" on line 438 -- aborting creation process [/snip] I am on a 64bit GNU/Linux, crosscompiling my project for Windows with mingw32. I managed to reproduce the error with a minimal(! enough to trigger the error) test project. The CMakeLists.txt file follows. ADD_EXECUTABLE(hello wintest.c) INCLUDE(InstallRequiredSystemLibraries) SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "My funky project")(Continue reading)
RSS Feed