Tests: Add test for install(TARGETS) RPATH functionality

This commit is contained in:
Kyle Edwards
2018-07-12 11:17:38 -04:00
parent 25c3fb6c35
commit 69ca768e78
5 changed files with 42 additions and 1 deletions

View File

@@ -88,6 +88,7 @@ run_install_test(TARGETS-CONFIGURATIONS)
run_install_test(DIRECTORY-PATTERN)
run_install_test(TARGETS-Parts)
run_install_test(FILES-PERMISSIONS)
run_install_test(TARGETS-RPATH)
set(run_install_test_components 1)
run_install_test(FILES-EXCLUDE_FROM_ALL)

View File

@@ -0,0 +1,14 @@
execute_process(
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/myexe"
RESULT_VARIABLE MYEXE_RESULT
OUTPUT_VARIABLE MYEXE_OUTPUT
ERROR_VARIABLE MYEXE_ERROR
)
if(NOT MYEXE_RESULT EQUAL "0")
set(RunCMake_TEST_FAILED "myexe returned [${MYEXE_RESULT}], was expecting [0]")
elseif(NOT MYEXE_OUTPUT STREQUAL "")
set(RunCMake_TEST_FAILED "myexe printed nonempty output:\n${MYEXE_OUTPUT}")
elseif(NOT MYEXE_ERROR STREQUAL "")
set(RunCMake_TEST_FAILED "myexe printed nonempty error:\n${MYEXE_ERROR}")
endif()

View File

@@ -0,0 +1,14 @@
cmake_minimum_required(VERSION 3.9)
enable_language(C)
set(CMAKE_BUILD_WITH_INSTALL_RPATH 1)
add_library(mylib SHARED obj1.c)
add_executable(myexe testobj1.c)
target_link_libraries(myexe mylib)
set_property(TARGET myexe PROPERTY INSTALL_RPATH "${CMAKE_CURRENT_BINARY_DIR}/root-all/bin")
set_target_properties(mylib PROPERTIES VERSION 1.0 SOVERSION 1)
install(TARGETS mylib myexe
DESTINATION bin
)

View File

@@ -1,4 +1,7 @@
int obj1(void)
#ifdef _WIN32
__declspec(dllexport)
#endif
int obj1(void)
{
return 0;
}

View File

@@ -0,0 +1,9 @@
#ifdef _WIN32
__declspec(dllimport)
#endif
int obj1(void);
int main(void)
{
return obj1();
}