From f41ca07e83b9f4654729d665767a982c5ff1eaa1 Mon Sep 17 00:00:00 2001 From: Paul Sutton Date: Wed, 14 May 2014 11:31:25 +0100 Subject: [PATCH] Adding custom targets to include all header files in generated project files --- cuhd/CMakeLists.txt | 1 + cuhd/include/CMakeLists.txt | 38 +++++++++++++++++++++++++++++++++ graphics/CMakeLists.txt | 1 + graphics/include/CMakeLists.txt | 38 +++++++++++++++++++++++++++++++++ lte/include/CMakeLists.txt | 6 ++++-- 5 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 cuhd/include/CMakeLists.txt create mode 100644 graphics/include/CMakeLists.txt diff --git a/cuhd/CMakeLists.txt b/cuhd/CMakeLists.txt index 38d87ce55..df98412a8 100644 --- a/cuhd/CMakeLists.txt +++ b/cuhd/CMakeLists.txt @@ -22,6 +22,7 @@ ######################################################################## # Install headers ######################################################################## +ADD_SUBDIRECTORY(include) INSTALL(DIRECTORY include/ DESTINATION "${INCLUDE_DIR}" FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE diff --git a/cuhd/include/CMakeLists.txt b/cuhd/include/CMakeLists.txt new file mode 100644 index 000000000..287712c01 --- /dev/null +++ b/cuhd/include/CMakeLists.txt @@ -0,0 +1,38 @@ +# +# Copyright 2012-2013 The libLTE Developers. See the +# COPYRIGHT file at the top-level directory of this distribution. +# +# This file is part of the libLTE library. +# +# libLTE is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation, either version 3 of +# the License, or (at your option) any later version. +# +# libLTE is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# A copy of the GNU Lesser General Public License can be found in +# the LICENSE file in the top-level directory of this distribution +# and at http://www.gnu.org/licenses/. +# + +######################################################################## +# Add headers to cmake project (useful for IDEs) +######################################################################## +SET(HEADERS_ALL "") +FILE(GLOB_RECURSE tmp "*.h") +LIST(APPEND HEADERS_ALL ${tmp}) +FILE(GLOB headers *) +FOREACH (_header ${headers}) + IF(IS_DIRECTORY ${_header}) + FILE(GLOB_RECURSE tmp "${_header}/*.h") + LIST(APPEND HEADERS_ALL ${tmp}) + ENDIF(IS_DIRECTORY ${_header}) +ENDFOREACH() +ADD_CUSTOM_TARGET (add_cuhd_headers SOURCES ${HEADERS_ALL}) + + + diff --git a/graphics/CMakeLists.txt b/graphics/CMakeLists.txt index 3dc1dbaa9..113999b4a 100644 --- a/graphics/CMakeLists.txt +++ b/graphics/CMakeLists.txt @@ -22,6 +22,7 @@ ######################################################################## # Install headers ######################################################################## +ADD_SUBDIRECTORY(include) INSTALL(DIRECTORY include/ DESTINATION "${INCLUDE_DIR}" FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE diff --git a/graphics/include/CMakeLists.txt b/graphics/include/CMakeLists.txt new file mode 100644 index 000000000..593797adb --- /dev/null +++ b/graphics/include/CMakeLists.txt @@ -0,0 +1,38 @@ +# +# Copyright 2012-2013 The libLTE Developers. See the +# COPYRIGHT file at the top-level directory of this distribution. +# +# This file is part of the libLTE library. +# +# libLTE is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation, either version 3 of +# the License, or (at your option) any later version. +# +# libLTE is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# A copy of the GNU Lesser General Public License can be found in +# the LICENSE file in the top-level directory of this distribution +# and at http://www.gnu.org/licenses/. +# + +######################################################################## +# Add headers to cmake project (useful for IDEs) +######################################################################## +SET(HEADERS_ALL "") +FILE(GLOB_RECURSE tmp "*.h") +LIST(APPEND HEADERS_ALL ${tmp}) +FILE(GLOB headers *) +FOREACH (_header ${headers}) + IF(IS_DIRECTORY ${_header}) + FILE(GLOB_RECURSE tmp "${_header}/*.h") + LIST(APPEND HEADERS_ALL ${tmp}) + ENDIF(IS_DIRECTORY ${_header}) +ENDFOREACH() +ADD_CUSTOM_TARGET (add_graphics_headers SOURCES ${HEADERS_ALL}) + + + diff --git a/lte/include/CMakeLists.txt b/lte/include/CMakeLists.txt index 552c7a0a1..b2756ee48 100644 --- a/lte/include/CMakeLists.txt +++ b/lte/include/CMakeLists.txt @@ -22,15 +22,17 @@ ######################################################################## # Add headers to cmake project (useful for IDEs) ######################################################################## -FILE(GLOB headers *) SET(HEADERS_ALL "") +FILE(GLOB_RECURSE tmp "*.h") +LIST(APPEND HEADERS_ALL ${tmp}) +FILE(GLOB headers *) FOREACH (_header ${headers}) IF(IS_DIRECTORY ${_header}) FILE(GLOB_RECURSE tmp "${_header}/*.h") LIST(APPEND HEADERS_ALL ${tmp}) ENDIF(IS_DIRECTORY ${_header}) ENDFOREACH() -ADD_CUSTOM_TARGET (add_headers SOURCES ${HEADERS_ALL}) +ADD_CUSTOM_TARGET (add_lte_headers SOURCES ${HEADERS_ALL})