Browse Source

Reduce 3rd-party headers installation to as minimum as possible.

Yao Wei Tjong 姚伟忠 12 years ago
parent
commit
b45de628e7

+ 2 - 2
Source/CMake/Modules/FindUrho3D.cmake

@@ -64,7 +64,7 @@ if (URHO3D_HOME)
         foreach (DIR Audio Container Core Engine Graphics Input IO LuaScript Math Navigation Network Physics Resource Scene Script UI)
             list (APPEND URHO3D_INCLUDE_DIR ${SOURCE_TREE_PATH}/${DIR})     # Note: variable change to list context after this
         endforeach ()
-        foreach (DIR Bullet/src kNet/include LZ4 SDL/include STB)
+        foreach (DIR Bullet/src kNet/include)
             list (APPEND URHO3D_INCLUDE_DIR ${URHO3D_HOME}/Source/ThirdParty/${DIR})
         endforeach ()
 
@@ -102,7 +102,7 @@ else ()
 
     if (URHO3D_INCLUDE_DIR)
         set (BASE_DIR ${URHO3D_INCLUDE_DIR})
-        foreach (DIR Bullet kNet LZ4 SDL STB)
+        foreach (DIR Bullet kNet)
             list (APPEND URHO3D_INCLUDE_DIR ${BASE_DIR}/${DIR})     # Note: variable change to list context after this, so we need BASE_DIR to remain the same
         endforeach ()
     endif ()

+ 1 - 1
Source/Engine/CMakeLists.txt

@@ -104,7 +104,7 @@ endforeach ()
 foreach (SOURCE Audio Container Core Engine Graphics Input IO Math Navigation Network Physics Resource Scene Script UI)
     add_subdirectory (${SOURCE})
     if (DEST_INCLUDE_DIR)
-        install (FILES ${${SOURCE}_H_FILES} DESTINATION ${DEST_INCLUDE_DIR})
+        install (DIRECTORY ${SOURCE}/ DESTINATION ${DEST_INCLUDE_DIR} USE_SOURCE_PERMISSIONS FILES_MATCHING PATTERN *.h)    # Note: the trailing slash is significant
     endif ()
     source_group ("Source Files\\${SOURCE}" FILES ${${SOURCE}_CPP_FILES})
     source_group ("Header Files\\${SOURCE}" FILES ${${SOURCE}_H_FILES})

+ 2 - 1
Source/ThirdParty/Bullet/CMakeLists.txt

@@ -16,7 +16,8 @@ file (GLOB H_FILES *.h src/BulletCollision/BroadphaseCollision/*.h
     src/LinearMath/*.h)
 set (SOURCE_FILES ${CPP_FILES} ${H_FILES})
 if (DEST_INCLUDE_DIR)
-    install (FILES ${H_FILES} DESTINATION ${DEST_INCLUDE_DIR}/Bullet)
+    # Dependency from Engine/PhysicsWorld.h and Engine/RigidBody.h
+    install (DIRECTORY src/LinearMath DESTINATION ${DEST_INCLUDE_DIR}/Bullet USE_SOURCE_PERMISSIONS FILES_MATCHING PATTERN *.h)
 endif ()
 
 # Define dependency libs

+ 0 - 3
Source/ThirdParty/LZ4/CMakeLists.txt

@@ -5,9 +5,6 @@ set (TARGET_NAME LZ4)
 file (GLOB C_FILES *.c)
 file (GLOB H_FILES *.h)
 set (SOURCE_FILES ${C_FILES} ${H_FILES})
-if (DEST_INCLUDE_DIR)
-    install (FILES ${H_FILES} DESTINATION ${DEST_INCLUDE_DIR}/LZ4)
-endif ()
 
 # Setup target
 setup_library ()

+ 0 - 3
Source/ThirdParty/SDL/CMakeLists.txt

@@ -105,9 +105,6 @@ file (GLOB H_FILES include/*.h)
 set_source_files_properties (${C_FILES} PROPERTIES LANGUAGE C)
 set_source_files_properties (${SYS_C_FILES} PROPERTIES LANGUAGE C)
 set (SOURCE_FILES ${C_FILES} ${SYS_C_FILES} ${H_FILES})
-if (DEST_INCLUDE_DIR)
-    install (FILES ${H_FILES} DESTINATION ${DEST_INCLUDE_DIR}/SDL)
-endif ()
 
 # Setup target
 setup_library ()

+ 0 - 3
Source/ThirdParty/STB/CMakeLists.txt

@@ -5,9 +5,6 @@ set (TARGET_NAME STB)
 file (GLOB C_FILES *.c)
 file (GLOB H_FILES *.h)
 set (SOURCE_FILES ${C_FILES} ${H_FILES})
-if (DEST_INCLUDE_DIR)
-    install (FILES ${H_FILES} DESTINATION ${DEST_INCLUDE_DIR}/STB)
-endif ()
 
 # Setup target
 setup_library ()

+ 2 - 1
Source/ThirdParty/kNet/CMakeLists.txt

@@ -59,7 +59,8 @@ endif ()
 # Define source files
 set (SOURCE_FILES ${kNetSourceFiles} ${kNetHeaderFiles})
 if (DEST_INCLUDE_DIR)
-    install (FILES ${kNetHeaderFiles} DESTINATION ${DEST_INCLUDE_DIR}/kNet)
+    # Dependency from Engine/Connection.h and Engine/Network.h
+    install (DIRECTORY include/ DESTINATION ${DEST_INCLUDE_DIR}/kNet USE_SOURCE_PERMISSIONS FILES_MATCHING PATTERN *.h PATTERN *.inl)     # Note: the trailing slash is significant
 endif ()
 
 # Define dependency libs