diff options
Diffstat (limited to 'Tests/RunCMake/StandardLinkDirectories')
9 files changed, 42 insertions, 0 deletions
diff --git a/Tests/RunCMake/StandardLinkDirectories/CMakeLists.txt b/Tests/RunCMake/StandardLinkDirectories/CMakeLists.txt new file mode 100644 index 0000000..ccf88ee --- /dev/null +++ b/Tests/RunCMake/StandardLinkDirectories/CMakeLists.txt @@ -0,0 +1,3 @@ +cmake_minimum_required(VERSION 3.30) +project(${RunCMake_TEST} LANGUAGES C) +include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/StandardLinkDirectories/RunCMakeTest.cmake b/Tests/RunCMake/StandardLinkDirectories/RunCMakeTest.cmake new file mode 100644 index 0000000..6760ffc --- /dev/null +++ b/Tests/RunCMake/StandardLinkDirectories/RunCMakeTest.cmake @@ -0,0 +1,22 @@ +include(RunCMake) + +# Link should succeed +block() + set(libdir ${RunCMake_BINARY_DIR}/TestLib-build/TestLib/lib) + run_cmake(TestLib) + run_cmake_with_options(TestApp "-DCMAKE_C_STANDARD_LINK_DIRECTORIES=${libdir}") + set(RunCMake_TEST_NO_CLEAN 1) + set(RunCMake_TEST_OUTPUT_MERGE 1) + run_cmake_command(TestLib ${CMAKE_COMMAND} --build .) + run_cmake_command(TestAppGood ${CMAKE_COMMAND} --build ../TestApp-build) +endblock() + +# Link should fail +block() + run_cmake(TestLib) + run_cmake(TestApp) + set(RunCMake_TEST_NO_CLEAN 1) + set(RunCMake_TEST_OUTPUT_MERGE 1) + run_cmake_command(TestLib ${CMAKE_COMMAND} --build .) + run_cmake_command(TestAppBad ${CMAKE_COMMAND} --build ../TestApp-build) +endblock() diff --git a/Tests/RunCMake/StandardLinkDirectories/TestApp.cmake b/Tests/RunCMake/StandardLinkDirectories/TestApp.cmake new file mode 100644 index 0000000..53a9c9a --- /dev/null +++ b/Tests/RunCMake/StandardLinkDirectories/TestApp.cmake @@ -0,0 +1 @@ +add_subdirectory(TestApp) diff --git a/Tests/RunCMake/StandardLinkDirectories/TestApp/CMakeLists.txt b/Tests/RunCMake/StandardLinkDirectories/TestApp/CMakeLists.txt new file mode 100644 index 0000000..92dd52f --- /dev/null +++ b/Tests/RunCMake/StandardLinkDirectories/TestApp/CMakeLists.txt @@ -0,0 +1,2 @@ +add_executable(TestApp TestApp.c) +target_link_libraries(TestApp PRIVATE SLD) diff --git a/Tests/RunCMake/StandardLinkDirectories/TestApp/TestApp.c b/Tests/RunCMake/StandardLinkDirectories/TestApp/TestApp.c new file mode 100644 index 0000000..66630d8 --- /dev/null +++ b/Tests/RunCMake/StandardLinkDirectories/TestApp/TestApp.c @@ -0,0 +1,6 @@ +int TestSymbol(void); + +int main(void) +{ + return TestSymbol(); +} diff --git a/Tests/RunCMake/StandardLinkDirectories/TestAppBad-result.txt b/Tests/RunCMake/StandardLinkDirectories/TestAppBad-result.txt new file mode 100644 index 0000000..d197c91 --- /dev/null +++ b/Tests/RunCMake/StandardLinkDirectories/TestAppBad-result.txt @@ -0,0 +1 @@ +[^0] diff --git a/Tests/RunCMake/StandardLinkDirectories/TestLib.cmake b/Tests/RunCMake/StandardLinkDirectories/TestLib.cmake new file mode 100644 index 0000000..aa8a6c3 --- /dev/null +++ b/Tests/RunCMake/StandardLinkDirectories/TestLib.cmake @@ -0,0 +1 @@ +add_subdirectory(TestLib) diff --git a/Tests/RunCMake/StandardLinkDirectories/TestLib/CMakeLists.txt b/Tests/RunCMake/StandardLinkDirectories/TestLib/CMakeLists.txt new file mode 100644 index 0000000..bf41631 --- /dev/null +++ b/Tests/RunCMake/StandardLinkDirectories/TestLib/CMakeLists.txt @@ -0,0 +1,2 @@ +add_library(SLD TestLib.c) +set_target_properties(SLD PROPERTIES ARCHIVE_OUTPUT_DIRECTORY $<1:lib>) diff --git a/Tests/RunCMake/StandardLinkDirectories/TestLib/TestLib.c b/Tests/RunCMake/StandardLinkDirectories/TestLib/TestLib.c new file mode 100644 index 0000000..e5d2b1c --- /dev/null +++ b/Tests/RunCMake/StandardLinkDirectories/TestLib/TestLib.c @@ -0,0 +1,4 @@ +int TestSymbol(void) +{ + return 0; +} |