Merge pull request #1064 from bpay/cmake-fixes

CMake fixes
This commit is contained in:
Luis Anton Rebollo 2014-12-27 03:18:26 +01:00
commit f4b3d1e4cb
2 changed files with 26 additions and 18 deletions

View file

@ -94,13 +94,17 @@ macro(__addDef def config)
if(TARGET ${PROJECT_NAME}) if(TARGET ${PROJECT_NAME})
#message(STATUS "directly applying defs: ${PROJECT_NAME} with config ${config}: ${def}") #message(STATUS "directly applying defs: ${PROJECT_NAME} with config ${config}: ${def}")
if("${config}" STREQUAL "") if("${config}" STREQUAL "")
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS "${def}") set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS ${def})
else() else()
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS_${config} "${def}") set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:${config}>:${def}>)
endif() endif()
else() else()
list(APPEND ${PROJECT_NAME}_defs_${config} ${def}) if("${config}" STREQUAL "")
#message(STATUS "added definition to cache: ${PROJECT_NAME}_defs_${config}: ${${PROJECT_NAME}_defs_${config}}") list(APPEND ${PROJECT_NAME}_defs_ ${def})
else()
list(APPEND ${PROJECT_NAME}_defs_ $<$<CONFIG:${config}>:${def}>)
endif()
#message(STATUS "added definition to cache: ${PROJECT_NAME}_defs_: ${${PROJECT_NAME}_defs_}")
endif() endif()
endmacro() endmacro()
@ -108,7 +112,7 @@ endmacro()
macro(addDef def) macro(addDef def)
set(def_configs "") set(def_configs "")
if(${ARGC} GREATER 1) if(${ARGC} GREATER 1)
foreach(config "${ARGV1}") foreach(config ${ARGN})
__addDef(${def} ${config}) __addDef(${def} ${config})
endforeach() endforeach()
else() else()
@ -119,16 +123,9 @@ endmacro()
# this applies cached definitions onto the target # this applies cached definitions onto the target
macro(_process_defs) macro(_process_defs)
if(DEFINED ${PROJECT_NAME}_defs_) if(DEFINED ${PROJECT_NAME}_defs_)
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS "${${PROJECT_NAME}_defs_}") set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS ${${PROJECT_NAME}_defs_})
#message(STATUS "applying defs to project ${PROJECT_NAME} on all configs: ${${PROJECT_NAME}_defs_}") #message(STATUS "applying defs to project ${PROJECT_NAME}: ${${PROJECT_NAME}_defs_}")
endif() endif()
foreach(def_config ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER "${def_config}" def_config)
if(DEFINED ${PROJECT_NAME}_defs_${def_config})
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS_${def_config} "${${PROJECT_NAME}_defs_${def_config}}")
#message(STATUS "applying defs to project ${PROJECT_NAME} on config ${def_config}: ${${PROJECT_NAME}_defs_${def_config}}")
endif()
endforeach()
endmacro() endmacro()
############################################################################### ###############################################################################
@ -346,9 +343,9 @@ if(WIN32)
set(TORQUE_CXX_FLAGS_LIBS "/W0" CACHE TYPE STRING) set(TORQUE_CXX_FLAGS_LIBS "/W0" CACHE TYPE STRING)
mark_as_advanced(TORQUE_CXX_FLAGS_LIBS) mark_as_advanced(TORQUE_CXX_FLAGS_LIBS)
set(TORQUE_CXX_FLAGS_COMMON_DEFAULT "-DUNICODE -D_UNICODE /MP /O2 /Ob2 /Oi /Ot /Oy /GT /Zi /W4 /nologo /GF /EHsc /GS- /Gy- /Qpar- /fp:fast /fp:except- /GR /Zc:wchar_t- /D_CRT_SECURE_NO_WARNINGS" ) set(TORQUE_CXX_FLAGS_COMMON_DEFAULT "-DUNICODE -D_UNICODE -D_CRT_SECURE_NO_WARNINGS /MP /O2 /Ob2 /Oi /Ot /Oy /GT /Zi /W4 /nologo /GF /EHsc /GS- /Gy- /Qpar- /fp:fast /fp:except- /GR /Zc:wchar_t-" )
if( TORQUE_CPU_X32 ) if( TORQUE_CPU_X32 )
set(TORQUE_CXX_FLAGS_COMMON_DEFAULT ${TORQUE_CXX_FLAGS_COMMON_DEFAULT}" /arch:SSE2") set(TORQUE_CXX_FLAGS_COMMON_DEFAULT "${TORQUE_CXX_FLAGS_COMMON_DEFAULT} /arch:SSE2")
endif() endif()
set(TORQUE_CXX_FLAGS_COMMON ${TORQUE_CXX_FLAGS_COMMON_DEFAULT} CACHE TYPE STRING) set(TORQUE_CXX_FLAGS_COMMON ${TORQUE_CXX_FLAGS_COMMON_DEFAULT} CACHE TYPE STRING)

View file

@ -534,8 +534,8 @@ endif()
############################################################################### ###############################################################################
# Always enabled Definitions # Always enabled Definitions
############################################################################### ###############################################################################
addDef(TORQUE_DEBUG DEBUG) addDef(TORQUE_DEBUG Debug)
addDef(TORQUE_ENABLE_ASSERTS "DEBUG;RelWithDebInfo") addDef(TORQUE_ENABLE_ASSERTS "Debug;RelWithDebInfo")
addDef(TORQUE_DEBUG_GFX_MODE "RelWithDebInfo") addDef(TORQUE_DEBUG_GFX_MODE "RelWithDebInfo")
addDef(TORQUE_SHADERGEN) addDef(TORQUE_SHADERGEN)
addDef(INITGUID) addDef(INITGUID)
@ -596,6 +596,17 @@ if(UNIX)
addInclude("/usr/include/freetype2") addInclude("/usr/include/freetype2")
endif() 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 ${PROJECT_NAME} PROPERTY OUTPUT_NAME_${CONF} ${PROJECT_NAME}_${SUFFIX})
endforeach()
endif()
############################################################################### ###############################################################################
# Installation # Installation
############################################################################### ###############################################################################