You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by jo...@apache.org on 2017/09/03 12:51:25 UTC
[03/42] mesos git commit: CMake: Removed `GroupSource.cmake`.
CMake: Removed `GroupSource.cmake`.
While we want to group sources, this current solution is not
working as intended. We will consider looking into grouping
source again in future.
Review: https://reviews.apache.org/r/61351/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/b8d187f3
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/b8d187f3
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/b8d187f3
Branch: refs/heads/master
Commit: b8d187f338efb27d11f85921955dc0ee93ae501a
Parents: 96866d2
Author: Andrew Schwartzmeyer <an...@schwartzmeyer.com>
Authored: Sat Sep 2 09:34:32 2017 -0700
Committer: Joseph Wu <jo...@apache.org>
Committed: Sun Sep 3 05:51:05 2017 -0700
----------------------------------------------------------------------
3rdparty/stout/cmake/GroupSource.cmake | 110 ----------------------------
1 file changed, 110 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/b8d187f3/3rdparty/stout/cmake/GroupSource.cmake
----------------------------------------------------------------------
diff --git a/3rdparty/stout/cmake/GroupSource.cmake b/3rdparty/stout/cmake/GroupSource.cmake
deleted file mode 100644
index 7ed0b19..0000000
--- a/3rdparty/stout/cmake/GroupSource.cmake
+++ /dev/null
@@ -1,110 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-###############################################################
-# GROUP_SOURCE takes a directory root and recursively groups source files by
-# folder, so they can be displayed hierarchically in IDEs such as XCode or
-# Visual Studio. NOTE: Source files are only displayed if they are added for
-# compilation. If a file is not compiled, it will not show up in the IDE.
-#
-# Parameters:
-# GROUP_NAME Specifies group name of this directory tree. For example,
-# the directory tree `src/slave/` would fall under the group
-# name "Agent Source Files".
-# ROOT_DIRECTORY Root of the directory tree to generate source groups for.
-# RELATIVE_TO Directory to create source group tree relative to. For
-# example, if you want to the code in `src/slave` to show up
-# in the directory tree under a folder called `slave/` (i.e.,
-# omitting the `src/` component), then you would provite a
-# ROOT_DIRECTORY `src/slave` RELATIVE_TO `slave/`.
-# SOURCE_PATTERN Pattern (glob) of source files to match (e.g, *.cpp).
-function(GROUP_SOURCE GROUP_NAME ROOT_DIRECTORY RELATIVE_TO SOURCE_PATTERN)
- file(
- GLOB_RECURSE
- SOURCE_FILES
- RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
- "${ROOT_DIRECTORY}/${SOURCE_PATTERN}"
- )
-
- # Extremely inefficient method of recursively creating a source group for
- # every subdirectory that contains a source file. In other words, if we have
- # a folder structure like `slave/containerizer/`, we want a source group for
- # both `slave/` and `slave/containerizer/`, so that the IDE structures the
- # source tree hierarchically. This loop is so inefficient because CMake does
- # not support a set data structure, it is hard to do better than this and
- # still be cross-platform.
- #
- # The way this loop functions is to:
- # (1) Loop over every source file found in any subdirectory rooted at
- # `ROOT_DIRECTORY`
- # (2) For each source file, obtain the directory it exists in. For example if
- # the source file is `slave/containerizer/containerizer.cpp`, then the
- # directory `slave/containerizer/`.
- # (3) Create a source group for the directory. The source group for the
- # directory consists of any file that is in the directory, not including
- # files that are in subdirectories. In the example above, this would be
- # something like `slave/containerizer/*.cpp`.
- #
- # NOTE: This operation is so inefficient because it occurs for every
- # source file, rather than every unique directory. So, every time we
- # encounter a source file in any directory, we will add a source group
- # for its source directory.
- #
- # NOTE: This operation will also add every source file to the source
- # group, but only the source files that both appear in this source group,
- # and which users actually pass to the target for compilation will appear
- # in the IDE's source group.
- foreach (SOURCE_FILE ${SOURCE_FILES})
- # Get relative directory of source file, use to generate a source group
- # that resembles the directory tree.
- get_filename_component(SOURCE_FILE_REALPATH ${SOURCE_FILE} REALPATH)
-
- file(RELATIVE_PATH SOURCE_FILE_RELATIVE
- ${RELATIVE_TO} ${SOURCE_FILE_REALPATH})
-
- get_filename_component(
- SOURCE_DIRECTORY_RELATIVE
- ${SOURCE_FILE_RELATIVE}
- PATH)
-
- set(SOURCE_GROUP "${GROUP_NAME}\\${SOURCE_DIRECTORY_RELATIVE}")
-
- # This is necessary because source group names require '\' rather than '/'
- # as separators, in order to make a hierarchical source tree. This is
- # primarily because the source group construct was originally designed for
- # Visual Studio projects.
- string(REGEX REPLACE "/" "\\\\" SOURCE_GROUP ${SOURCE_GROUP})
-
- # Get all files in `SOURCE_DIRECTORY`, and create a source group for it.
- # NOTE: It is important concatinate `SOURCE_FILE` with the relative-to root
- # we passed to `file` above; if we don't, we will get an empty string when
- # `RELATIVE_TO` is the same as the current source directory, which in turn
- # will cause the call to `file` below to return no source files.
- get_filename_component(
- SOURCE_DIRECTORY
- "${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE_FILE}"
- PATH)
-
- file(
- GLOB
- SOURCE_GROUP_FILES
- RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
- "${SOURCE_DIRECTORY}/${SOURCE_PATTERN}"
- )
-
- source_group(${SOURCE_GROUP} FILES ${SOURCE_GROUP_FILES})
- endforeach ()
-endfunction()