[CMake] documentation for important cmake variables
Filipe Sousa
filipe at ipb.pt
Thu May 12 13:15:11 EDT 2005
On Thursday 12 May 2005 17:15, Alexander Neundorf wrote:
> Hi,
>
> > Von: Filipe Sousa <filipe at ipb.pt>
>
> ...
>
> > Other useful variables that you can put there
> >
> > PROJECT_NAME
> > PROJECT_SOURCE_DIR
> > PROJECT_BINARY_DIR
>
> The concept of PROJECT() in cmake isn't quite clear to me. I can put
> PROJECT() in multiple CMakeLists.txt's in one cmake-managed source tree.
> Which directories do these variables refer to then ?
Just a simple example:
./CMakeLists.txt:
PROJECT(test)
MESSAGE("PROJECT_NAME=${PROJECT_NAME}")
MESSAGE("test_SOURCE_DIR=${test_SOURCE_DIR}")
MESSAGE("test_BINARY_DIR=${test_BINARY_DIR}")
MESSAGE("PROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR}")
MESSAGE("PROJECT_BINARY_DIR=${PROJECT_BINARY_DIR}")
MESSAGE("CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR}")
MESSAGE("CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR}")
SUBDIRS(proj1)
./proj1/CMakeLists.txt:
PROJECT(proj1)
MESSAGE("PROJECT_NAME=${PROJECT_NAME}")
MESSAGE("proj1_SOURCE_DIR=${proj1_SOURCE_DIR}")
MESSAGE("proj1_BINARY_DIR=${proj1_BINARY_DIR}")
MESSAGE("PROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR}")
MESSAGE("PROJECT_BINARY_DIR=${PROJECT_BINARY_DIR}")
MESSAGE("CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR}")
MESSAGE("CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR}")
mkdir build && cmake ..
PROJECT_NAME=test
test_SOURCE_DIR=/home/fsousa/tmp/xxx
test_BINARY_DIR=/home/fsousa/tmp/xxx/build
PROJECT_SOURCE_DIR=/home/fsousa/tmp/xxx
PROJECT_BINARY_DIR=/home/fsousa/tmp/xxx/build
CMAKE_SOURCE_DIR=/home/fsousa/tmp/xxx
CMAKE_BINARY_DIR=/home/fsousa/tmp/xxx/build
PROJECT_NAME=proj1
proj1_SOURCE_DIR=/home/fsousa/tmp/xxx/proj1
proj1_BINARY_DIR=/home/fsousa/tmp/xxx/build/proj1
PROJECT_SOURCE_DIR=/home/fsousa/tmp/xxx/proj1
PROJECT_BINARY_DIR=/home/fsousa/tmp/xxx/build/proj1
CMAKE_SOURCE_DIR=/home/fsousa/tmp/xxx
CMAKE_BINARY_DIR=/home/fsousa/tmp/xxx/build
So PROJECT_NAME is the name given to PROJECT()
????_SOURCE_DIR is the same as PROJECT_SOURCE_DIR
> > CMAKE_DEBUG_POSTFIX
I haven't use this before
> > LIBRARY_OUTPUT_PATH
Output directory for all libraries
> > EXECUTABLE_OUTPUT_PATH
Output directoru for all executables
> > BUILD_SHARED_LIBS
When this variable is set, ADD_LIBRARY() by default builds shared libraries
> > CMAKE_BUILD_TYPE
If you set "my_cool_var" cmake is going to use CMAKE_CXX_FLAGS_MY_COOL_VAR
SET(CMAKE_CXX_FLAGS_MY_COOL_VAR "-O6")
> > CMAKE_MODULE_PATH
To tell cmake where to find scripts in first place
SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
> I don't really know these variables. Please get a login and add them to
> the wiki :-)
I will, when I have more time
> Bye
> Alex
Filipe Sousa
--
Sometimes, too long is too long.
- Joe Crowe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://public.kitware.com/pipermail/cmake/attachments/20050512/d200a3a5/attachment.pgp
More information about the CMake
mailing list