mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-16 00:54:54 +00:00
* BugFix: Initial work on generating filters.
* BugFix: For now, comment out a line in libpng's CMake scripts causing issues on XCode.
This commit is contained in:
parent
a71ebf6ea8
commit
51bf96a290
3 changed files with 26 additions and 10 deletions
|
|
@ -6,22 +6,20 @@ add_subdirectory(sdl ${CMAKE_BINARY_DIR}/temp/sdl2 EXCLUDE_FROM_ALL)
|
||||||
# Png depends on zlib
|
# Png depends on zlib
|
||||||
add_subdirectory(zlib ${CMAKE_BINARY_DIR}/temp/zlib EXCLUDE_FROM_ALL)
|
add_subdirectory(zlib ${CMAKE_BINARY_DIR}/temp/zlib EXCLUDE_FROM_ALL)
|
||||||
|
|
||||||
if (TORQUE_CPU_ARM32 OR TORQUE_CPU_ARM64)
|
|
||||||
set(PNG_ARM_NEON on CACHE BOOL "" FORCE)
|
|
||||||
endif (TORQUE_CPU_ARM32 OR TORQUE_CPU_ARM64)
|
|
||||||
|
|
||||||
set(PNG_STATIC on CACHE BOOL "" FORCE)
|
|
||||||
set(PNG_BUILD_ZLIB on CACHE BOOL "" FORCE)
|
|
||||||
get_filename_component(ZLIB_ROOT "zlib" REALPATH BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
|
|
||||||
set(ZLIB_ROOT "${ZLIB_ROOT}" CACHE STRING "ZLib root location" FORCE)
|
|
||||||
|
|
||||||
# Assimp depends on zlib
|
# Assimp depends on zlib
|
||||||
set(BUILD_SHARED_LIBS off CACHE STRING "")
|
set(BUILD_SHARED_LIBS off CACHE STRING "")
|
||||||
set(ASSIMP_BUILD_ZLIB off CACHE STRING "")
|
set(ASSIMP_BUILD_ZLIB off CACHE STRING "")
|
||||||
set(ASSIMP_HUNTER_ENABLED off CACHE STRING "")
|
set(ASSIMP_HUNTER_ENABLED off CACHE STRING "")
|
||||||
add_subdirectory(assimp ${CMAKE_BINARY_DIR}/temp/assimp EXCLUDE_FROM_ALL)
|
add_subdirectory(assimp ${CMAKE_BINARY_DIR}/temp/assimp EXCLUDE_FROM_ALL)
|
||||||
|
|
||||||
|
set(PNG_STATIC on CACHE BOOL "" FORCE)
|
||||||
|
set(PNG_BUILD_ZLIB on CACHE BOOL "" FORCE)
|
||||||
|
set(PNG_TESTS off CACHE BOOL "" FORCE)
|
||||||
|
set(PNG_HARDWARE_OPTIMIZATIONS on CACHE BOOL "" FORCE)
|
||||||
|
get_filename_component(ZLIB_ROOT "zlib" REALPATH BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||||
|
set(ZLIB_ROOT "${ZLIB_ROOT}" CACHE STRING "ZLib root location" FORCE)
|
||||||
add_subdirectory(lpng ${CMAKE_BINARY_DIR}/temp/lpng EXCLUDE_FROM_ALL)
|
add_subdirectory(lpng ${CMAKE_BINARY_DIR}/temp/lpng EXCLUDE_FROM_ALL)
|
||||||
|
|
||||||
add_subdirectory(ljpeg ${CMAKE_BINARY_DIR}/temp/ljpeg EXCLUDE_FROM_ALL)
|
add_subdirectory(ljpeg ${CMAKE_BINARY_DIR}/temp/ljpeg EXCLUDE_FROM_ALL)
|
||||||
add_subdirectory(tinyxml ${CMAKE_BINARY_DIR}/temp/tinyxml EXCLUDE_FROM_ALL)
|
add_subdirectory(tinyxml ${CMAKE_BINARY_DIR}/temp/tinyxml EXCLUDE_FROM_ALL)
|
||||||
add_subdirectory(opcode ${CMAKE_BINARY_DIR}/temp/opcode EXCLUDE_FROM_ALL)
|
add_subdirectory(opcode ${CMAKE_BINARY_DIR}/temp/opcode EXCLUDE_FROM_ALL)
|
||||||
|
|
|
||||||
|
|
@ -268,7 +268,7 @@ if(UNIX)
|
||||||
symbol_prefix()
|
symbol_prefix()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_program(AWK NAMES gawk awk)
|
#find_program(AWK NAMES gawk awk)
|
||||||
|
|
||||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -313,11 +313,20 @@ if (NOT "${TORQUE_MODULE_USER_PATH}" STREQUAL "")
|
||||||
list(APPEND TORQUE_MODULE_PATHS "${TORQUE_MODULE_USER_PATH}")
|
list(APPEND TORQUE_MODULE_PATHS "${TORQUE_MODULE_USER_PATH}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Before doing module scanning, store away the engine sources - we do this so that modules
|
||||||
|
# can be placed into the proper filters
|
||||||
|
set(TORQUE_SOURCE_FILES_TEMPORARY ${TORQUE_SOURCE_FILES})
|
||||||
|
set(TORQUE_SOURCE_FILES "")
|
||||||
|
|
||||||
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")
|
||||||
foreach (TORQUE_MODULE_SCRIPT ${MODULE_SCRIPTS})
|
foreach (TORQUE_MODULE_SCRIPT ${MODULE_SCRIPTS})
|
||||||
include(${TORQUE_MODULE_SCRIPT})
|
include(${TORQUE_MODULE_SCRIPT})
|
||||||
|
source_group("Modules/${TORQUE_MODULE_SCRIPT}" FILES ${TORQUE_SOURCE_FILES})
|
||||||
|
|
||||||
|
set(TORQUE_SOURCE_FILES_TEMPORARY ${TORQUE_SOURCE_FILES_TEMPORARY} ${TORQUE_SOURCE_FILES})
|
||||||
|
set(TORQUE_SOURCE_FILES "")
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
# Next find sub projects
|
# Next find sub projects
|
||||||
|
|
@ -329,10 +338,16 @@ foreach (TORQUE_MODULE_PATH ${TORQUE_MODULE_PATHS})
|
||||||
|
|
||||||
if (EXISTS "${POSSIBLE_PROJECT_ABSOLUTEPATH}/CMakeLists.txt")
|
if (EXISTS "${POSSIBLE_PROJECT_ABSOLUTEPATH}/CMakeLists.txt")
|
||||||
add_subdirectory("${POSSIBLE_PROJECT_ABSOLUTEPATH}" ${CMAKE_BINARY_DIR}/temp/${POSSIBLE_PROJECT} EXCLUDE_FROM_ALL)
|
add_subdirectory("${POSSIBLE_PROJECT_ABSOLUTEPATH}" ${CMAKE_BINARY_DIR}/temp/${POSSIBLE_PROJECT} EXCLUDE_FROM_ALL)
|
||||||
|
source_group("Modules/${POSSIBLE_PROJECT}" FILES ${TORQUE_SOURCE_FILES})
|
||||||
|
|
||||||
|
set(TORQUE_SOURCE_FILES_TEMPORARY ${TORQUE_SOURCE_FILES_TEMPORARY} ${TORQUE_SOURCE_FILES})
|
||||||
|
set(TORQUE_SOURCE_FILES "")
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
set(TORQUE_SOURCE_FILES ${TORQUE_SOURCE_FILES_TEMPORARY})
|
||||||
|
|
||||||
################# Executable Generation ###################
|
################# Executable Generation ###################
|
||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
|
|
@ -361,6 +376,9 @@ target_link_libraries(${TORQUE_APP_NAME} ${TORQUE_LINK_LIBRARIES})
|
||||||
target_include_directories(${TORQUE_APP_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp" ${TORQUE_INCLUDE_DIRECTORIES})
|
target_include_directories(${TORQUE_APP_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp" ${TORQUE_INCLUDE_DIRECTORIES})
|
||||||
target_compile_features(${TORQUE_APP_NAME} PRIVATE cxx_std_17)
|
target_compile_features(${TORQUE_APP_NAME} PRIVATE cxx_std_17)
|
||||||
|
|
||||||
|
# Generate the filters for the main Torque project
|
||||||
|
source_group(TREE "${CMAKE_SOURCE_DIR}/Engine/source")
|
||||||
|
|
||||||
# Process library binaries - these are coming from modules that are providing links to external, precompiled code that should be included
|
# Process library binaries - these are coming from modules that are providing links to external, precompiled code that should be included
|
||||||
# with the executable. This is done because on Windows, the .lib is separate from the .dll so we can't automatically scan for shared
|
# with the executable. This is done because on Windows, the .lib is separate from the .dll so we can't automatically scan for shared
|
||||||
# objects in our link libraries in that case.
|
# objects in our link libraries in that case.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue