aboutsummaryrefslogtreecommitdiff
path: root/tests/ECMGeneratePkgConfigFile
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ECMGeneratePkgConfigFile')
-rw-r--r--tests/ECMGeneratePkgConfigFile/CMakeLists.txt6
-rw-r--r--tests/ECMGeneratePkgConfigFile/KF5CoreAddons.pc6
-rw-r--r--tests/ECMGeneratePkgConfigFile/run_test.cmake.config54
3 files changed, 66 insertions, 0 deletions
diff --git a/tests/ECMGeneratePkgConfigFile/CMakeLists.txt b/tests/ECMGeneratePkgConfigFile/CMakeLists.txt
new file mode 100644
index 00000000..9f407cb0
--- /dev/null
+++ b/tests/ECMGeneratePkgConfigFile/CMakeLists.txt
@@ -0,0 +1,6 @@
+set(MODULES_DIR "${extra-cmake-modules_SOURCE_DIR}/modules")
+configure_file(run_test.cmake.config "${CMAKE_CURRENT_BINARY_DIR}/run_test.cmake" @ONLY)
+
+add_test(
+ NAME ECMGenerateHeaders
+ COMMAND ${CMAKE_COMMAND} -P "${CMAKE_CURRENT_BINARY_DIR}/run_test.cmake")
diff --git a/tests/ECMGeneratePkgConfigFile/KF5CoreAddons.pc b/tests/ECMGeneratePkgConfigFile/KF5CoreAddons.pc
new file mode 100644
index 00000000..68e0004d
--- /dev/null
+++ b/tests/ECMGeneratePkgConfigFile/KF5CoreAddons.pc
@@ -0,0 +1,6 @@
+
+Name: KF5CoreAddons
+Version: 5.43
+Libs: -L/usr/lib -lKF5CoreAddons
+Cflags: -I/usr/KCoreAddons
+Requires: Qt5Core
diff --git a/tests/ECMGeneratePkgConfigFile/run_test.cmake.config b/tests/ECMGeneratePkgConfigFile/run_test.cmake.config
new file mode 100644
index 00000000..dad4369b
--- /dev/null
+++ b/tests/ECMGeneratePkgConfigFile/run_test.cmake.config
@@ -0,0 +1,54 @@
+set(CMAKE_MODULE_PATH "@MODULES_DIR@")
+set(CMAKE_CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@")
+set(CMAKE_CURRENT_BINARY_DIR "@CMAKE_CURRENT_BINARY_DIR@")
+
+set(CMAKE_INSTALL_PREFIX "/usr")
+
+include(ECMGeneratePkgConfigFile)
+include(ECMSetupVersion)
+include(CMakeParseArguments)
+
+
+function (compare_files)
+ set(options)
+ set(oneValueArgs GENERATED ORIGINALS)
+ set(multiValueArgs)
+ cmake_parse_arguments(CF "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+ list(LENGTH CF_GENERATED count)
+ foreach(i RANGE ${count})
+ list(GET CF_GENERATED 0 generated_file)
+ if (NOT EXISTS "${generated_file}")
+ message(FATAL_ERROR "${generated_file} was not generated")
+ endif()
+ file(READ "${generated_file}" file_contents)
+ string(STRIP "${file_contents}" file_contents)
+
+ list(GET CF_ORIGINALS 0 original_file)
+ if (NOT EXISTS "${original_file}")
+ message(FATAL_ERROR "Original ${original_file} was not found")
+ endif()
+ file(READ "${original_file}" original_contents)
+ string(STRIP "${original_contents}" original_contents)
+
+ if(NOT original_contents STREQUAL file_contents)
+ message(FATAL_ERROR "Different files: ${original_file} ${generated_file}")
+ endif()
+ endforeach()
+endfunction()
+
+###########################################################
+
+
+ecm_setup_version(5.43 VARIABLE_PREFIX KCOREADDONS
+ VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kcoreaddons_version.h"
+ PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5CoreAddonsConfigVersion.cmake"
+ SOVERSION 5)
+
+message(STATUS "Test 1: no optional arguments")
+set(origfiles "${CMAKE_CURRENT_SOURCE_DIR}/KF5CoreAddons.pc")
+
+ecm_generate_pkgconfig_file(BASE_NAME KF5CoreAddons DEPS Qt5Core INCLUDE_INSTALL_DIR /usr/KCoreAddons FILENAME_VAR OutputFile)
+
+compare_files(GENERATED ${OutputFile}
+ ORIGINALS ${origfiles})
+file(REMOVE ${OutputFile})