diff --git a/.gitignore b/.gitignore index 337770698..73c0bf88c 100644 --- a/.gitignore +++ b/.gitignore @@ -19,9 +19,6 @@ CPackSourceConfig.cmake docs/api client/X11/xfreerdp.1 -# Extensions -extensions/** - # Mac OS X .DS_Store diff --git a/CMakeLists.txt b/CMakeLists.txt index eb4c410ee..2da96dac8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -204,9 +204,9 @@ if(NOT MSVC) add_subdirectory(keymaps) endif() -option(WITH_EXTENSIONS "Build extensions" ON) -if(WITH_EXTENSIONS) - add_subdirectory(extensions) +option(WITH_THIRD_PARTY "Build third-party components" ON) +if(WITH_THIRD_PARTY) + add_subdirectory(third-party) endif() # Source package diff --git a/third-party/.gitignore b/third-party/.gitignore new file mode 100644 index 000000000..453af308c --- /dev/null +++ b/third-party/.gitignore @@ -0,0 +1,2 @@ +**/** + diff --git a/third-party/CMakeLists.txt b/third-party/CMakeLists.txt new file mode 100644 index 000000000..5a27d8337 --- /dev/null +++ b/third-party/CMakeLists.txt @@ -0,0 +1,31 @@ +# Third-Party Extensions +# +# Copyright 2012 Marc-Andre Moreau +# +# Licensed 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. + +# The third-party directory is meant for third-party components to be built +# as part of the main FreeRDP build system, making separate maintenance easier. +# Subdirectories of the third-party directory are ignored by git, but are +# automatically included by CMake when the -DWITH_THIRD_PARTY=on option is used. + +file(GLOB all_valid_subdirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/CMakeLists.txt") + +foreach(dir ${all_valid_subdirs}) + message(STATUS "path = ${dir}") + if(${dir} MATCHES "^([^/]*)//CMakeLists.txt") + string(REGEX REPLACE "^([^/]*)//CMakeLists.txt" "\\1" dir_trimmed ${dir}) + add_subdirectory(${dir_trimmed}) + endif() +endforeach(dir) +