diff --git a/CMakeLists.txt b/CMakeLists.txt index 760657cd6..98499e5b7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,7 +30,7 @@ endif() # Detect Windows include(CheckSymbolExists) -check_symbol_exists("_WIN32" "" MCPE_WIN32) +check_symbol_exists("_WIN32" "" REMCPE_WIN32) # Clang if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") @@ -41,7 +41,7 @@ if(APPLE) endif() # Windows Linking -if(MCPE_WIN32) +if(REMCPE_WIN32) add_link_options( -static-libgcc -static-libstdc++ @@ -64,6 +64,13 @@ endif() # Disable thread local storage (needed for C++98 & iOS) add_compile_definitions(RAPIDJSON_NO_THREAD_LOCAL STBI_NO_THREAD_LOCALS) +if(NOT DEFINED REMCPE_GFX_API) + message(STATUS "No GFX API specified, defaulting to OGL...") + set(REMCPE_GFX_API "OGL" CACHE STRING "HAL GFX API") +endif() + +message(STATUS "Selected GFX API: ${REMCPE_GFX_API}") + # Android Logging if(ANDROID) link_libraries(log) diff --git a/platforms/CMakeLists.txt b/platforms/CMakeLists.txt index 99c82a5dc..a0f4ec115 100644 --- a/platforms/CMakeLists.txt +++ b/platforms/CMakeLists.txt @@ -2,7 +2,7 @@ project(reminecraftpe-platforms) # Select & Build set(DEFAULT_PLATFORM "sdl2") -if(MCPE_WIN32) +if(REMCPE_WIN32) set(DEFAULT_PLATFORM "windows") endif() set(REMCPE_PLATFORM "${DEFAULT_PLATFORM}" CACHE STRING "ReMCPE Platform (Check /platforms)") diff --git a/platforms/sdl/sdl1/CMakeLists.txt b/platforms/sdl/sdl1/CMakeLists.txt index 5d5945837..8a10cf7ce 100644 --- a/platforms/sdl/sdl1/CMakeLists.txt +++ b/platforms/sdl/sdl1/CMakeLists.txt @@ -31,6 +31,8 @@ if(SDLMAIN_LIBRARY) target_link_libraries(reminecraftpe "${SDLMAIN_LIBRARY}") endif() -# OpenGL -find_package(OpenGL REQUIRED) -target_link_libraries(reminecraftpe-core PUBLIC OpenGL::GL) +if(REMCPE_GFX_API STREQUAL "OGL") + # OpenGL + find_package(OpenGL REQUIRED) + target_link_libraries(reminecraftpe-core PUBLIC OpenGL::GL) +endif() diff --git a/platforms/sdl/sdl2/CMakeLists.txt b/platforms/sdl/sdl2/CMakeLists.txt index ddeac92f5..635257fb6 100644 --- a/platforms/sdl/sdl2/CMakeLists.txt +++ b/platforms/sdl/sdl2/CMakeLists.txt @@ -33,7 +33,7 @@ target_link_libraries(reminecraftpe stb_image) # SDL add_library(SDL INTERFACE) -if(ANDROID OR MCPE_WIN32) +if(ANDROID OR REMCPE_WIN32) # Use Vendored SDL2 (Only For Android) add_subdirectory(../../../thirdparty/SDL2/src SDL EXCLUDE_FROM_ALL) set_target_properties(SDL2 PROPERTIES CXX_STANDARD 11) @@ -53,20 +53,22 @@ if(TARGET SDL2::SDL2main) target_link_libraries(reminecraftpe SDL2::SDL2main) endif() -# OpenGL -if(ANDROID) - find_library(GLES_LIB GLESv1_CM REQUIRED) - target_link_libraries(reminecraftpe-core PUBLIC "${GLES_LIB}") - target_compile_definitions(reminecraftpe-core PUBLIC USE_GLES) -else() - find_package(OpenGL REQUIRED) - target_link_libraries(reminecraftpe-core PUBLIC OpenGL::GL) - if(EMSCRIPTEN) - # Use WebGL 2 - target_link_options(reminecraftpe-core PUBLIC - -sMIN_WEBGL_VERSION=2 -sMAX_WEBGL_VERSION=2 - -sLEGACY_GL_EMULATION -sGL_FFP_ONLY - ) +if(REMCPE_GFX_API STREQUAL "OGL") + # OpenGL + if(ANDROID) + find_library(GLES_LIB GLESv1_CM REQUIRED) + target_link_libraries(reminecraftpe-core PUBLIC "${GLES_LIB}") + target_compile_definitions(reminecraftpe-core PUBLIC USE_GLES) + else() + find_package(OpenGL REQUIRED) + target_link_libraries(reminecraftpe-core PUBLIC OpenGL::GL) + if(EMSCRIPTEN) + # Use WebGL 2 + target_link_options(reminecraftpe-core PUBLIC + -sMIN_WEBGL_VERSION=2 -sMAX_WEBGL_VERSION=2 + -sLEGACY_GL_EMULATION -sGL_FFP_ONLY + ) + endif() endif() endif() diff --git a/platforms/sound/CMakeLists.txt b/platforms/sound/CMakeLists.txt index 1d2a9d1b8..314540cf2 100644 --- a/platforms/sound/CMakeLists.txt +++ b/platforms/sound/CMakeLists.txt @@ -2,7 +2,7 @@ project(reminecraftpe-sound) # Select & Build set(DEFAULT_SOUND_PLATFORM "openal") -if(MCPE_WIN32) +if(REMCPE_WIN32) set(DEFAULT_SOUND_PLATFORM "directsound") endif() set(REMCPE_SOUND_PLATFORM "${DEFAULT_SOUND_PLATFORM}" CACHE STRING "ReMCPE Sound Platform (Check /platforms/sound)") diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 4b37b9147..927050fa6 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -449,13 +449,6 @@ add_library(reminecraftpe-core STATIC ) target_include_directories(reminecraftpe-core PUBLIC . ..) -if(NOT DEFINED REMCPE_GFX_API) - message(STATUS "No GFX API specified, defaulting to OGL...") - set(REMCPE_GFX_API "OGL" CACHE STRING "HAL GFX API") -endif() - -message(STATUS "Selected GFX API: ${REMCPE_GFX_API}") - # OGL Shader variant build hack if(REMCPE_GFX_API STREQUAL "OGL_SHADERS") target_compile_definitions(reminecraftpe-core PUBLIC FEATURE_GFX_SHADERS) @@ -544,7 +537,7 @@ target_link_libraries(reminecraftpe-core PUBLIC raknet) # zlib add_library(zlib-interface INTERFACE) -if(MCPE_WIN32) +if(REMCPE_WIN32) # Compile Vendored ZLib add_subdirectory(../thirdparty/zlib zlib) target_link_libraries(zlib-interface INTERFACE zlib) diff --git a/thirdparty/raknet/CMakeLists.txt b/thirdparty/raknet/CMakeLists.txt index 7de4efaf2..87b609641 100644 --- a/thirdparty/raknet/CMakeLists.txt +++ b/thirdparty/raknet/CMakeLists.txt @@ -117,7 +117,7 @@ add_library(raknet STATIC target_include_directories(raknet PUBLIC .) # Windows Support -if(MCPE_WIN32) +if(REMCPE_WIN32) target_compile_definitions(raknet PUBLIC SHA1_HAS_TCHAR PUBLIC LOCKLESS_TYPES_USE_MUTEX