mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-14 16:14:38 +00:00
* Feature: Implement scanning for sub projects.
This commit is contained in:
parent
b23554295c
commit
74faab3fb4
3 changed files with 35 additions and 3 deletions
|
|
@ -78,9 +78,11 @@ set(TORQUE_NO_DSO_GENERATION ON)
|
||||||
if(NOT TORQUE_SCRIPT_EXTENSION)
|
if(NOT TORQUE_SCRIPT_EXTENSION)
|
||||||
set(TORQUE_SCRIPT_EXTENSION "tscript" CACHE STRING "The default script extension to use for TorqueScript files")
|
set(TORQUE_SCRIPT_EXTENSION "tscript" CACHE STRING "The default script extension to use for TorqueScript files")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
mark_as_advanced(TORQUE_SCRIPT_EXTENSION)
|
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)
|
option(TORQUE_USE_ZENITY "use the Zenity backend for NFD" OFF)
|
||||||
mark_as_advanced(TORQUE_USE_ZENITY)
|
mark_as_advanced(TORQUE_USE_ZENITY)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -153,6 +153,12 @@ endif (APPLE)
|
||||||
|
|
||||||
# Search module directories
|
# Search module directories
|
||||||
set(TORQUE_MODULE_PATHS "${CMAKE_SOURCE_DIR}/Tools/CMake/modules")
|
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})
|
foreach (TORQUE_MODULE_PATH ${TORQUE_MODULE_PATHS})
|
||||||
# First find simple cmake scripts
|
# First find simple cmake scripts
|
||||||
file(GLOB MODULE_SCRIPTS "${TORQUE_MODULE_PATH}/*.cmake")
|
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}")
|
message("Including Module Script: ${TORQUE_MODULE_SCRIPT}")
|
||||||
include(${TORQUE_MODULE_SCRIPT})
|
include(${TORQUE_MODULE_SCRIPT})
|
||||||
endforeach()
|
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()
|
endforeach()
|
||||||
|
|
||||||
# Final executable
|
# Final executable
|
||||||
|
|
|
||||||
|
|
@ -36,3 +36,14 @@ function(installTemplate templateName)
|
||||||
|
|
||||||
add_subdirectory("${CMAKE_SOURCE_DIR}/Templates/${templateName}")
|
add_subdirectory("${CMAKE_SOURCE_DIR}/Templates/${templateName}")
|
||||||
endfunction()
|
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…
Add table
Add a link
Reference in a new issue