[CMake] Relative (source files) vs Absolute (include files) path

Brian Davis bitminer at gmail.com
Tue Feb 2 18:23:37 EST 2010


I noticed that if I have a buried CMakeLists.txt file which contains the
following

file(GLOB_RECURSE DICOM_TEST_SERVER_SRC src *.cpp )

and

INCLUDE_DIRECTORIES(
    include
)

Where src contains cpp files and include contains include files CMake uses
absolute paths for include path, but relative directories for the source.

examples produced by cmake:

src:

Creating temporary file
"c:\projects\NIH2009\source\branches\trunk\build\dvip4-Win64\cpp_source\app\dicomserver\dvipdicomsvr.dir\Debug\RSP00006D57442788.rsp"
with contents [ /Od /I
"C:\projects\NIH2009\source\branches\trunk\source\cpp\lib\3rdParty\Win\NVIDIA_GPU_Computing_SDK_2.2\common\inc"
/I
"C:\projects\NIH2009\source\branches\trunk\build\Windows-6.1\install\include"
/I
"C:\projects\NIH2009\source\branches\trunk\source\cpp\app\testing\dicomserver\include"
/I
"C:\projects\NIH2009\source\branches\trunk\source\cpp\lib\3rdParty\Win\CUDA_Toolkit_2.2\include"
/D "WIN32" /D "_WINDOWS" /D "_DEBUG" /D "CMAKE_INTDIR=\"Debug\"" /D "_MBCS"
/Gm /EHsc /RTC1 /MTd /Fo"dvipdicomsvr.dir\Debug\\"
/Fd"C:/projects/NIH2009/source/branches/trunk/build/Windows-6.1/ouput/bin/Debug/dvipdicomsvr.pdb"
/W3 /c /Zi /TP /Zm1000
"..\..\..\..\..\source\cpp\app\testing\dicomserver\src\main.cpp"
"..\..\..\..\..\source\cpp\app\testing\dicomserver\src\dcmtksvr.cpp" ]

include:

C:\projects\NIH2009\source\branches\trunk\source\cpp\app\testing\dicomserver\include

Why?

Why I care:

Lets say that I someone wants to check the Visual Studio project goop
produced by CMake in trunk and check out in a diffrent directory in their
branch on another machine.  With absolute paths sprinkled all over
effectively makes this impossible.

-- 
Brian J. Davis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20100202/9fe21bbe/attachment.htm>


More information about the CMake mailing list