mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-11 06:34:36 +00:00
partial backport of the old addDef code. still needs fixup.
fix exe naming winside. todo: same for mac and 'nix set startup project winside
This commit is contained in:
parent
0ab5860286
commit
a14c7d7113
1 changed files with 64 additions and 0 deletions
|
|
@ -330,6 +330,56 @@ if (APPLE)
|
|||
configure_file("${CMAKE_SOURCE_DIR}/Tools/CMake/Info.plist.in" "${CMAKE_BINARY_DIR}/temp/Info.plist" COPYONLY)
|
||||
endif (APPLE)
|
||||
|
||||
################# additional preprocessor defines ###################
|
||||
macro(__addDef def config)
|
||||
# two possibilities: a) target already known, so add it directly, or b) target not yet known, so add it to its cache
|
||||
if(TARGET ${TORQUE_APP_NAME})
|
||||
#message(STATUS "directly applying defs: ${TORQUE_APP_NAME} with config ${config}: ${def}")
|
||||
if("${config}" STREQUAL "")
|
||||
set_property(TARGET ${TORQUE_APP_NAME} APPEND PROPERTY ${TORQUE_COMPILE_DEFINITIONS} ${def})
|
||||
else()
|
||||
set_property(TARGET ${TORQUE_APP_NAME} APPEND PROPERTY ${TORQUE_COMPILE_DEFINITIONS} $<$<CONFIG:${config}>:${def}>)
|
||||
endif()
|
||||
else()
|
||||
if("${config}" STREQUAL "")
|
||||
list(APPEND ${TORQUE_COMPILE_DEFINITIONS}_defs_ ${def})
|
||||
else()
|
||||
list(APPEND ${TORQUE_COMPILE_DEFINITIONS}_defs_ $<$<CONFIG:${config}>:${def}>)
|
||||
endif()
|
||||
#message(STATUS "added definition to cache: ${TORQUE_APP_NAME}_defs_: ${${TORQUE_APP_NAME}_defs_}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
# adds a definition: argument 1: Nothing(for all), _DEBUG, _RELEASE, <more build configurations>
|
||||
macro(addDef def)
|
||||
if(NOT DEFINED ${${TORQUE_COMPILE_DEFINITIONS}_defs_})
|
||||
set(${TORQUE_COMPILE_DEFINITIONS}_defs_ "")
|
||||
endif()
|
||||
set(def_configs "")
|
||||
if(${ARGC} GREATER 1)
|
||||
foreach(config ${ARGN})
|
||||
__addDef(${def} ${config})
|
||||
endforeach()
|
||||
else()
|
||||
__addDef(${def} "")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
# this applies cached definitions onto the target
|
||||
macro(append_defs)
|
||||
if(NOT DEFINED ${${TORQUE_COMPILE_DEFINITIONS}_defs_})
|
||||
set(${TORQUE_COMPILE_DEFINITIONS}_defs_ "")
|
||||
endif()
|
||||
set_property(TARGET ${TORQUE_APP_NAME} APPEND PROPERTY ${TORQUE_COMPILE_DEFINITIONS} ${${TORQUE_COMPILE_DEFINITIONS}_defs_})
|
||||
#message(STATUS "applying defs to project ${TORQUE_APP_NAME}: ${${TORQUE_APP_NAME}_defs_}")
|
||||
endmacro()
|
||||
|
||||
addDef(TORQUE_DEBUG Debug)
|
||||
addDef(TORQUE_RELEASE "RelWithDebInfo;Release")
|
||||
addDef(TORQUE_ENABLE_ASSERTS "Debug;RelWithDebInfo")
|
||||
addDef(TORQUE_DEBUG_GFX_MODE "RelWithDebInfo")
|
||||
|
||||
################# file filtering ###################
|
||||
macro (filterOut)
|
||||
foreach(ARGUMENT ${ARGV})
|
||||
list(REMOVE_ITEM TORQUE_SOURCE_FILES "${CMAKE_SOURCE_DIR}/Engine/source/${ARGUMENT}")
|
||||
|
|
@ -381,6 +431,20 @@ else()
|
|||
set_target_properties(${TORQUE_APP_NAME} PROPERTIES LINK_FLAGS "-Wl,-rpath,./")
|
||||
endif()
|
||||
|
||||
|
||||
if(MSVC)
|
||||
# Match projectGenerator naming for executables
|
||||
set(OUTPUT_CONFIG DEBUG MINSIZEREL RELWITHDEBINFO)
|
||||
set(OUTPUT_SUFFIX DEBUG MINSIZE OPTIMIZEDDEBUG)
|
||||
foreach(INDEX RANGE 2)
|
||||
list(GET OUTPUT_CONFIG ${INDEX} CONF)
|
||||
list(GET OUTPUT_SUFFIX ${INDEX} SUFFIX)
|
||||
set_property(TARGET ${TORQUE_APP_NAME} PROPERTY OUTPUT_NAME_${CONF} ${TORQUE_APP_NAME}_${SUFFIX})
|
||||
endforeach()
|
||||
# Set Visual Studio startup project
|
||||
set_property(DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT ${TORQUE_APP_NAME})
|
||||
endif()
|
||||
|
||||
target_compile_definitions(${TORQUE_APP_NAME} PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
|
||||
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})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue