View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0011034CMakeCTestpublic2010-07-23 22:412010-11-09 22:57
ReporterStephen Aylward 
Assigned ToDavid Cole 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product VersionCMake-2-8 
Target VersionCMake 2.8.3Fixed in VersionCMake 2.8.3 
Summary0011034: ExternalProject reports "keyword undefined" when the SOURCE_DIR begins with 3 UpperCase letters
DescriptionIn the ExternalProject.cmake:

function(_ep_parse_arguments f name ns args)
 ...
 156 # We loop through ARGN and consider the namespace starting with an
 157 # upper-case letter followed by at least two more upper-case letters
 158 # or underscores to be keywords.
 ...
 161 foreach(arg IN LISTS args)
 ...
 164 if(arg MATCHES "^[A-Z][A-Z0-9_][A-Z0-9_]+$" AND
 ...
 175 message(AUTHOR_WARNING "unknown ${f} keyword: ${arg}")
 ...

As mentioned in the comments and implemented in line 164, a typical use case of ExternalProject_Add for ITK, VTK, CTK, ... produces the error "unknown ITK keyword:" etc.

ExternalProject_Add( CTK
    SOURCE_DIR CTK
    BINARY_DIR CTK-Build

ExternalProject_Add( ITK
    SOURCE_DIR ITK


ExternalProject_Add( ITK
    SOURCE_DIR ITK

Instead you have to do

ExternalProject_Add( ITK
    SOURCE_DIR ${AN_EXTA_PATH_VAR}/ITK

Which somewhat defeats the use of a base_path.

I escalated to Major since the error message is unhelpful. You've got to look at the code to figure out what is going on.


TagsNo tags attached.
Attached Files

 Relationships
has duplicate 0011591closedDavid Cole ExternalProject.cmake: Interprets all-caps project name as keyword during parsing 

  Notes
(0021517)
David Cole (manager)
2010-07-28 11:50

Fixed in CMake 'next' -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9fa49dc3ad039ed0e1213afcd0da70a064991d27 [^]

Will appear in CMake release 2.8.3 later on...

 Issue History
Date Modified Username Field Change
2010-07-23 22:41 Stephen Aylward New Issue
2010-07-27 09:56 Bill Hoffman Status new => assigned
2010-07-27 09:56 Bill Hoffman Assigned To => David Cole
2010-07-28 11:50 David Cole Note Added: 0021517
2010-07-28 11:50 David Cole Status assigned => resolved
2010-07-28 11:50 David Cole Resolution open => fixed
2010-09-10 00:10 David Cole Fixed in Version => CMake 2.8.3
2010-09-10 00:10 David Cole Target Version => CMake 2.8.3
2010-11-09 22:57 Philip Lowman Status resolved => closed
2010-12-09 11:33 David Cole Relationship added has duplicate 0011591


Copyright © 2000 - 2018 MantisBT Team