Browse Source

Change MinGW build settings when building shared library type.

- Statically link standard C runtime libraries.
- Does not use 'lib' prefix.

All credits to alexrass (See http://urho3d.prophpbb.com/topic46.html and http://urho3d.prophpbb.com/topic90.html).
Yao Wei Tjong 姚伟忠 11 years ago
parent
commit
2bbb4093db
2 changed files with 4 additions and 0 deletions
  1. 1 0
      Source/CMake/Modules/Urho3D-CMake-common.cmake
  2. 3 0
      Source/Engine/CMakeLists.txt

+ 1 - 0
Source/CMake/Modules/Urho3D-CMake-common.cmake

@@ -244,6 +244,7 @@ else ()
         if (WIN32)
         if (WIN32)
             set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static -static-libgcc")
             set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static -static-libgcc")
             set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static -static-libstdc++ -static-libgcc")
             set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static -static-libstdc++ -static-libgcc")
+            set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -static")
             # Additional compiler flags for Windows ports of GCC
             # Additional compiler flags for Windows ports of GCC
             set (CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG")
             set (CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG")
             set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG")
             set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG")

+ 3 - 0
Source/Engine/CMakeLists.txt

@@ -120,6 +120,9 @@ if (APPLE)
     set (FORCE_LOAD -force_load)
     set (FORCE_LOAD -force_load)
 elseif (NOT MSVC)
 elseif (NOT MSVC)
     set_property (TARGET ${TARGET_NAME} APPEND PROPERTY LINK_LIBRARIES -Wl,--whole-archive)
     set_property (TARGET ${TARGET_NAME} APPEND PROPERTY LINK_LIBRARIES -Wl,--whole-archive)
+    if (WIN32)
+        set_target_properties (${TARGET_NAME} PROPERTIES PREFIX "")
+    endif ()
 endif ()
 endif ()
 foreach (TARGET ${STATIC_LIBRARY_TARGETS})
 foreach (TARGET ${STATIC_LIBRARY_TARGETS})
     get_target_property (ARCHIVE ${TARGET} LOCATION)
     get_target_property (ARCHIVE ${TARGET} LOCATION)