瀏覽代碼

Re-applied previous megasource-specific changes to SDL's cmakelists:

 * Enable SDL_SHARED.

 * Disable SDL_STATIC.

 * Set SDL_LINK_DIR in parent scope.

 * Use custom install() directive.

 * Add target_include_directories.
Alex Szpakowski 10 年之前
父節點
當前提交
cda9f55e33
共有 1 個文件被更改,包括 15 次插入4 次删除
  1. 15 4
      libs/SDL2/CMakeLists.txt

+ 15 - 4
libs/SDL2/CMakeLists.txt

@@ -296,8 +296,8 @@ set_option(VIDEO_VIVANTE       "Use Vivante EGL video driver" ${UNIX_SYS})
 
 # TODO: We should (should we?) respect cmake's ${BUILD_SHARED_LIBS} flag here
 # The options below are for compatibility to configure's default behaviour.
-set(SDL_SHARED ${SDL_SHARED_ENABLED_BY_DEFAULT} CACHE BOOL "Build a shared version of the library")
-set(SDL_STATIC ON CACHE BOOL "Build a static version of the library")
+set(SDL_SHARED ON CACHE BOOL "Build a shared version of the library")
+set(SDL_STATIC OFF CACHE BOOL "Build a static version of the library")
 
 # General source files
 file(GLOB SOURCE_FILES
@@ -954,11 +954,13 @@ elseif(WINDOWS)
   if(MSVC)
     # Prevent codegen that would use the VC runtime libraries.
     add_definitions(/GS-)
-    if(CMAKE_SIZEOF_VOID_P EQUAL 4)
+    if(NOT ARCH_64)
       add_definitions(/arch:SSE)
     endif()
   endif()
 
+  set(SDL_LINK_DIR ${PARENT_SCOPE})
+
   # Check for DirectX
   if(DIRECTX)
     if(DEFINED MSVC_VERSION AND NOT ${MSVC_VERSION} LESS 1700)
@@ -992,13 +994,15 @@ elseif(WINDOWS)
       set(HAVE_DIRECTX TRUE)
       if(NOT CMAKE_COMPILER_IS_MINGW AND NOT USE_WINSDK_DIRECTX)
       # TODO: change $ENV{DXSDL_DIR} to get the path from the include checks
-        link_directories($ENV{DXSDK_DIR}\\lib\\${PROCESSOR_ARCH})
+        set(SDL_LINK_DIR $ENV{DXSDK_DIR}\\lib\\${PROCESSOR_ARCH} ${SDL_LINK_DIR})
         include_directories($ENV{DXSDK_DIR}\\Include)
       endif()
     endif()
     set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS})
   endif()
 
+  link_directories(${SDL_LINK_DIR})
+
   if(SDL_AUDIO)
     set(SDL_AUDIO_DRIVER_WINMM 1)
     file(GLOB WINMM_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/winmm/*.c)
@@ -1456,6 +1460,7 @@ set(_INSTALL_LIBS "SDL2main")
 
 if(SDL_SHARED)
   add_library(SDL2 SHARED ${SOURCE_FILES})
+  install(TARGETS SDL2 RUNTIME DESTINATION . LIBRARY DESTINATION .)
   if(UNIX)
     set_target_properties(SDL2 PROPERTIES
       VERSION ${LT_VERSION}
@@ -1475,6 +1480,7 @@ if(SDL_SHARED)
   endif()
   set(_INSTALL_LIBS "SDL2" ${_INSTALL_LIBS})
   target_link_libraries(SDL2 ${EXTRA_LIBS} ${EXTRA_LDFLAGS})
+  target_include_directories(SDL2 PUBLIC include)
 endif()
 
 if(SDL_STATIC)
@@ -1493,6 +1499,11 @@ if(SDL_STATIC)
 endif()
 
 ##### Installation targets #####
+
+if(MEGA)
+  return()
+endif()
+
 install(TARGETS ${_INSTALL_LIBS}
   LIBRARY DESTINATION "lib${LIB_SUFFIX}"
   ARCHIVE DESTINATION "lib${LIB_SUFFIX}"