mirror of
https://github.com/SFML/SFML.git
synced 2024-11-28 22:31:09 +08:00
Merge pull request #218 from BMBurstein/master
fix for static builds with mingw-w64 compilers
This commit is contained in:
commit
274d316891
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
# detect the OS
|
# detect the OS
|
||||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
||||||
set(WINDOWS 1)
|
set(WINDOWS 1)
|
||||||
@ -47,6 +46,11 @@ elseif(CMAKE_COMPILER_IS_GNUCXX)
|
|||||||
set(COMPILER_GCC 1)
|
set(COMPILER_GCC 1)
|
||||||
execute_process(COMMAND "${CMAKE_CXX_COMPILER}" "-dumpversion" OUTPUT_VARIABLE GCC_VERSION_OUTPUT)
|
execute_process(COMMAND "${CMAKE_CXX_COMPILER}" "-dumpversion" OUTPUT_VARIABLE GCC_VERSION_OUTPUT)
|
||||||
string(REGEX REPLACE "([0-9]+\\.[0-9]+).*" "\\1" GCC_VERSION "${GCC_VERSION_OUTPUT}")
|
string(REGEX REPLACE "([0-9]+\\.[0-9]+).*" "\\1" GCC_VERSION "${GCC_VERSION_OUTPUT}")
|
||||||
|
execute_process(COMMAND "${CMAKE_CXX_COMPILER}" "-dumpmachine" OUTPUT_VARIABLE GCC_MACHINE)
|
||||||
|
string(STRIP "${GCC_MACHINE}" GCC_MACHINE)
|
||||||
|
if(${GCC_MACHINE} MATCHES ".*w64.*")
|
||||||
|
set(COMPILER_GCC_W64 1)
|
||||||
|
endif()
|
||||||
elseif(MSVC)
|
elseif(MSVC)
|
||||||
set(COMPILER_MSVC 1)
|
set(COMPILER_MSVC 1)
|
||||||
if(MSVC_VERSION EQUAL 1400)
|
if(MSVC_VERSION EQUAL 1400)
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
# some of these macros are inspired from the boost/cmake macros
|
# some of these macros are inspired from the boost/cmake macros
|
||||||
|
|
||||||
# this macro adds external dependencies to a static target,
|
# this macro adds external dependencies to a static target,
|
||||||
@ -16,7 +15,11 @@ macro(sfml_static_add_libraries target)
|
|||||||
foreach(lib ${ARGN})
|
foreach(lib ${ARGN})
|
||||||
if(NOT ${lib} MATCHES ".*/.*")
|
if(NOT ${lib} MATCHES ".*/.*")
|
||||||
string(REGEX REPLACE "(.*)/bin/.*\\.exe" "\\1" STANDARD_LIBS_PATH "${CMAKE_CXX_COMPILER}")
|
string(REGEX REPLACE "(.*)/bin/.*\\.exe" "\\1" STANDARD_LIBS_PATH "${CMAKE_CXX_COMPILER}")
|
||||||
set(lib "${STANDARD_LIBS_PATH}/lib/lib${lib}.a")
|
if(COMPILER_GCC_W64)
|
||||||
|
set(lib "${STANDARD_LIBS_PATH}/${GCC_MACHINE}/lib/lib${lib}.a")
|
||||||
|
else()
|
||||||
|
set(lib "${STANDARD_LIBS_PATH}/lib/lib${lib}.a")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
string(TOUPPER ${CMAKE_BUILD_TYPE} BUILD_TYPE)
|
string(TOUPPER ${CMAKE_BUILD_TYPE} BUILD_TYPE)
|
||||||
get_target_property(TARGET_FILENAME ${target} ${BUILD_TYPE}_LOCATION)
|
get_target_property(TARGET_FILENAME ${target} ${BUILD_TYPE}_LOCATION)
|
||||||
@ -43,7 +46,7 @@ macro(sfml_static_add_libraries target)
|
|||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
set_target_properties(${target} PROPERTIES STATIC_LIBRARY_FLAGS ${LIBRARIES})
|
set_target_properties(${target} PROPERTIES STATIC_LIBRARY_FLAGS ${LIBRARIES})
|
||||||
else()
|
else()
|
||||||
# All other platforms
|
# All other platforms
|
||||||
target_link_libraries(${target} ${ARGN})
|
target_link_libraries(${target} ${ARGN})
|
||||||
endif()
|
endif()
|
||||||
|
Loading…
Reference in New Issue
Block a user