diff options
| -rw-r--r-- | kde-modules/KDECMakeSettings.cmake | 19 | ||||
| -rw-r--r-- | tests/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | tests/KDEFetchTranslations/CMakeLists.txt | 27 | 
3 files changed, 38 insertions, 9 deletions
| diff --git a/kde-modules/KDECMakeSettings.cmake b/kde-modules/KDECMakeSettings.cmake index e5f2ca6b..d78b02ab 100644 --- a/kde-modules/KDECMakeSettings.cmake +++ b/kde-modules/KDECMakeSettings.cmake @@ -284,21 +284,21 @@ endif()  ###################################################################  # Download translations -function(_repository_name reponame) +function(_repository_name reponame dir)      execute_process(COMMAND git config --get remote.origin.url          OUTPUT_VARIABLE giturl          RESULT_VARIABLE exitCode -        WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" -    ) +        WORKING_DIRECTORY "${dir}")      if(exitCode EQUAL 0) -        string(REGEX MATCHALL ".+[:\\/]([A-Za-z\\-\\d]+)(.git)?\\s*" "" ${giturl}) -        set(${reponame} ${CMAKE_MATCH_1} PARENT_SCOPE) +        string(REGEX MATCHALL ".+[:\\/]([-A-Za-z\\d]+)(.git)?\\s*" "" ${giturl}) +        set(${reponame} ${CMAKE_MATCH_1})      endif()      if(NOT ${reponame}) -        set(${reponame} ${CMAKE_PROJECT_NAME} PARENT_SCOPE) +        set(${reponame} ${CMAKE_PROJECT_NAME})      endif() +    set(${reponame} ${${reponame}} PARENT_SCOPE)  endfunction()  if(NOT EXISTS ${CMAKE_SOURCE_DIR}/po AND NOT TARGET fetch-translations) @@ -311,7 +311,8 @@ if(NOT EXISTS ${CMAKE_SOURCE_DIR}/po AND NOT TARGET fetch-translations)          set(_EXTRA_ARGS)      endif() -    _repository_name(reponame) +    set(_reponame "") +    _repository_name(_reponame "${CMAKE_SOURCE_DIR}")      add_custom_command(          OUTPUT "${CMAKE_BINARY_DIR}/releaseme" @@ -324,10 +325,10 @@ if(NOT EXISTS ${CMAKE_SOURCE_DIR}/po AND NOT TARGET fetch-translations)      endif()      add_custom_target(fetch-translations ${_EXTRA_ARGS} -        COMMENT "Downloading translations for ${reponame} branch ${KDE_L10N_BRANCH}..." +        COMMENT "Downloading translations for ${_reponame} branch ${KDE_L10N_BRANCH}..."          COMMAND git -C "${CMAKE_BINARY_DIR}/releaseme" pull          COMMAND cmake -E remove_directory ${CMAKE_BINARY_DIR}/po -        COMMAND ruby "${CMAKE_BINARY_DIR}/releaseme/fetchpo.rb" --origin ${KDE_L10N_BRANCH} --project "${reponame}" "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_BINARY_DIR}/po" +        COMMAND ruby "${CMAKE_BINARY_DIR}/releaseme/fetchpo.rb" --origin ${KDE_L10N_BRANCH} --project "${_reponame}" "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_BINARY_DIR}/po"          ${extra}          DEPENDS "${CMAKE_BINARY_DIR}/releaseme"      ) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 88975499..965defad 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -112,6 +112,7 @@ endif()  add_test_macro(ExecuteCoreModules dummy)  add_test_macro(ExecuteKDEModules dummy) +add_test_macro(KDEFetchTranslations dummy)  add_test_macro(KDEInstallDirsTest.relative_or_absolute dummy)  add_test_variant(KDEInstallDirsTest.vars_in_sync_no_args diff --git a/tests/KDEFetchTranslations/CMakeLists.txt b/tests/KDEFetchTranslations/CMakeLists.txt new file mode 100644 index 00000000..b5f4083b --- /dev/null +++ b/tests/KDEFetchTranslations/CMakeLists.txt @@ -0,0 +1,27 @@ +project(KDEFetchTranslations) +cmake_minimum_required(VERSION 2.8.12) + +# order is important (install dirs before cmake settings)! +set(all_kde_modules +    KDEInstallDirs +    KDECMakeSettings +) + +set(ECM_KDE_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../kde-modules) +set(ECM_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../modules) +set(CMAKE_MODULE_PATH "${ECM_KDE_MODULE_DIR}" "${ECM_MODULE_DIR}") + +foreach(module ${all_kde_modules}) +    message(STATUS "module: ${module}") +    include("${module}") +endforeach() + +_repository_name(name "${CMAKE_CURRENT_SOURCE_DIR}/../../") +if (NOT ${name} STREQUAL "extra-cmake-modules") +    message(FATAL_ERROR "Wrong repository name: ${name}, should be 'extra-cmake-modules'") +endif() +add_executable(dummy ../ExecuteKDEModules/main.c) + +if(NOT TARGET fetch-translations) +    message(FATAL_ERROR "should have a fetch-translations target") +endif() | 
