From: Michael Wild them...@gmail.com
To: cmake@cmake.org
Date: 05/25/2011 10:08 PM
Subject: Re: [CMake] Cannot find source file: *.rc
Sent by: cmake-boun...@cmake.org
On 05/25/2011 11:40 PM, aaron_wri...@selinc.com wrote:
I use mc.exe to generate an *.rc file and some headers for my
I use mc.exe to generate an *.rc file and some headers for my program. The
*.rc file is listed as an output of a custom command and as a source to an
executable. During configuration CMake tells me it can't find a source
file and lists the *.rc file. I've check the generated property of the
Ah, I see this is an issue already discussed in length. Well hopefully
something comes of these discussions.
Thanks for the links.
---
Aaron Wright
From: Michael Hertling mhertl...@online.de
To: cmake@cmake.org
Date: 04/06/2011 05:03 AM
Subject:Re: [CMake] Dependencies
Wow. Thanks Michael. That's a very thorough answer. I like your idea, but
it just doesn't feel right. It seems to me that the right way to do it
would be to patch CMake.
There's a base class for the dependency scanners and several derived
classes for C, java, fortan, etc. Would it not be easy
I have some m4 files in my build that include other m4 files, so there's a
dependency between m4 files that can change at any time. I can calculate
the dependency at configure time, but what can I do when the files change
and I need to recalculate the dependencies? This is obviously handled for
http://public.kitware.com/Bug/view.php?id=11171
I'm hoping this one isn't too hard to fix.
---
Aaron Wright
From: David Cole david.c...@kitware.com
To: cmake cmake@cmake.org, CMake Developers
cmake-develop...@cmake.org
Date: 03/29/2011 10:57 AM
Subject:[CMake] Bug fix
Well I tried looking at the code and found cmVS10LinkFlagTable.h was the
only file to mention MANIFESTUAC. But I can't figure out a simple fix. It
pretty obvious this entry in the table is way to simple:
{UACUIAccess, MANIFESTUAC:, Enable User Account Control (UAC), ,
I'm trying to use this in my CMake file for a simple executable:
SET_TARGET_PROPERTIES(
your_executable
PROPERTIES LINK_FLAGS /MANIFESTUAC:\level='requireAdministrator'
uiAccess='false'\)
This worked in vs2008, but not in vs2010. The project contains:
I was curious about an answer to this question. I don't think source and
header files should be separated either. It's just a nag, but if there was
an easy fix, I'd jump on it.
---
Aaron Wright
From: Orcun Gokbulut mador...@gmail.com
To: cmake@cmake.org
Date: 02/23/2011 07:48 AM
Yeah, actually. I didn't think it would be that easy. Thanks.
---
Aaron Wright
From: Michael Jackson mike.jack...@bluequartz.net
To: aaron_wri...@selinc.com
Cc: cmake@cmake.org
Date: 02/25/2011 09:58 AM
Subject:Re: [CMake] Default visual studio filters
I have the
Why did we skip point number 4. This was the biggest part of the CMake
build system I made for my team. And I believe I borrowed a bit from the
boost CMake adaption, so perhaps they have the same problem.
Instead of using a built in feature to accomplish this I have numerous
macros and
This is with both 2.8.3 and 2.8.4-rc1.
On a side note, VS2010 is not trying to compile the *.res file as part of
the executable, because it is marked HEADER_FILE_ONLY, and in addition I
can remove it entirely from the project. Instead, even when the *.res file
appears no where in the solution
Well, you're probably going to think this is stupid, but the *.res file is
not actually a resource file in the Microsoft sense of it. It's just a
text file that happens to have the *.res extension. It's a string
localization text file that our logging library knows how to read. It
think it is
Ah, I new that would come up. Yeah, they could be renamed. There are only
a dozen or so of them.
I was just trying to migrate the build system to VS2010 in between
projects here at work, and this is the only thing holding me back from a
smooth transition. Changing the extension is certainly an
I know I've asked this before, but now I've narrowed it down a bit and I
have an example. This copies a *.res file to the binary directory where
presumably the executable can find it. The executable has that file as a
source file to hook up the dependency, and the copied file has the
I have a project with custom resource files in it, and unfortunately they
have the same extension as real resource files, so Visual Studio tries to
compile them. This obviously doesn't work.
So I set the HEADER_FILE_ONLY property on these files and that fixed it.
Now we're moving to Visual
I have a couple projects like that in my build. I just make a dumby.cpp
file that is completely empty and give that to add_library() with the
other headers. It seems to make everyone happy.
---
Aaron Wright
From:
Pedro d'Aquino bud...@gmail.com
To:
cmake@cmake.org
Date:
11/01/2010 06:02 AM
I've seen this a few times in the past, and I've seen a few people try to
get it to work. My advise is to not try. The problem comes from thinking
that a template class is a class, but that is not true. Your template
class is just a recipe for the compiler to use when it wants to make a
class
Does it make sense to use CPack for debian packaging? When I first started
my current project I explored creating debian packages with CPack. I
decided not to because it is counter to what any typical debian user will
expect. Anyone getting the source for a debian package knows that running
The standard debian way is to have an executable file named
`debian/rules` which creates packages when invoked.
Interesting. Now that I think about it, I guess that's correct. I was
confused by my mostly empty 'debian/rules' file into thinking that it was
an additional layer above that did
(This is a repeat email, but my last one may have been in reply to another
message, which it should not have been. So I'm trying again, sorry.)
I have a program that uses the Window's Event Log. Using the event log is
a little goofy; it requires a message resource file. So I set up a custom
I have sort of an interesting directory structure for my projects. I have
a folder for libraries, a folder for executables, and a folder for
packages. The packages folder contains debian packages that combine
libraries and executables from the other two folders. So they look sort of
like:
My bad. I forget the address for the mailing list all the time, and didn't
know that would happen.
That solution would certainly work, and might be what I have to use in the
future. I was wondering why the INSTALL(TARGET command cares what
directory the target was in? Can't it just do what is
I have a program that uses the Window's Event Log. Using the event log is
a little goofy; it requires a message resource file. So I set up a custom
command to call mc.exe can create a header and resource file from a
message script (*.mc file). This generally works fine, but sometimes it
says
Thanks for checking on this Brad.
-
Aaron Wright
From:
Brad King brad.k...@kitware.com
To:
aaron_wri...@selinc.com
Cc:
cmake@cmake.org, Michael Wild them...@gmail.com
Date:
04/23/2010 11:59 AM
Subject:
Re: [CMake] Why is this custom
Is there no interest in this differing behavior between Linux and Windows?
I'm a little worried that CMake doesn't produce the same results in both
situations. Aren't those kind of things bugs?
If no one knows the answer off the top of their head, are there some
debugging tips or avenues of
Interesting. I had a little typo in the first example, here's another one.
You only need a file called generated.txt.in next to the CMakeLists.txt
file.
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(quick_test)
ADD_CUSTOM_COMMAND(
OUTPUT ${PROJECT_BINARY_DIR}/generated.txt
COMMAND
I'm trying to do something a little weird, and I'm almost there but not
quite. I'm trying to generate a file and then run a command based on that
file. I only want the command to run when the file changes and thus the
generated file changes. Instead the first build I get both custom commands
Are you missing some INSTALL commands?
-
Aaron Wright
Software Engineer - DCS Group
Schweitzer Engineering Laboratories, Inc.
Pullman, WA 99163
509-334-8087
From:
Roger rno...@gmail.com
To:
cmake@cmake.org
Date:
04/12/2010 08:50 AM
I'm working with MSVC 9.0 2008 and I want to add a flag (/LTCG) to the
librarian command line.
I can add flags to the linker successfully with:
SET_PROPERTY(TARGET ${TARGET} PROPERTY LINK_FLAGS ${LINK_FLAGS})
But this doesn't seem to translate to the librarian command line. I
couldn't find a
What version of VS are you using? I saw this behavior in VC++ 2008
express, but when I upgraded to the full version this went away. None of
my files are closed during a solution or project refresh.
-
Aaron Wright
From:
James Bigler
I've always been a little confused by FIND_PACKAGE and those
*-config.cmake files. So much so that I didn't use them in my build
system at all. The main question I have is that I have several developers
and numerous little and big libraries. Because the whole project is so big
it would be
You mean in the case of a master CMakelists.txt file I assume? That does
work, and I like that functionality. The same kind of thing works for
Visual Studio solutions as well. I just don't think this fits the usual
paradigm of building my developers and I are used to.
For example, if they
So... no easy answer for this? The only reason I bring this up is that
I've looked at the cmake version of boost, and it requires a library of
several cmake files full of macros and functions that help get their
project organization to work with cmake. I've had to resort to the same
kind of
I know this has been asked before but I don't think it got an answer. I
have a situation where I have over 200 projects in Visual Studio with no
organization. Is there anyway to put them under folders? It would really
save me some headaches. Thanks.
I have several libraries, each with numerous test programs, and a top
level program. Each of these has an individual project in Visual Studio.
In addition I have a doxygen and coverage target for each library or test
program. And if I want to make a target depend on a file, I need to create
a
Is this the best way to generate a comment bar, such as this:
or this:
or this:
I want to make an executable depend on output of a custom command. The
custom command just copies a file to a place where the executable will be
able to find it. I find that I can't get a dependency between an
executable and, essentially, a file to work.
For example, this doesn't work:
Thanks Michael. I guess I didn't understand what it was asking.
-
Aaron Wright
From:
Michael Wild them...@gmail.com
To:
aaron_wri...@selinc.com
Cc:
cmake@cmake.org
Date:
02/18/2010 03:03 PM
Subject:
Re: [CMake] Windows Version in HEX
I have a boost::asio library that wants _WIN32_WINNT or _WIN32_WINDOWS
defined to the hex version of windows, like 0x0501 for windows xp. I can
get 5.1 from CMAKE_SYSTEM_VERSION, but is there a hex version, or do I
have to do some converting myself?
I tried your way Michael and liked the simplicity of it, however, it
seemed that CMake configuration would have to run much more often in my
case, because the file I want to append to the configured file is a
source/header file and it will be modified frequently during development.
I also
I run CONFIGURE_FILE on a file that is read only. The output file is also
read only, which is a problem because I need to append to it. Is there a
way to change this behavior? Or a work around?
-
Aaron Wright
What does it mean when my continuous build seems to process coverage just
fine, but doesn't seem to get any results? I can use my own coverage tool
and get results that are correct so the coverage build is working. I think
I'm just missing a simple thing here. I get:
Performing coverage
I'm not trying to do anything too fancy, just trying to call:
UNSET(variable CACHE)
It works with MSVC, but in linux I get:
Unknown CMake command UNSET.
Am I missing something? Linux is version 2.6.2, and MSVC is 2.6.4. I'm
asking first because I don't want to update the linux version, as
I didn't mean to imply that CMake itself was a pain to build or use on
linux. I work in a pretty controlled environment that needs to be
reproducible. I use debootstrap to create this environment, thus,
everything is a nice little deb package. The destro is hardy, which is a
little old, and so
With templates it's easiest to declare and implement in one file. The
compiler likes this. Anything else you try requires extra work. Unless
you're working in an embedded environment I don't see how executable size
should even be a concern.
Just put the implementation of the template class in the declaration. Get
that to work, then try to get fancy if you want to.
-
Aaron Wright
e...@cs.bgu.ac.il e...@cs.bgu.ac.il
Sent by: cmake-boun...@cmake.org
12/29/2009 08:54 AM
To
I agree with Michael. C/C++ does not allow you pass around functions. You
can only pass around pointers to functions.
Perhaps this line is confusing you:
int (*Func)(int,int) = SomeFunction;
This is not assigning SomeFunction to Func. It's assigning a pointer to
SomeFunction to Func. It
I have a little question about how to prevent double substitution in an IF
statement.
Consider this macro that looks through a list for a string, and sets a
variable to TRUE if it is found. The problem I have is that the IF
statement substitutes ${VALUE2} with LIB, and then substitutes LIB
I'm not moving CMakeCache.txt around. I start with a completely new and
empty folder each time. I run CMake and it thinks that the target machine
is x64. I don't specify any funny business with cross-compiling to a
different target machine or anything.
I understand the ctest -S for night
I have the windows SDK installed. It came with Visual Studio. I run
everything from perl, so in my script, I set the environment to:
$ENV{VSINSTALLDIR} = C:\\Program Files\\Microsoft Visual
Studio 9.0;
$ENV{VCINSTALLDIR} = C:\\Program Files\\Microsoft Visual
Studio 9.0\\VC;
Bill,
I think you were right. I took a hard look at my SDK paths and
changed a capital I to a lower-case i and everything seems better.
Thanks for help.
On a side note, perhaps assuming x64 when x86 fails is a bad
algorithm, or at least confusing.
I'm sorry, I was being a little flippant. I had an un-escaped \ in my
perl script that set the INCLUDE environment variable. Apparently, CMake
was unable to compile a test program because of this messed up path, and
thus assumed the box must be x64. I didn't mean to mislead you.
I'm trying to use nmake to build a simple library, but cmake seems to have
a problem figuring out if my machine is x86 or x64. For example, I run,
cmake -G NMake Makefiles ..
and I get:
CMakeFiles\cmTryCompileExec.dir\testCCompiler.c.obj : fatal error LNK1112:
module machine type 'X86'
I've been trying to build the INSTALL project as part of the solution from
the commandline. For example, after running:
cmake -G Visual Studio 9 2008 ..
I've tried:
msbuild /t:INSTALL /p:Configuration=Release solution.sln
But this builds ALL_BUILD and then tells me tells me:
The project
That did the trick. I've never used nmake directly before.
-
Aaron Wright
Software Engineer - DCS Group
Schweitzer Engineering Laboratories, Inc.
Pullman, WA 99163
509-334-8087
Dixon, Shane shane.di...@atmel.com
11/10/2009 02:17 PM
To
That solution works pretty good Mike. Not quite what I thought I was
looking for, but it works.
-
Aaron Wright
Software Engineer - DCS Group
Schweitzer Engineering Laboratories, Inc.
Pullman, WA 99163
509-334-8087
Mike Jackson
I have a small project with several different parts that I would like to
build with CMake, but I'm having some trouble pulling it all together.
For example purposes, there's an overall project with three executables
that use two static libraries. The executables and static libraries are
58 matches
Mail list logo