mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-30 02:59:22 -05:00
Tests: Add test for install(TARGETS) RPATH functionality
This commit is contained in:
@@ -88,6 +88,7 @@ run_install_test(TARGETS-CONFIGURATIONS)
|
|||||||
run_install_test(DIRECTORY-PATTERN)
|
run_install_test(DIRECTORY-PATTERN)
|
||||||
run_install_test(TARGETS-Parts)
|
run_install_test(TARGETS-Parts)
|
||||||
run_install_test(FILES-PERMISSIONS)
|
run_install_test(FILES-PERMISSIONS)
|
||||||
|
run_install_test(TARGETS-RPATH)
|
||||||
|
|
||||||
set(run_install_test_components 1)
|
set(run_install_test_components 1)
|
||||||
run_install_test(FILES-EXCLUDE_FROM_ALL)
|
run_install_test(FILES-EXCLUDE_FROM_ALL)
|
||||||
|
|||||||
@@ -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()
|
||||||
@@ -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
|
||||||
|
)
|
||||||
@@ -1,4 +1,7 @@
|
|||||||
int obj1(void)
|
#ifdef _WIN32
|
||||||
|
__declspec(dllexport)
|
||||||
|
#endif
|
||||||
|
int obj1(void)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
#ifdef _WIN32
|
||||||
|
__declspec(dllimport)
|
||||||
|
#endif
|
||||||
|
int obj1(void);
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
return obj1();
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user