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)
|
WAGIC_OPTION(backend_psp "build for psp" ON)
|
||||||
endif()
|
endif()
|
||||||
if(WIN32 OR ANDROID OR UNIX)
|
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()
|
endif()
|
||||||
if(NOT backend_sdl AND UNIX AND NOT ANDROID)
|
if(NOT backend_sdl AND UNIX AND NOT ANDROID)
|
||||||
WAGIC_OPTION(backend_qt_console "build qt-console version with testsuit" ON)
|
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()
|
endif()
|
||||||
|
|
||||||
#third party build options
|
#third party build options
|
||||||
WAGIC_OPTION(BUILD_ZLIB "build zlib from source" WIN32)
|
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))
|
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))
|
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_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_ZIPFS "build zipfs from source" ON)
|
||||||
|
WAGIC_OPTION(BUILD_SDL2 "build SDL2 from source" (backend_sdl AND (WIN32 OR ANDROID OR EMSCRIPTEN)))
|
||||||
|
|
||||||
#project options
|
#project options
|
||||||
if(ANDROID)
|
if(ANDROID)
|
||||||
@@ -145,6 +146,8 @@ elseif(UNIX)
|
|||||||
include(platforms/unix/configure.cmake)
|
include(platforms/unix/configure.cmake)
|
||||||
elseif(ANDROID)
|
elseif(ANDROID)
|
||||||
include(platforms/android/configure.cmake)
|
include(platforms/android/configure.cmake)
|
||||||
|
elseif(EMSCRIPTEN)
|
||||||
|
include(platforms/emscripten/configure.cmake)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#set backend dependend configurations
|
#set backend dependend configurations
|
||||||
@@ -159,7 +162,6 @@ elseif(backend_sdl)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# find or build 3rd party libraries
|
# find or build 3rd party libraries
|
||||||
|
|
||||||
FindOrBuildZLIB()
|
FindOrBuildZLIB()
|
||||||
FindOrBuildOpenGL()
|
FindOrBuildOpenGL()
|
||||||
FindOrBuildTinyXML()
|
FindOrBuildTinyXML()
|
||||||
@@ -200,3 +202,7 @@ add_subdirectory(projects/mtg)
|
|||||||
if(BUILD_ANDROID_PACKAGE)
|
if(BUILD_ANDROID_PACKAGE)
|
||||||
add_subdirectory(platforms/android/package)
|
add_subdirectory(platforms/android/package)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(EMSCRIPTEN)
|
||||||
|
set(CMAKE_EXECUTABLE_SUFFIX ".html")
|
||||||
|
endif()
|
||||||
|
|||||||
@@ -24,15 +24,23 @@ macro(FindOrBuildTinyXML)
|
|||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
macro(FindOrBuildSDL2)
|
macro(FindOrBuildSDL2)
|
||||||
if(ANDROID)
|
if(BUILD_SDL2)
|
||||||
set(ENV{SDL2DIR} "$ENV{ANDROID_SDL2_ROOT};$ENV{ANDROID_SDL2_ROOT}/libs/${ANDROID_NDK_ABI_NAME}/")
|
if(WIN32)
|
||||||
elseif(WIN32 OR UNIX)
|
#SDL2 DirectX build is somehow broken...
|
||||||
# set(ENV{SDL2DIR} $ENV{WIN_SDL2_ROOT})
|
set(SDL_AUDIO FALSE)
|
||||||
|
set(SDL_JOYSTICK FALSE)
|
||||||
|
set(SDL_HAPTIC FALSE)
|
||||||
|
set(SDL_SHARED FALSE)
|
||||||
|
endif()
|
||||||
add_subdirectory(${CMAKE_SOURCE_DIR}/thirdparty/SDL2)
|
add_subdirectory(${CMAKE_SOURCE_DIR}/thirdparty/SDL2)
|
||||||
set(SDL2_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/SDL2/include ${CMAKE_BINARY_DIR}/thirdparty/SDL2)
|
set(SDL2_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/SDL2/include ${CMAKE_BINARY_DIR}/thirdparty/SDL2)
|
||||||
set(SDL2_LIBRARY SDL2)
|
if(EMSCRIPTEN OR WIN32)
|
||||||
else()
|
set(SDL2_LIBRARY SDL2-static)
|
||||||
find_package(SDL2)
|
else()
|
||||||
|
set(SDL2_LIBRARY SDL2)
|
||||||
|
endif()
|
||||||
|
elseif(NOT EMSCRIPTEN)
|
||||||
|
find_package(SDL2)
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
@@ -90,7 +98,7 @@ endmacro()
|
|||||||
|
|
||||||
macro(FindOrBuildZLIB)
|
macro(FindOrBuildZLIB)
|
||||||
if(BUILD_ZLIB)
|
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_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/thirdparty/zlib ${CMAKE_BINARY_DIR}/thirdparty/zlib)
|
||||||
set(ZLIB_LIBRARIES zlib)
|
set(ZLIB_LIBRARIES zlib)
|
||||||
else()
|
else()
|
||||||
@@ -142,7 +150,8 @@ endmacro()
|
|||||||
macro(FindOrBuildPNG)
|
macro(FindOrBuildPNG)
|
||||||
if(BUILD_PNG)
|
if(BUILD_PNG)
|
||||||
add_subdirectory(${CMAKE_SOURCE_DIR}/thirdparty/libpng ${CMAKE_BINARY_DIR}/thirdparty/libpng)
|
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)
|
set(PNG_LIBRARIES png)
|
||||||
else()
|
else()
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@@ -202,6 +211,8 @@ macro(FindOrBuildOpenGL)
|
|||||||
if(ANDROID)
|
if(ANDROID)
|
||||||
#find openglesv on android
|
#find openglesv on android
|
||||||
set(OPENGL_LIBRARIES "-ldl -lGLESv1_CM -lGLESv2 -llog -landroid")
|
set(OPENGL_LIBRARIES "-ldl -lGLESv1_CM -lGLESv2 -llog -landroid")
|
||||||
|
elseif(EMSCRIPTEN)
|
||||||
|
set(OPENGL_LIBRARIES "")
|
||||||
else()
|
else()
|
||||||
find_package(OpenGL)
|
find_package(OpenGL)
|
||||||
# find_package(GLUT)
|
# find_package(GLUT)
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ if(backend_qt_widget)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(backend_sdl)
|
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}
|
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})
|
${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})
|
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)
|
${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_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_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()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
#if (!defined IOS) && (!defined QT_CONFIG)
|
#if (!defined IOS) && (!defined QT_CONFIG)
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
#pragma warning(disable : 4786)
|
#pragma warning(disable : 4786)
|
||||||
#pragma comment( lib, "giflib.lib" )
|
//#pragma comment( lib, "giflib.lib" )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <png.h>
|
#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")
|
message(FATAL_ERROR "qt-widget bilds are only supported on unix platforms")
|
||||||
endif()
|
endif()
|
||||||
elseif(backend_sdl)
|
elseif(backend_sdl)
|
||||||
if(UNIX AND NOT ANDROID)
|
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})
|
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})
|
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})
|
target_link_libraries(wagic ${JGE_LIBRARY} ${SDL2_LIBRARY} ${OPENGL_LIBRARIES} ${TINYXML_LIBRARIES} ${HGE_LIBRARY} ${ZLIB_LIBRARIES})
|
||||||
elseif(ANDROID)
|
elseif(ANDROID)
|
||||||
@@ -188,7 +188,7 @@ elseif(backend_sdl)
|
|||||||
add_executable(wagic ${MTG_generic_src} ${MTG_sdl_src} src/TestSuiteAI.cpp src/AIPlayerBakaB.cpp)
|
add_executable(wagic ${MTG_generic_src} ${MTG_sdl_src} src/TestSuiteAI.cpp src/AIPlayerBakaB.cpp)
|
||||||
link_directories(${Boost_LIBRARY_DIR} ${SDL2_LIBRARY_DIR})
|
link_directories(${Boost_LIBRARY_DIR} ${SDL2_LIBRARY_DIR})
|
||||||
target_link_libraries(wagic ${JGE_LIBRARY} ${SDL2_LIBRARY} ${OPENGL_LIBRARIES} ${TINYXML_LIBRARIES}
|
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()
|
endif()
|
||||||
elseif(backend_psp)
|
elseif(backend_psp)
|
||||||
if(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