mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-02 20:00:38 -06:00
11
Tests/RunCMake/ObjectLibrary/Dependencies.cmake
Normal file
11
Tests/RunCMake/ObjectLibrary/Dependencies.cmake
Normal file
@@ -0,0 +1,11 @@
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
|
||||
project(Dependencies)
|
||||
|
||||
add_library(myobj OBJECT ${CMAKE_BINARY_DIR}/depends_obj.cpp)
|
||||
add_library(mylib STATIC $<TARGET_OBJECTS:myobj> depends_lib.cpp)
|
||||
add_executable(myexe depends_main.cpp)
|
||||
target_link_libraries(myexe mylib)
|
||||
|
||||
enable_testing()
|
||||
add_test(NAME myexe COMMAND $<TARGET_FILE:myexe>)
|
||||
@@ -16,3 +16,22 @@ run_cmake(ObjWithObj)
|
||||
run_cmake(PostBuild)
|
||||
run_cmake(PreBuild)
|
||||
run_cmake(PreLink)
|
||||
|
||||
function(run_Dependencies)
|
||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/Dependencies-build)
|
||||
set(RunCMake_TEST_NO_CLEAN 1)
|
||||
|
||||
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
|
||||
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
|
||||
|
||||
run_cmake_command(Dependencies-build ${CMAKE_COMMAND} -E copy ${RunCMake_SOURCE_DIR}/depends_obj1.cpp ${RunCMake_TEST_BINARY_DIR}/depends_obj.cpp)
|
||||
run_cmake(Dependencies)
|
||||
run_cmake_command(Dependencies-build ${CMAKE_COMMAND} --build .)
|
||||
run_cmake_command(Dependencies-build ${CMAKE_COMMAND} -E copy ${RunCMake_SOURCE_DIR}/depends_obj0.cpp ${RunCMake_TEST_BINARY_DIR}/depends_obj.cpp)
|
||||
run_cmake_command(Dependencies-build ${CMAKE_COMMAND} -E sleep 1)
|
||||
run_cmake_command(Dependencies-build ${CMAKE_COMMAND} -E touch_nocreate ${RunCMake_TEST_BINARY_DIR}/depends_obj.cpp)
|
||||
run_cmake_command(Dependencies-build ${CMAKE_COMMAND} --build .)
|
||||
run_cmake_command(Dependencies-build ${CMAKE_CTEST_COMMAND} -C Debug)
|
||||
endfunction()
|
||||
|
||||
run_Dependencies()
|
||||
|
||||
7
Tests/RunCMake/ObjectLibrary/depends_lib.cpp
Normal file
7
Tests/RunCMake/ObjectLibrary/depends_lib.cpp
Normal file
@@ -0,0 +1,7 @@
|
||||
#include <stdlib.h>
|
||||
int myobj_foo();
|
||||
|
||||
void mylib_foo()
|
||||
{
|
||||
exit(myobj_foo());
|
||||
}
|
||||
7
Tests/RunCMake/ObjectLibrary/depends_main.cpp
Normal file
7
Tests/RunCMake/ObjectLibrary/depends_main.cpp
Normal file
@@ -0,0 +1,7 @@
|
||||
void mylib_foo();
|
||||
|
||||
int main()
|
||||
{
|
||||
mylib_foo();
|
||||
return 0;
|
||||
}
|
||||
4
Tests/RunCMake/ObjectLibrary/depends_obj0.cpp
Normal file
4
Tests/RunCMake/ObjectLibrary/depends_obj0.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
int myobj_foo()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
4
Tests/RunCMake/ObjectLibrary/depends_obj1.cpp
Normal file
4
Tests/RunCMake/ObjectLibrary/depends_obj1.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
int myobj_foo()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
Reference in New Issue
Block a user