mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-09 07:11:05 -06: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(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)
|
||||
|
||||
14
Tests/RunCMake/install/TARGETS-RPATH-all-check.cmake
Normal file
14
Tests/RunCMake/install/TARGETS-RPATH-all-check.cmake
Normal 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()
|
||||
14
Tests/RunCMake/install/TARGETS-RPATH.cmake
Normal file
14
Tests/RunCMake/install/TARGETS-RPATH.cmake
Normal 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
|
||||
)
|
||||
@@ -1,4 +1,7 @@
|
||||
int obj1(void)
|
||||
#ifdef _WIN32
|
||||
__declspec(dllexport)
|
||||
#endif
|
||||
int obj1(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
9
Tests/RunCMake/install/testobj1.c
Normal file
9
Tests/RunCMake/install/testobj1.c
Normal file
@@ -0,0 +1,9 @@
|
||||
#ifdef _WIN32
|
||||
__declspec(dllimport)
|
||||
#endif
|
||||
int obj1(void);
|
||||
|
||||
int main(void)
|
||||
{
|
||||
return obj1();
|
||||
}
|
||||
Reference in New Issue
Block a user