From 5852a913a8b27b91098d8fad714ce9457a535259 Mon Sep 17 00:00:00 2001 From: Kiran Pradeep Date: Fri, 8 Nov 2013 14:09:34 +0530 Subject: [PATCH] CMake's get_filename_component with NAME_WE parameters, interprets first period as start of extension. For. e.g file name with out extension of 'this.is.a.text.file.txt' will be taken as 'this'. Hence using NAME with regex replacement to get 'this.is.a.text.file' --- modules/world/CMakeLists.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/world/CMakeLists.txt b/modules/world/CMakeLists.txt index f18635e62..f65447dc0 100644 --- a/modules/world/CMakeLists.txt +++ b/modules/world/CMakeLists.txt @@ -66,7 +66,9 @@ foreach(m ${OPENCV_MODULE_${the_module}_DEPS}) endif() endif() string(REPLACE ".." "__" srcname "${srcname}") - get_filename_component(srcname_we ${srcname} NAME_WE) + #NAME_WE intentionally not used since it interprets first period as start of extension (http://cmake.org/Bug/view.php?id=12282) + get_filename_component(srcname_we "${srcname}" NAME) + string(REGEX REPLACE "\\.[^.]+$" "" srcname_we "${srcname_we}") string(REGEX REPLACE "${srcname_we}" objpath2 "${objpath1}") string(REGEX REPLACE "${srcname}" objpath3 "${objpath2}") endif() @@ -92,7 +94,9 @@ macro(ios_include_3party_libs) endif() string(REPLACE ".." "__" srcname "${srcname}") - get_filename_component(srcname_we ${srcname} NAME_WE) + #NAME_WE intentionally not used since it interprets first period as start of extension (http://cmake.org/Bug/view.php?id=12282) + get_filename_component(srcname_we "${srcname}" NAME) + string(REGEX REPLACE "\\.[^.]+$" "" srcname_we "${srcname_we}") string(REGEX REPLACE "${srcname_we}" objpath2 "${objpath1}") string(REGEX REPLACE "${srcname}" objpath3 "${objpath2}")