Browse Source

Add a test for the interfaces in targets exported from the build tree.

Stephen Kelly 12 years ago
parent
commit
1d47cd94f3
2 changed files with 14 additions and 16 deletions
  1. 1 0
      Tests/ExportImport/Export/CMakeLists.txt
  2. 13 16
      Tests/ExportImport/Import/A/CMakeLists.txt

+ 1 - 0
Tests/ExportImport/Export/CMakeLists.txt

@@ -250,6 +250,7 @@ endif()
 # Export from build tree.
 export(TARGETS testExe1 testLib1 testLib2 testLib3
   testExe2libImp testLib3Imp testLib3ImpDep
+  testSharedLibRequired testSharedLibDepends
   NAMESPACE bld_
   FILE ExportBuildTree.cmake
   )

+ 13 - 16
Tests/ExportImport/Import/A/CMakeLists.txt

@@ -159,22 +159,19 @@ endif()
 
 add_executable(deps_iface deps_iface.c)
 target_link_libraries(deps_iface testLibDepends)
-set_property(TARGET deps_iface APPEND PROPERTY
-  COMPILE_DEFINITIONS
-    $<TARGET_PROPERTY:testLibDepends,INTERFACE_COMPILE_DEFINITIONS>
-)
-set_property(TARGET deps_iface APPEND PROPERTY
-  INCLUDE_DIRECTORIES
-    $<TARGET_PROPERTY:testLibDepends,INTERFACE_INCLUDE_DIRECTORIES>
-)
+target_include_directories(deps_iface PRIVATE testLibDepends)
+target_compile_definitions(deps_iface PRIVATE testLibDepends)
 
 add_executable(deps_shared_iface deps_shared_iface.cpp)
 target_link_libraries(deps_shared_iface testSharedLibDepends)
-set_property(TARGET deps_shared_iface APPEND PROPERTY
-  COMPILE_DEFINITIONS
-    $<TARGET_PROPERTY:testSharedLibDepends,INTERFACE_COMPILE_DEFINITIONS>
-)
-set_property(TARGET deps_shared_iface APPEND PROPERTY
-  INCLUDE_DIRECTORIES
-    $<TARGET_PROPERTY:testSharedLibDepends,INTERFACE_INCLUDE_DIRECTORIES>
-)
+target_include_directories(deps_shared_iface PRIVATE testSharedLibDepends)
+target_compile_definitions(deps_shared_iface PRIVATE testSharedLibDepends)
+
+#-----------------------------------------------------------------------------
+# Test that targets imported from the build tree have their dependencies
+# evaluated correctly. The above already tests the same for the install tree.
+
+add_executable(deps_shared_iface2 deps_shared_iface.cpp)
+target_link_libraries(deps_shared_iface2 bld_testSharedLibDepends)
+target_include_directories(deps_shared_iface2 PRIVATE bld_testSharedLibDepends)
+target_compile_definitions(deps_shared_iface2 PRIVATE bld_testSharedLibDepends)