Worked on windows and emscripten builds, still not perfect.
This commit is contained in:
6
.gitmodules
vendored
Normal file
6
.gitmodules
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
[submodule "thirdparty/zlib"]
|
||||
path = thirdparty/zlib
|
||||
url = https://github.com/madler/zlib
|
||||
[submodule "thirdparty/SDL2"]
|
||||
path = thirdparty/SDL2
|
||||
url = https://github.com/emscripten-ports/SDL2.git
|
||||
@@ -85,7 +85,7 @@ if(PSP)
|
||||
WAGIC_OPTION(backend_psp "build for psp" ON)
|
||||
endif()
|
||||
if(WIN32 OR ANDROID OR UNIX)
|
||||
WAGIC_OPTION(backend_sdl "build for sdl" (WIN32 OR ANDROID))
|
||||
WAGIC_OPTION(backend_sdl "build for sdl" (WIN32 OR ANDROID OR EMSCRIPTEN))
|
||||
endif()
|
||||
if(NOT backend_sdl AND UNIX AND NOT ANDROID)
|
||||
WAGIC_OPTION(backend_qt_console "build qt-console version with testsuit" ON)
|
||||
@@ -93,12 +93,13 @@ if(NOT backend_sdl AND UNIX AND NOT ANDROID)
|
||||
endif()
|
||||
|
||||
#third party build options
|
||||
WAGIC_OPTION(BUILD_ZLIB "build zlib from source" WIN32)
|
||||
WAGIC_OPTION(BUILD_JPEG "build jpeg from source" (WIN32 OR APPLE OR PSP OR ANDROID))
|
||||
WAGIC_OPTION(BUILD_PNG "build png from source" (WIN32 OR APPLE OR PSP OR ANDROID))
|
||||
WAGIC_OPTION(BUILD_ZLIB "build zlib from source" WIN32 OR EMSCRIPTEN)
|
||||
WAGIC_OPTION(BUILD_JPEG "build jpeg from source" (WIN32 OR APPLE OR PSP OR ANDROID OR EMSCRIPTEN))
|
||||
WAGIC_OPTION(BUILD_PNG "build png from source" (WIN32 OR APPLE OR PSP OR ANDROID OR EMSCRIPTEN))
|
||||
WAGIC_OPTION(BUILD_UNZIP "build unzip from source" ON)
|
||||
WAGIC_OPTION(BUILD_TINYXML "build tinyxml from source" (WIN32 OR APPLE OR PSP OR ANDROID))
|
||||
WAGIC_OPTION(BUILD_TINYXML "build tinyxml from source" (WIN32 OR APPLE OR PSP OR ANDROID OR EMSCRIPTEN))
|
||||
WAGIC_OPTION(BUILD_ZIPFS "build zipfs from source" ON)
|
||||
WAGIC_OPTION(BUILD_SDL2 "build SDL2 from source" (backend_sdl AND (WIN32 OR ANDROID OR EMSCRIPTEN)))
|
||||
|
||||
#project options
|
||||
if(ANDROID)
|
||||
@@ -145,6 +146,8 @@ elseif(UNIX)
|
||||
include(platforms/unix/configure.cmake)
|
||||
elseif(ANDROID)
|
||||
include(platforms/android/configure.cmake)
|
||||
elseif(EMSCRIPTEN)
|
||||
include(platforms/emscripten/configure.cmake)
|
||||
endif()
|
||||
|
||||
#set backend dependend configurations
|
||||
@@ -159,7 +162,6 @@ elseif(backend_sdl)
|
||||
endif()
|
||||
|
||||
# find or build 3rd party libraries
|
||||
|
||||
FindOrBuildZLIB()
|
||||
FindOrBuildOpenGL()
|
||||
FindOrBuildTinyXML()
|
||||
@@ -200,3 +202,7 @@ add_subdirectory(projects/mtg)
|
||||
if(BUILD_ANDROID_PACKAGE)
|
||||
add_subdirectory(platforms/android/package)
|
||||
endif()
|
||||
|
||||
if(EMSCRIPTEN)
|
||||
set(CMAKE_EXECUTABLE_SUFFIX ".html")
|
||||
endif()
|
||||
|
||||
@@ -24,15 +24,23 @@ macro(FindOrBuildTinyXML)
|
||||
endmacro()
|
||||
|
||||
macro(FindOrBuildSDL2)
|
||||
if(ANDROID)
|
||||
set(ENV{SDL2DIR} "$ENV{ANDROID_SDL2_ROOT};$ENV{ANDROID_SDL2_ROOT}/libs/${ANDROID_NDK_ABI_NAME}/")
|
||||
elseif(WIN32 OR UNIX)
|
||||
# set(ENV{SDL2DIR} $ENV{WIN_SDL2_ROOT})
|
||||
if(BUILD_SDL2)
|
||||
if(WIN32)
|
||||
#SDL2 DirectX build is somehow broken...
|
||||
set(SDL_AUDIO FALSE)
|
||||
set(SDL_JOYSTICK FALSE)
|
||||
set(SDL_HAPTIC FALSE)
|
||||
set(SDL_SHARED FALSE)
|
||||
endif()
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/thirdparty/SDL2)
|
||||
set(SDL2_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/SDL2/include ${CMAKE_BINARY_DIR}/thirdparty/SDL2)
|
||||
set(SDL2_LIBRARY SDL2)
|
||||
else()
|
||||
find_package(SDL2)
|
||||
if(EMSCRIPTEN OR WIN32)
|
||||
set(SDL2_LIBRARY SDL2-static)
|
||||
else()
|
||||
set(SDL2_LIBRARY SDL2)
|
||||
endif()
|
||||
elseif(NOT EMSCRIPTEN)
|
||||
find_package(SDL2)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
@@ -90,7 +98,7 @@ endmacro()
|
||||
|
||||
macro(FindOrBuildZLIB)
|
||||
if(BUILD_ZLIB)
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/thirdparty/zlib)
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/thirdparty/zlib)
|
||||
set(ZLIB_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/thirdparty/zlib ${CMAKE_BINARY_DIR}/thirdparty/zlib)
|
||||
set(ZLIB_LIBRARIES zlib)
|
||||
else()
|
||||
@@ -142,7 +150,8 @@ endmacro()
|
||||
macro(FindOrBuildPNG)
|
||||
if(BUILD_PNG)
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/thirdparty/libpng ${CMAKE_BINARY_DIR}/thirdparty/libpng)
|
||||
find_path(PNG_INCLUDE_DIRS NAMES png.h HINTS ${CMAKE_SOURCE_DIR}/thirdparty/libpng)
|
||||
set(PNG_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/thirdparty/libpng)
|
||||
# find_path(PNG_INCLUDE_DIRS NAMES png.h HINTS ${CMAKE_SOURCE_DIR}/thirdparty/libpng)
|
||||
set(PNG_LIBRARIES png)
|
||||
else()
|
||||
if(WIN32)
|
||||
@@ -202,6 +211,8 @@ macro(FindOrBuildOpenGL)
|
||||
if(ANDROID)
|
||||
#find openglesv on android
|
||||
set(OPENGL_LIBRARIES "-ldl -lGLESv1_CM -lGLESv2 -llog -landroid")
|
||||
elseif(EMSCRIPTEN)
|
||||
set(OPENGL_LIBRARIES "")
|
||||
else()
|
||||
find_package(OpenGL)
|
||||
# find_package(GLUT)
|
||||
|
||||
@@ -101,7 +101,7 @@ if(backend_qt_widget)
|
||||
endif()
|
||||
|
||||
if(backend_sdl)
|
||||
if(UNIX AND NOT ANDROID)
|
||||
if((UNIX OR EMSCRIPTEN) AND NOT ANDROID)
|
||||
set(JGE_INTERNAL_INCLUDE_DIRS ${TINYXML_INCLUDE_DIR} ${ZIPFS_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR} ${GLUT_INCLUDE_DIR}
|
||||
${SDL2_INCLUDE_DIR} ${UNZIP_INCLUDE_DIR} ${PNG_INCLUDE_DIRS} ${JPEG_INCLUDE_DIR} ${ZLIB_INCLUDE_DIRS})
|
||||
set(JGE_SOURCES ${JGE_generic_src} ${JGE_graphics_src} ${JGE_linux_src} ${JGE_hge_src})
|
||||
@@ -119,7 +119,7 @@ if(backend_sdl)
|
||||
${UNZIP_INCLUDE_DIR} ${PNG_INCLUDE_DIRS} ${JPEG_INCLUDE_DIR} ${ZLIB_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR}/thirdparty/binary/win/include)
|
||||
set(JGE_SOURCES ${JGE_generic_src} ${JGE_graphics_src} ${JGE_linux_src} ${JGE_hge_src})
|
||||
set(JGE_LINK_LIBRARIES ${ZIPFS_LIBRARY} ${UNZIP_LIRARY} ${JPEG_LIBRARY} ${PNG_LIBRARIES})
|
||||
set(JGE_LINK_DIRECTORIES ${Boost_LIBRARY_DIR} ${SDL2_LIBRARY_DIR})
|
||||
set(JGE_LINK_DIRECTORIES ${Boost_LIBRARY_DIR})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#if (!defined IOS) && (!defined QT_CONFIG)
|
||||
#ifdef WIN32
|
||||
#pragma warning(disable : 4786)
|
||||
#pragma comment( lib, "giflib.lib" )
|
||||
//#pragma comment( lib, "giflib.lib" )
|
||||
#endif
|
||||
|
||||
#include <png.h>
|
||||
|
||||
3
platforms/emscripten/configure.cmake
Normal file
3
platforms/emscripten/configure.cmake
Normal file
@@ -0,0 +1,3 @@
|
||||
set_target_properties(wagic PROPERTIES LINK_FLAGS "-s USE_SDL=2")
|
||||
set(CMAKE_CXX_FLAGS "-s USE_SDL=2")
|
||||
set(CMAKE_EXECUTABLE_SUFFIX ".html")
|
||||
@@ -166,8 +166,8 @@ elseif(backend_qt_widget)
|
||||
message(FATAL_ERROR "qt-widget bilds are only supported on unix platforms")
|
||||
endif()
|
||||
elseif(backend_sdl)
|
||||
if(UNIX AND NOT ANDROID)
|
||||
include_directories(${MTG_INCLUDE_DIRS} ${JGE_INCLUDE_DIRS} ${SDL2_INCLUDE_DIR} ${ZIPFS_INCLUDE_DIR} ${UNZIP_INCLUDE_DIR} ${HGE_INCLUDE_DIR} ${TINYXML_INCLUDE_DIR})
|
||||
if((UNIX OR EMSCRIPTEN) AND NOT ANDROID)
|
||||
include_directories(${MTG_INCLUDE_DIRS} ${JGE_INCLUDE_DIRS} ${SDL2_INCLUDE_DIR} ${ZIPFS_INCLUDE_DIR} ${UNZIP_INCLUDE_DIR} ${HGE_INCLUDE_DIR} ${TINYXML_INCLUDE_DIR} ${ZLIB_INCLUDE_DIRS})
|
||||
add_executable(wagic ${MTG_generic_src} ${MTG_sdl_src})
|
||||
target_link_libraries(wagic ${JGE_LIBRARY} ${SDL2_LIBRARY} ${OPENGL_LIBRARIES} ${TINYXML_LIBRARIES} ${HGE_LIBRARY} ${ZLIB_LIBRARIES})
|
||||
elseif(ANDROID)
|
||||
@@ -188,7 +188,7 @@ elseif(backend_sdl)
|
||||
add_executable(wagic ${MTG_generic_src} ${MTG_sdl_src} src/TestSuiteAI.cpp src/AIPlayerBakaB.cpp)
|
||||
link_directories(${Boost_LIBRARY_DIR} ${SDL2_LIBRARY_DIR})
|
||||
target_link_libraries(wagic ${JGE_LIBRARY} ${SDL2_LIBRARY} ${OPENGL_LIBRARIES} ${TINYXML_LIBRARIES}
|
||||
${BOOST_date_time} ${HGE_LIBRARY} ${CMAKE_SOURCE_DIR}/thirdparty/binary/win/lib/fmodvc.lib)
|
||||
${BOOST_date_time} ${HGE_LIBRARY} ${CMAKE_SOURCE_DIR}/thirdparty/binary/win/lib/fmodvc.lib ${ZLIB_LIBRARIES})
|
||||
endif()
|
||||
elseif(backend_psp)
|
||||
if(PSP)
|
||||
|
||||
1
thirdparty/SDL2
vendored
Submodule
1
thirdparty/SDL2
vendored
Submodule
Submodule thirdparty/SDL2 added at e60718c37e
1
thirdparty/zlib
vendored
Submodule
1
thirdparty/zlib
vendored
Submodule
Submodule thirdparty/zlib added at 5089329162
Reference in New Issue
Block a user