Fix file extension matching for filenames with multiple dots
[libt2n] / codegen / Libt2n.cmake
index fd07cd3..3bed5f8 100644 (file)
@@ -53,7 +53,8 @@ function(setup_libt2n)
         set(T2N_GCCXML_COMMANDS "")
         foreach(T2NFILE ${${CMDGROUP}_GROUP})
             get_filename_component(FILE_NAME ${T2NFILE} NAME)
-            get_filename_component(FILE_EXT ${T2NFILE} EXT)
+            # get_filename_component(FILE_EXT ${T2NFILE} EXT)   <-- Doesn't work for filenames with multiple dots
+            string(REGEX MATCH "(\\.[^\\.]*)$" FILE_EXT ${T2NFILE})
             if(NOT FILE_EXT STREQUAL ".cpp")
                 message(FATAL_ERROR "   Error: ${FILE_NAME} is not a .cpp file based on its filename extension!")
             endif()