Browse Source

CMake: Misc: Extract command path_join() from Translations

This abstracts the joining of paths a bit better than having
basically the same code twice in the Translations module.

Gbp-Dch: ignore
Julian Andres Klode 7 years ago
parent
commit
0d04a4987f
2 changed files with 11 additions and 14 deletions
  1. 9 0
      CMake/Misc.cmake
  2. 2 14
      CMake/Translations.cmake

+ 9 - 0
CMake/Misc.cmake

@@ -77,3 +77,12 @@ function(add_version_script target)
     target_link_libraries(${target} PRIVATE -Wl,-version-script="${script}")
     add_dependencies(${target} ${target}-versionscript)
 endfunction()
+
+function(path_join out path1 path2)
+    string(SUBSTRING ${path2} 0 1 init_char)
+    if ("${init_char}" STREQUAL "/")
+        set(${out} "${path2}" PARENT_SCOPE)
+    else()
+        set(${out} "${path1}/${path2}" PARENT_SCOPE)
+    endif()
+endfunction()

+ 2 - 14
CMake/Translations.cmake

@@ -21,13 +21,7 @@ function(apt_add_translation_domain)
         --msgid-bugs-address=${PACKAGE_MAIL}
     )
     foreach(source ${NLS_SCRIPTS})
-            string(SUBSTRING ${source} 0 1 init_char)
-            string(COMPARE EQUAL ${init_char} "/" is_absolute)
-            if (${is_absolute})
-                set(file "${source}")
-            else()
-                set(file "${CMAKE_CURRENT_SOURCE_DIR}/${source}")
-            endif()
+            path_join(file "${CMAKE_CURRENT_SOURCE_DIR}" "${source}")
             file(RELATIVE_PATH relfile ${PROJECT_SOURCE_DIR} ${file})
             list(APPEND scripts ${relfile})
             list(APPEND abs_scripts ${file})
@@ -36,13 +30,7 @@ function(apt_add_translation_domain)
         get_target_property(source_dir ${target} SOURCE_DIR)
         get_target_property(sources ${target} SOURCES)
         foreach(source ${sources})
-            string(SUBSTRING ${source} 0 1 init_char)
-            string(COMPARE EQUAL ${init_char} "/" is_absolute)
-            if (${is_absolute})
-                set(file "${source}")
-            else()
-                set(file "${source_dir}/${source}")
-            endif()
+            path_join(file "${source_dir}" "${source}")
             file(RELATIVE_PATH relfile ${PROJECT_SOURCE_DIR} ${file})
             set(files ${files} ${relfile})
             set(abs_files ${abs_files} ${file})