The following issue has been SUBMITTED. 
====================================================================== 
https://public.kitware.com/Bug/view.php?id=15977 
====================================================================== 
Reported By:                Richard Lang
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   15977
Category:                   CMake
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2016-02-16 20:28 EST
Last Modified:              2016-02-16 20:28 EST
====================================================================== 
Summary:                    include_directories() gags on ".." embedded in
directory path
Description: 
Working on port of collection of existing projects from proprietary toolchain to
cmake, where some source and include files reside in sibling/common ancestor
folders of of the project folders


   |-- SharedSource
   |    |--SharedSource1.c
   |    |--SharedSource2.c
   |    +--SharedSource1.h
   +-- Project1 
   |    |--Project1.c
   |    +--MakeLists.txt
   +-- Project2
        |--Project2.c
        +--MakeLists.txt

Using Windows native cmake v3.4.1 I can quite happily specify "SharedSource" as
an include directory in my project cmake scripts using a "../' parent directory
relative reference as follows:


  ...
  include_directories(../SharedSource)
  ...

however when I try and run the same script using cmake within the cygwin & MSYS2
UNIX emulation environments it fails with a "Found relative path while
evaluating include directories" message.

The problem still occurs when I explicitly prepend CMAKE_CURRENT_SOURCE_DIR on
the path, as follows

  include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../SharedSource)  

The cygwin cmake version is 3.3.1, while the MSYS2 one is 3.2.3, and probably
reflects the current version in these environments, as I've installed them
pretty recently.

 

Additional Information: 
Don't currently have a native UNIX/linux environment to try this on.  I'm a UNIX
novice, but AFAIK "../SharedSource" should be a valid relative path on UNIX
platforms.

Can't see anything obvious in the bug tracker that would suggest that this has
been fixed between 3.3.1 and 3.4.1, suggesting it's maybe a platform
idiosyncrasy.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2016-02-16 20:28 Richard Lang   New Issue                                    
======================================================================

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

Reply via email to