Merge branch 'master' of github.com:jroweboy/citra into cmakechanges

This commit is contained in:
James Rowe 2015-03-26 01:58:45 -06:00
commit d5abf14050
2 changed files with 47 additions and 6 deletions

View File

@ -12,25 +12,32 @@ else()
add_definitions(/D_CRT_SECURE_NO_WARNINGS) add_definitions(/D_CRT_SECURE_NO_WARNINGS)
# set up output paths for executable binaries (.exe-files, and .dll-files on DLL-capable platforms) # set up output paths for executable binaries (.exe-files, and .dll-files on DLL-capable platforms)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_CONFIGURATION_TYPES Debug Release RelWithDebInfo CACHE TYPE INTERNAL)
# Tweak optimization settings # Tweak optimization settings
# As far as I can tell, there's no way to override the CMake defaults while leaving user # As far as I can tell, there's no way to override the CMake defaults while leaving user
# changes intact, so we'll just clobber everything and say sorry. # changes intact, so we'll just clobber everything and say sorry.
message(STATUS "Cache compiler flags ignored, please edit CMakeLists.txt to change the flags.") message(STATUS "Cache compiler flags ignored, please edit CMakeLists.txt to change the flags.")
# /MP - Multi-threaded compilation # /MP - Multi-threaded compilation
# /MD - Multi-threaded runtime
# /Ox - Full optimization # /Ox - Full optimization
# /Oy- - Don't omit frame pointer # /Oy- - Don't omit frame pointer
# /GR- - Disable RTTI # /GR- - Disable RTTI
# /GS- - No stack buffer overflow checks # /GS- - No stack buffer overflow checks
# /EHsc - C++-only exception handling semantics # /EHsc - C++-only exception handling semantics
set(optimization_flags "/MP /MD /Ox /Oy- /GR- /GS- /EHsc") set(optimization_flags "/MP /Ox /Oy- /GR- /GS- /EHsc")
# /Zi - Output debugging information # /Zi - Output debugging information
# /Zo - enahnced debug info for optimized builds # /Zo - enahnced debug info for optimized builds
set(CMAKE_C_FLAGS_RELEASE "${optimization_flags} /Zi" CACHE STRING "" FORCE) # /MDd - Multi-threaded Debug Runtime DLL
set(CMAKE_CXX_FLAGS_RELEASE "${optimization_flags} /Zi" CACHE STRING "" FORCE) set(CMAKE_C_FLAGS_DEBUG "/MP /MDd /Zi" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${optimization_flags} /Zi /Zo" CACHE STRING "" FORCE) set(CMAKE_CXX_FLAGS_DEBUG "/MP /MDd /Zi" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${optimization_flags} /Zi /Zo" CACHE STRING "" FORCE) # /MD - Multi-threaded runtime DLL
set(CMAKE_C_FLAGS_RELEASE "${optimization_flags} /MD" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "${optimization_flags} /MD" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${optimization_flags} /MD /Zi /Zo" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${optimization_flags} /MD /Zi /Zo" CACHE STRING "" FORCE)
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "/DEBUG" CACHE STRING "" FORCE)
set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "/DEBUG" CACHE STRING "" FORCE)
endif() endif()
add_definitions(-DSINGLETHREADED) add_definitions(-DSINGLETHREADED)

View File

@ -74,3 +74,37 @@ target_link_libraries(citra-qt ${OPENGL_gl_LIBRARY} ${CITRA_QT_LIBS})
target_link_libraries(citra-qt ${PLATFORM_LIBRARIES}) target_link_libraries(citra-qt ${PLATFORM_LIBRARIES})
#install(TARGETS citra-qt RUNTIME DESTINATION ${bindir}) #install(TARGETS citra-qt RUNTIME DESTINATION ${bindir})
if (Qt5_FOUND AND MSVC)
set(Qt5_DLL_DIR "${Qt5_DIR}/../../../bin")
file(GLOB Qt5_DEBUG_DLLS
"${Qt5_DLL_DIR}/icudt*.dll"
"${Qt5_DLL_DIR}/icuin*.dll"
"${Qt5_DLL_DIR}/icuuc*.dll"
"${Qt5_DLL_DIR}/Qt5Cored.*"
"${Qt5_DLL_DIR}/Qt5Guid.*"
"${Qt5_DLL_DIR}/Qt5OpenGLd.*"
"${Qt5_DLL_DIR}/Qt5Widgetsd.*"
)
file(GLOB Qt5_RELEASE_DLLS
"${Qt5_DLL_DIR}/icudt*.dll"
"${Qt5_DLL_DIR}/icuin*.dll"
"${Qt5_DLL_DIR}/icuuc*.dll"
"${Qt5_DLL_DIR}/Qt5Core.*"
"${Qt5_DLL_DIR}/Qt5Gui.*"
"${Qt5_DLL_DIR}/Qt5OpenGL.*"
"${Qt5_DLL_DIR}/Qt5Widgets.*"
)
# make the output directories ahead of the time and copy in the needed Dlls now
file(MAKE_DIRECTORY
${CMAKE_BINARY_DIR}/bin/Debug/
${CMAKE_BINARY_DIR}/bin/Release/
${CMAKE_BINARY_DIR}/bin/RelWithDebInfo/
)
file(COPY ${Qt5_DEBUG_DLLS} DESTINATION ${CMAKE_BINARY_DIR}/bin/Debug/)
file(COPY ${Qt5_RELEASE_DLLS} DESTINATION ${CMAKE_BINARY_DIR}/bin/Release/)
file(COPY ${Qt5_RELEASE_DLLS} DESTINATION ${CMAKE_BINARY_DIR}/bin/RelWithDebInfo/)
unset(Qt5_RELEASE_DLLS)
unset(Qt5_DEBUG_DLLS)
unset(Qt5_DLL_DIR)
endif()