|
|
@@ -90,50 +90,33 @@ foreach (TARGET ${STATIC_LIBRARY_TARGETS})
|
|
|
endif ()
|
|
|
endforeach ()
|
|
|
endif ()
|
|
|
- set (OBJ_FILES ${OBJ_FILES} ${INT_DIR}${SYS_DIR}/${NAME}${OBJ_EXT})
|
|
|
+ list (APPEND OBJ_FILES ${INT_DIR}${SYS_DIR}/${NAME}${OBJ_EXT})
|
|
|
elseif (NAME MATCHES \\.o.*$)
|
|
|
- set (OBJ_FILES ${OBJ_FILES} ${SOURCE})
|
|
|
+ list (APPEND OBJ_FILES ${SOURCE})
|
|
|
endif ()
|
|
|
endforeach ()
|
|
|
+ source_group ("Object Files\\${TARGET}" FILES ${OBJ_FILES})
|
|
|
+ list (APPEND ALL_OBJ_FILES ${OBJ_FILES})
|
|
|
+ unset (OBJ_FILES)
|
|
|
endforeach ()
|
|
|
|
|
|
# Define source files
|
|
|
-file (GLOB CPP_FILES *.cpp)
|
|
|
-file (GLOB H_FILES *.h)
|
|
|
-set (SOURCE_FILES ${ENGINE_SOURCE_FILES} ${CPP_FILES} ${H_FILES} ${OBJ_FILES} gitversion.h)
|
|
|
-set_source_files_properties (${OBJ_FILES} PROPERTIES GENERATED TRUE)
|
|
|
-enable_pch ()
|
|
|
+foreach (SOURCE Audio Container Core Engine Graphics Input IO Math Navigation Network Physics Resource Scene Script UI)
|
|
|
+ add_subdirectory (${SOURCE})
|
|
|
+ source_group ("Source Files\\${SOURCE}" FILES ${${SOURCE}_CPP_FILES})
|
|
|
+ source_group ("Header Files\\${SOURCE}" FILES ${${SOURCE}_H_FILES})
|
|
|
+ list (APPEND ENGINE_SOURCE_FILES ${${SOURCE}_CPP_FILES} ${${SOURCE}_H_FILES})
|
|
|
+ list (APPEND ENGINE_INCLUDE_DIRS_ONLY ${SOURCE})
|
|
|
+endforeach ()
|
|
|
+define_source_files (CPP_FILES ${ENGINE_SOURCE_FILES} H_FILES gitversion.h PCH)
|
|
|
+list (APPEND SOURCE_FILES ${ALL_OBJ_FILES})
|
|
|
+set_source_files_properties (${ALL_OBJ_FILES} PROPERTIES GENERATED TRUE)
|
|
|
|
|
|
# Define dependency libs
|
|
|
-macro (set_list LIST_NAME)
|
|
|
- remove_duplicate (ENGINE_${LIST_NAME})
|
|
|
- set (${LIST_NAME} ${ENGINE_${LIST_NAME}})
|
|
|
-endmacro ()
|
|
|
foreach (LIST_NAME LIBS INCLUDE_DIRS_ONLY LINK_LIBS_ONLY)
|
|
|
- set_list (${LIST_NAME})
|
|
|
-endforeach ()
|
|
|
-file (GLOB ENGINE_DIRS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} */CMakeLists.txt)
|
|
|
-foreach (ENGINE_DIR ${ENGINE_DIRS})
|
|
|
- get_filename_component (ENGINE_DIR ${ENGINE_DIR} PATH)
|
|
|
- list (APPEND INCLUDE_DIRS_ONLY ${ENGINE_DIR})
|
|
|
+ set_list (${LIST_NAME} ENGINE_${LIST_NAME} REMOVE_DUPLICATE)
|
|
|
endforeach ()
|
|
|
|
|
|
-# Setup source groups, Visual Studio only
|
|
|
-if (MSVC)
|
|
|
- foreach (ENGINE_DIR ${ENGINE_DIRS})
|
|
|
- get_filename_component (ENGINE_DIR ${ENGINE_DIR} PATH)
|
|
|
- if (${ENGINE_DIR} MATCHES Graphics)
|
|
|
- file (GLOB GROUP_H_FILES ${ENGINE_DIR}/*.h ${ENGINE_DIR}/${GRAPHICS_SYS_DIR}/*.h)
|
|
|
- file (GLOB GROUP_CPP_FILES ${ENGINE_DIR}/*.cpp ${ENGINE_DIR}/${GRAPHICS_SYS_DIR}/*.cpp)
|
|
|
- else ()
|
|
|
- file (GLOB GROUP_H_FILES ${ENGINE_DIR}/*.h)
|
|
|
- file (GLOB GROUP_CPP_FILES ${ENGINE_DIR}/*.cpp)
|
|
|
- endif ()
|
|
|
- source_group("Header Files\\${ENGINE_DIR}" FILES ${GROUP_H_FILES})
|
|
|
- source_group("Source Files\\${ENGINE_DIR}" FILES ${GROUP_CPP_FILES})
|
|
|
- endforeach ()
|
|
|
-endif ()
|
|
|
-
|
|
|
# Setup target
|
|
|
setup_library (${URHO3D_LIB_TYPE})
|
|
|
adjust_library_name ()
|