mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-19 20:24:49 +00:00
* Feature: Implement scanning for sub projects.
This commit is contained in:
parent
b23554295c
commit
74faab3fb4
|
|
@ -78,9 +78,11 @@ set(TORQUE_NO_DSO_GENERATION ON)
|
|||
if(NOT TORQUE_SCRIPT_EXTENSION)
|
||||
set(TORQUE_SCRIPT_EXTENSION "tscript" CACHE STRING "The default script extension to use for TorqueScript files")
|
||||
endif()
|
||||
|
||||
mark_as_advanced(TORQUE_SCRIPT_EXTENSION)
|
||||
|
||||
set(TORQUE_MODULE_USER_PATH "" CACHE PATH "Additional search path for modules aside from the default Tools/CMake/modules.")
|
||||
mark_as_advanced(TORQUE_MODULE_USER_PATH)
|
||||
|
||||
option(TORQUE_USE_ZENITY "use the Zenity backend for NFD" OFF)
|
||||
mark_as_advanced(TORQUE_USE_ZENITY)
|
||||
|
||||
|
|
|
|||
|
|
@ -115,8 +115,8 @@ endif (WIN32)
|
|||
# Handle platformSDL
|
||||
file(GLOB TORQUE_PLATFORM_SDL_SOURCES "platformSDL/*.cpp" "platformSDL/threads/*.cpp")
|
||||
|
||||
set(TORQUE_COMPILE_DEFINITIONS ICE_NO_DLL PCRE_STATIC TORQUE_ADVANCED_LIGHTING TORQUE_SHADERGEN
|
||||
TORQUE_OPENGL TORQUE_OPCODE TORQUE_ASSIMP TORQUE_SDL TORQUE_COLLADA
|
||||
set(TORQUE_COMPILE_DEFINITIONS ICE_NO_DLL PCRE_STATIC TORQUE_ADVANCED_LIGHTING TORQUE_SHADERGEN
|
||||
TORQUE_OPENGL TORQUE_OPCODE TORQUE_ASSIMP TORQUE_SDL TORQUE_COLLADA
|
||||
TORQUE_UNICODE UNICODE _UNICODE)
|
||||
|
||||
################# Start building libs ###################
|
||||
|
|
@ -153,6 +153,12 @@ endif (APPLE)
|
|||
|
||||
# Search module directories
|
||||
set(TORQUE_MODULE_PATHS "${CMAKE_SOURCE_DIR}/Tools/CMake/modules")
|
||||
|
||||
message("PATH: ${TORQUE_MODULE_USER_PATH}")
|
||||
if (NOT "${TORQUE_MODULE_USER_PATH}" STREQUAL "")
|
||||
list(APPEND TORQUE_MODULE_PATHS "${TORQUE_MODULE_USER_PATH}")
|
||||
endif()
|
||||
|
||||
foreach (TORQUE_MODULE_PATH ${TORQUE_MODULE_PATHS})
|
||||
# First find simple cmake scripts
|
||||
file(GLOB MODULE_SCRIPTS "${TORQUE_MODULE_PATH}/*.cmake")
|
||||
|
|
@ -162,6 +168,19 @@ foreach (TORQUE_MODULE_PATH ${TORQUE_MODULE_PATHS})
|
|||
message("Including Module Script: ${TORQUE_MODULE_SCRIPT}")
|
||||
include(${TORQUE_MODULE_SCRIPT})
|
||||
endforeach()
|
||||
|
||||
# Next find sub projects
|
||||
SUBDIRLIST(POSSIBLE_PROJECTS "${TORQUE_MODULE_PATH}")
|
||||
foreach (POSSIBLE_PROJECT ${POSSIBLE_PROJECTS})
|
||||
# Retrieve the absolute path of this possible project
|
||||
get_filename_component(POSSIBLE_PROJECT_ABSOLUTEPATH "${POSSIBLE_PROJECT}"
|
||||
REALPATH BASE_DIR "${TORQUE_MODULE_PATH}")
|
||||
|
||||
message("SCANNING: ${POSSIBLE_PROJECT_ABSOLUTEPATH}")
|
||||
if (EXISTS "${POSSIBLE_PROJECT_ABSOLUTEPATH}/CMakeLists.txt")
|
||||
add_subdirectory("${POSSIBLE_PROJECT_ABSOLUTEPATH}" ${CMAKE_BINARY_DIR}/temp/${POSSIBLE_PROJECT} EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
endforeach()
|
||||
endforeach()
|
||||
|
||||
# Final executable
|
||||
|
|
|
|||
|
|
@ -36,3 +36,14 @@ function(installTemplate templateName)
|
|||
|
||||
add_subdirectory("${CMAKE_SOURCE_DIR}/Templates/${templateName}")
|
||||
endfunction()
|
||||
|
||||
MACRO(SUBDIRLIST result curdir)
|
||||
FILE(GLOB children RELATIVE ${curdir} ${curdir}/*)
|
||||
SET(dirlist "")
|
||||
FOREACH(child ${children})
|
||||
IF(IS_DIRECTORY ${curdir}/${child})
|
||||
LIST(APPEND dirlist ${child})
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
SET(${result} ${dirlist})
|
||||
ENDMACRO()
|
||||
|
|
|
|||
Loading…
Reference in a new issue