[Cmake-commits] CMake branch, next, updated. v2.8.6-1531-gfd014db
Stephen Kelly
steveire at gmail.com
Sat Oct 8 06:12:17 EDT 2011
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via fd014dbef718d834f671b5c5762beac6eb7734d2 (commit)
via fa6df60e47a8b4360fc94684da1eccb610caa2e6 (commit)
from 54b6671ded9ae06bc7c1430befd0b9490f2bc9c5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fd014dbef718d834f671b5c5762beac6eb7734d2
commit fd014dbef718d834f671b5c5762beac6eb7734d2
Merge: 54b6671 fa6df60
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Oct 8 06:12:04 2011 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Sat Oct 8 06:12:04 2011 -0400
Merge topic 'cmake-link-interface-libraries' into next
fa6df60 Split the test source into libs and executable.
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fa6df60e47a8b4360fc94684da1eccb610caa2e6
commit fa6df60e47a8b4360fc94684da1eccb610caa2e6
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Oct 8 12:09:24 2011 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Oct 8 12:10:46 2011 +0200
Split the test source into libs and executable.
Allows building the libs only 4 times instead of 22 times.
Should help with timeout issues on the dashboard.
diff --git a/Tests/CMakeCommands/target_link_libraries/CMakeLists.txt b/Tests/CMakeCommands/target_link_libraries/CMakeLists.txt
index ea49210..217634a 100644
--- a/Tests/CMakeCommands/target_link_libraries/CMakeLists.txt
+++ b/Tests/CMakeCommands/target_link_libraries/CMakeLists.txt
@@ -13,6 +13,66 @@ add_executable(
"${CMAKE_CURRENT_BINARY_DIR}/main.cxx"
)
+set(Bools True False)
+
+foreach(B1 ${Bools})
+ foreach(B2 ${Bools})
+ execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory
+ "${CMAKE_CURRENT_SOURCE_DIR}/libs"
+ "${CMAKE_CURRENT_BINARY_DIR}/libs_${B1}_${B2}"
+ )
+ endforeach()
+endforeach()
+
+foreach(B1 ${Bools})
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/libs_True_${B1}/CMakeLists.txt"
+ "set(CMAKE_LINK_INTERFACE_LIBRARIES \"\")\n"
+ )
+endforeach()
+
+foreach(B1 ${Bools})
+ foreach(B2 ${Bools})
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/libs_${B1}_${B2}/CMakeLists.txt"
+
+ "add_library(libA SHARED classA.cpp)\n"
+ "add_library(libB SHARED classB.cpp)\n"
+ "add_library(libC SHARED classC.cpp)\n"
+
+ "generate_export_header(libA)\n"
+ "generate_export_header(libB)\n"
+ "generate_export_header(libC)\n"
+
+ "target_link_libraries(libB libA)\n"
+ "target_link_libraries(libC libA libB)\n"
+ )
+ endforeach()
+endforeach()
+
+foreach(B1 ${Bools})
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/libs_${B1}_True/CMakeLists.txt"
+ "target_link_libraries(libB LINK_INTERFACE_LIBRARIES libA)\n"
+ "target_link_libraries(libC LINK_INTERFACE_LIBRARIES libA)\n"
+ )
+endforeach()
+
+foreach(B1 ${Bools})
+ foreach(B2 ${Bools})
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/libs_${B1}_${B2}/CMakeLists.txt"
+ "export(TARGETS libA libB libC FILE Targets.cmake)\n"
+ )
+
+ try_compile(Result ${CMAKE_CURRENT_BINARY_DIR}/libs_build_${B1}_${B2}
+ ${CMAKE_CURRENT_BINARY_DIR}/libs_${B1}_${B2}
+ libs
+ OUTPUT_VARIABLE Out
+ )
+ if (NOT Result)
+ message("Libs CLEAR_LINK_INTERFACE_LIBRARIES: ${B1}\n"
+ "Libs SPECIFY_LINK_INTERFACE_LIBRARIES: ${B2}\n\n\n${Out}")
+ endif()
+ endforeach()
+endforeach()
+
set (COUNT 0)
macro(_do_build CLEAR_LINK_INTERFACE_LIBRARIES
@@ -24,11 +84,17 @@ macro(_do_build CLEAR_LINK_INTERFACE_LIBRARIES
"${CMAKE_CURRENT_BINARY_DIR}/test${COUNT}"
)
- if (${CLEAR_LINK_INTERFACE_LIBRARIES})
- file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/test${COUNT}/CMakeLists.txt"
- "set(CMAKE_LINK_INTERFACE_LIBRARIES \"\")\n"
- )
- endif()
+ # Set local short variables to avoid long lines
+ set(B1 ${CLEAR_LINK_INTERFACE_LIBRARIES})
+ set(B2 ${SPECIFY_LINK_INTERFACE_LIBRARIES})
+ set(Libs_Build_Dir ${CMAKE_CURRENT_BINARY_DIR}/libs_build_${B1}_${B2})
+
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/test${COUNT}/CMakeLists.txt"
+ "include_directories(${CMAKE_CURRENT_BINARY_DIR}/libs_${B1}_${B2}\n"
+ " ${Libs_Build_Dir}\n"
+ ")\n"
+ "include(${Libs_Build_Dir}/Targets.cmake)\n"
+ )
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/test${COUNT}/main.cpp"
""
@@ -63,31 +129,11 @@ macro(_do_build CLEAR_LINK_INTERFACE_LIBRARIES
file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/test${COUNT}/CMakeLists.txt"
- "add_library(libA SHARED classA.cpp)\n"
- "add_library(libB SHARED classB.cpp)\n"
- "add_library(libC SHARED classC.cpp)\n"
-
- "generate_export_header(libA)\n"
- "generate_export_header(libB)\n"
- "generate_export_header(libC)\n"
-
"add_executable(exec \n"
"\"${CMAKE_CURRENT_BINARY_DIR}/test${COUNT}/main.cpp\")\n"
)
file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/test${COUNT}/CMakeLists.txt"
- "target_link_libraries(libB libA)\n"
- "target_link_libraries(libC libA libB)\n"
- )
-
- if (${SPECIFY_LINK_INTERFACE_LIBRARIES})
- file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/test${COUNT}/CMakeLists.txt"
- "target_link_libraries(libB LINK_INTERFACE_LIBRARIES libA)\n"
- "target_link_libraries(libC LINK_INTERFACE_LIBRARIES libA)\n"
- )
- endif()
-
- file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/test${COUNT}/CMakeLists.txt"
"target_link_libraries(exec "
)
diff --git a/Tests/CMakeCommands/target_link_libraries/src/CMakeLists.txt b/Tests/CMakeCommands/target_link_libraries/libs/CMakeLists.txt
similarity index 97%
copy from Tests/CMakeCommands/target_link_libraries/src/CMakeLists.txt
copy to Tests/CMakeCommands/target_link_libraries/libs/CMakeLists.txt
index d7ed3a2..e32d2cb 100644
--- a/Tests/CMakeCommands/target_link_libraries/src/CMakeLists.txt
+++ b/Tests/CMakeCommands/target_link_libraries/libs/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 2.8)
-project(src)
+project(libs)
include(CheckCXXCompilerFlag)
include(GenerateExportHeader)
diff --git a/Tests/CMakeCommands/target_link_libraries/src/classA.cpp b/Tests/CMakeCommands/target_link_libraries/libs/classA.cpp
similarity index 100%
rename from Tests/CMakeCommands/target_link_libraries/src/classA.cpp
rename to Tests/CMakeCommands/target_link_libraries/libs/classA.cpp
diff --git a/Tests/CMakeCommands/target_link_libraries/src/classA.h b/Tests/CMakeCommands/target_link_libraries/libs/classA.h
similarity index 100%
rename from Tests/CMakeCommands/target_link_libraries/src/classA.h
rename to Tests/CMakeCommands/target_link_libraries/libs/classA.h
diff --git a/Tests/CMakeCommands/target_link_libraries/src/classB.cpp b/Tests/CMakeCommands/target_link_libraries/libs/classB.cpp
similarity index 100%
rename from Tests/CMakeCommands/target_link_libraries/src/classB.cpp
rename to Tests/CMakeCommands/target_link_libraries/libs/classB.cpp
diff --git a/Tests/CMakeCommands/target_link_libraries/src/classB.h b/Tests/CMakeCommands/target_link_libraries/libs/classB.h
similarity index 100%
rename from Tests/CMakeCommands/target_link_libraries/src/classB.h
rename to Tests/CMakeCommands/target_link_libraries/libs/classB.h
diff --git a/Tests/CMakeCommands/target_link_libraries/src/classC.cpp b/Tests/CMakeCommands/target_link_libraries/libs/classC.cpp
similarity index 100%
rename from Tests/CMakeCommands/target_link_libraries/src/classC.cpp
rename to Tests/CMakeCommands/target_link_libraries/libs/classC.cpp
diff --git a/Tests/CMakeCommands/target_link_libraries/src/classC.h b/Tests/CMakeCommands/target_link_libraries/libs/classC.h
similarity index 100%
rename from Tests/CMakeCommands/target_link_libraries/src/classC.h
rename to Tests/CMakeCommands/target_link_libraries/libs/classC.h
diff --git a/Tests/CMakeCommands/target_link_libraries/src/CMakeLists.txt b/Tests/CMakeCommands/target_link_libraries/src/CMakeLists.txt
index d7ed3a2..29f0986 100644
--- a/Tests/CMakeCommands/target_link_libraries/src/CMakeLists.txt
+++ b/Tests/CMakeCommands/target_link_libraries/src/CMakeLists.txt
@@ -3,14 +3,6 @@ cmake_minimum_required(VERSION 2.8)
project(src)
include(CheckCXXCompilerFlag)
-include(GenerateExportHeader)
-
-check_cxx_compiler_flag(-Wl,--no-undefined HAS_NO_UNDEFINED)
-
-if (HAS_NO_UNDEFINED AND NOT APPLE)
- # Disabled while figuring out why the check above gives a false positive.
-# set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined")
-endif()
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_VERBOSE_MAKEFILE ON)
-----------------------------------------------------------------------
Summary of changes:
.../target_link_libraries/CMakeLists.txt | 96 +++++++++++++++-----
.../{src => libs}/CMakeLists.txt | 2 +-
.../target_link_libraries/{src => libs}/classA.cpp | 0
.../target_link_libraries/{src => libs}/classA.h | 0
.../target_link_libraries/{src => libs}/classB.cpp | 0
.../target_link_libraries/{src => libs}/classB.h | 0
.../target_link_libraries/{src => libs}/classC.cpp | 0
.../target_link_libraries/{src => libs}/classC.h | 0
.../target_link_libraries/src/CMakeLists.txt | 8 --
9 files changed, 72 insertions(+), 34 deletions(-)
copy Tests/CMakeCommands/target_link_libraries/{src => libs}/CMakeLists.txt (97%)
rename Tests/CMakeCommands/target_link_libraries/{src => libs}/classA.cpp (100%)
rename Tests/CMakeCommands/target_link_libraries/{src => libs}/classA.h (100%)
rename Tests/CMakeCommands/target_link_libraries/{src => libs}/classB.cpp (100%)
rename Tests/CMakeCommands/target_link_libraries/{src => libs}/classB.h (100%)
rename Tests/CMakeCommands/target_link_libraries/{src => libs}/classC.cpp (100%)
rename Tests/CMakeCommands/target_link_libraries/{src => libs}/classC.h (100%)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list