Fixed CMake binary dependencies. This resolves MESOS-8035 so that building just the `mesos-agent`, etc. target should correctly build its runtime dependencies (such as the containerizer, executor, etc.).
Review: https://reviews.apache.org/r/63342 Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/1f6c5d16 Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/1f6c5d16 Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/1f6c5d16 Branch: refs/heads/master Commit: 1f6c5d165f5656ac2a40fc30bd86e40f647e914c Parents: 57d5862 Author: Andrew Schwartzmeyer <and...@schwartzmeyer.com> Authored: Thu Oct 26 12:51:06 2017 -0700 Committer: Andrew Schwartzmeyer <and...@schwartzmeyer.com> Committed: Tue Dec 5 17:32:18 2017 -0800 ---------------------------------------------------------------------- src/local/CMakeLists.txt | 1 + src/slave/CMakeLists.txt | 18 ++++++++++++++++++ src/tests/CMakeLists.txt | 20 ++++---------------- 3 files changed, 23 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/1f6c5d16/src/local/CMakeLists.txt ---------------------------------------------------------------------- diff --git a/src/local/CMakeLists.txt b/src/local/CMakeLists.txt index 5e5bee3..7be3ede 100644 --- a/src/local/CMakeLists.txt +++ b/src/local/CMakeLists.txt @@ -21,4 +21,5 @@ if (NOT WIN32) ########################################################### add_executable(mesos-local main.cpp) target_link_libraries(mesos-local PRIVATE mesos) + add_dependencies(mesos-local mesos-agent mesos-master) endif () http://git-wip-us.apache.org/repos/asf/mesos/blob/1f6c5d16/src/slave/CMakeLists.txt ---------------------------------------------------------------------- diff --git a/src/slave/CMakeLists.txt b/src/slave/CMakeLists.txt index 6f08f3d..638d602 100644 --- a/src/slave/CMakeLists.txt +++ b/src/slave/CMakeLists.txt @@ -23,3 +23,21 @@ add_subdirectory(resource_estimators) ####################### add_executable(mesos-agent main.cpp) target_link_libraries(mesos-agent PRIVATE mesos) + +# Add binary dependencies +add_dependencies( + mesos-agent + mesos-containerizer + mesos-default-executor + mesos-docker-executor + mesos-executor + mesos-tcp-connect + mesos-usage) + +if (NOT WIN32) + add_dependencies( + mesos-agent + mesos-cni-port-mapper + mesos-fetcher + mesos-io-switchboard) +endif () http://git-wip-us.apache.org/repos/asf/mesos/blob/1f6c5d16/src/tests/CMakeLists.txt ---------------------------------------------------------------------- diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index b74fbb9..92db731 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -264,16 +264,7 @@ add_executable(test-helper EXCLUDE_FROM_ALL ${TEST_HELPER_SRC}) target_link_libraries(test-helper PRIVATE mesos-tests-interface) # The tests require these binaries. -add_dependencies( - mesos-tests - test-helper - mesos-agent - mesos-default-executor - mesos-docker-executor - mesos-executor - mesos-containerizer - mesos-tcp-connect - mesos-usage) +add_dependencies(mesos-tests test-helper mesos-agent) if (NOT WIN32) # The tests require these binaries. @@ -281,13 +272,10 @@ if (NOT WIN32) add_dependencies( mesos-tests mesos-execute - mesos-fetcher - mesos-log mesos-local - mesos-master - mesos-io-switchboard - mesos-cni-port-mapper - mesos-logrotate-logger) + mesos-log + mesos-logrotate-logger + mesos-master) # The tests require all the test modules. These are not directly linked but # instead loaded at runtime, hence the manual dependency here.