Marie,
Use the following in your CMakeLists.txt file, generally near the top just after you define the PROJECT (... )

SET (LIBRARY_OUTPUT_PATH "${PROJECT_BINARY_DIR}/Bin" CACHE INTERNAL "For libraries.") SET (EXECUTABLE_OUTPUT_PATH "${PROJECT_BINARY_DIR}/Bin" CACHE INTERNAL "For executables.")

This will put all the compiled libraries and executables into the same bin directory.

Also, I think you may be missing a key philosophy of CMake which is "Out of Source" builds. In your project folder create a new folder called "Build". Then from the a terminal run the following commands:
 cd Build
 cmake ../
 make

What this does is create the Build directory, moves into that directory, then runs cmake from within the Build directory. This will encapsulate all the cmake files, intermediate files, and compiled libraries/executables in ONE sub directory within your project. If you ever need to clean to do a CVS update/Checkout/Distribution or clean build so can safely remove EVERYTHING within the "Build" directory and rerun cmake again. Others in the cmake community will put the build directory at the same level as the ProjectDir. So the commands look like:
 mkdir Build
 cmake ../ProjectDir
 make

Also, on to the actual problem, can you post the actual linker command? Run "make VERBOSE=1" and post the output.

--
Mike Jackson   Senior Research Engineer
Innovative Management & Technology Services


On Sep 27, 2007, at 3:46 PM, Marie-Christine Vallet wrote:

Mike Jackson wrote:
What are the errors you are getting on OS X?
I get an undefined symbol error for several of my variables.
If I do the linking manually, leaving out the library, and putting the .o of the library and use the same flags, it works.

Also, at least one comment, I am not sure you want to be setting the PROJECT_BINARY_DIR Variable?

What are you trying to do with this statement:

SET(PROJECT_BINARY_DIR
${CMAKE_SOURCE_DIR}/bin)

I just wanted the binary to be in this folder (and all the files created by cmake to be in this directory so I could clean up my directory more easily )
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake

_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to