Browse Source

Splits public header files into separate groups to allow CMake to build OSX Frameworks with the proper directory structure

David Wimsey 11 years ago
parent
commit
4c99586310
2 changed files with 7 additions and 3 deletions
  1. 1 0
      Build/CMakeLists.txt
  2. 6 3
      Build/cmake/gen_filelists.sh

+ 1 - 0
Build/CMakeLists.txt

@@ -126,6 +126,7 @@ foreach(library ${LIBRARIES})
     add_library(${NAME} ${${library}_SRC_FILES}
     add_library(${NAME} ${${library}_SRC_FILES}
                         ${${library}_HDR_FILES}
                         ${${library}_HDR_FILES}
                         ${${library}_PUB_HDR_FILES}
                         ${${library}_PUB_HDR_FILES}
+                        ${MASTER_${library}_PUB_HDR_FILES}
     )
     )
 
 
     set_target_properties(${NAME} PROPERTIES
     set_target_properties(${NAME} PROPERTIES

+ 6 - 3
Build/cmake/gen_filelists.sh

@@ -4,6 +4,7 @@ basedir="../.."
 file=Build/cmake/FileList.cmake
 file=Build/cmake/FileList.cmake
 src='set(lib_SRC_FILES'
 src='set(lib_SRC_FILES'
 hdr='set(lib_HDR_FILES'
 hdr='set(lib_HDR_FILES'
+masterpubhdr='set(MASTER_lib_PUB_HDR_FILES'
 pubhdr='set(lib_PUB_HDR_FILES'
 pubhdr='set(lib_PUB_HDR_FILES'
 srcdir='${PROJECT_SOURCE_DIR}'
 srcdir='${PROJECT_SOURCE_DIR}'
 srcpath=Source
 srcpath=Source
@@ -15,11 +16,13 @@ printfiles() {
     echo ${hdr/lib/$1} >>$file
     echo ${hdr/lib/$1} >>$file
     find  $srcpath/$1 -maxdepth 1 -iname "*.h" -exec echo '    '$srcdir/{} \; 2>/dev/null | sort -f >>$file
     find  $srcpath/$1 -maxdepth 1 -iname "*.h" -exec echo '    '$srcdir/{} \; 2>/dev/null | sort -f >>$file
     echo -e ')\n' >>$file
     echo -e ')\n' >>$file
-    # Print public headers
+    # Print master header for library
+    echo ${masterpubhdr/lib/$1} >>$file
+    echo '    '$srcdir/Include/Rocket/$1.h >>$file
+    echo -e ')\n' >>$file
+    # Print public headers sub directory
     echo ${pubhdr/lib/$1} >>$file
     echo ${pubhdr/lib/$1} >>$file
     find  $hdrpath/$1 -maxdepth 1 -iname "*.h" -exec echo '    '$srcdir/{} \; 2>/dev/null | sort -f >>$file
     find  $hdrpath/$1 -maxdepth 1 -iname "*.h" -exec echo '    '$srcdir/{} \; 2>/dev/null | sort -f >>$file
-    # Print main public header
-    echo '    '$srcdir/Include/Rocket/$1.h >>$file
     echo -e ')\n' >>$file
     echo -e ')\n' >>$file
     # Print source files
     # Print source files
     echo ${src/lib/$1} >>$file
     echo ${src/lib/$1} >>$file