[Cmake] Help with first project

Matt Junkemail mattsjunkemail at yahoo.com
Sun, 22 Feb 2004 09:44:25 -0800 (PST)


Hi,

I'm new at using CMake (and I really like what I see!)
 Here is a question I haven't been able to solve.

I have a project that I've been working on for a while
in Visual C++.  I
would like to work on the same project within Linux
using gcc and CMake.

I have several files within the project's root
directory and several sub-directories that contain
source files as well.

The project is named "Engine" and resides in a
directory called Engine, which contains Engine.cpp and
Engine.h files.  Within this directory, the two
sub-directories are called "Tag" and "SOE", both
containing several matching .h and .cpp files.

I have in the Engine directory a CMakeLists.txt file
that contains the
following:

PROJECT(Engine)

SUBDIRS(Tag SOE)
INCLUDE_DIRECTORIES(Tag SOE)
SET(Engine_source Engine.cpp)

ADD_EXECUTABLE(Engine ${Engine_source})

The Tag and SOE directories also contain
CMakeLists.txt files.  They add to the Engine_source
variable:

SET(Engine_source ${Engine_source} Tag.cpp)

and:

SET(Engine_source ${Engine_source} SOE.cpp)

That's the only command in the file.

CMake generates a make file, but uponing making it, I
receive errors that within Engine.o, I have an
undefined reference to Tag.

Within the Tag and SOE directories, there are no .o
files.  So these files are not being compiled.

I have also tried using the AUX_SOURCE_DIRECTORY
command
within the root CMakeLists.txt file.

So basically I need to compile a "main" file in the
main directory that uses objects from classes in
separate source files (.cpp and .h) that reside in
sub-directories.  I don't want to compile and link the
sub-directory files as libraries.

Can somebody help with the scripts?

Thanks,
Matt. 

__________________________________
Do you Yahoo!?
Yahoo! Mail SpamGuard - Read only the mail you want.
http://antispam.yahoo.com/tools