aaah who did revert my cmake changes
This commit is contained in:
@@ -6,6 +6,7 @@ include(cmake/CPM.cmake)
|
|||||||
set(CMAKE_CXX_STANDARD 14)
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
|
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
|
||||||
set(CMAKE_POLICY_VERSION_MINIMUM 3.10)
|
set(CMAKE_POLICY_VERSION_MINIMUM 3.10)
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||||
set(CMAKE_CXX_FLAGS "-Wno-c++11-narrowing -Wno-narrowing -Wno-invalid-source-encoding -Wno-reserved-user-defined-literal")
|
set(CMAKE_CXX_FLAGS "-Wno-c++11-narrowing -Wno-narrowing -Wno-invalid-source-encoding -Wno-reserved-user-defined-literal")
|
||||||
endif()
|
endif()
|
||||||
@@ -22,15 +23,26 @@ enum_option(PLATFORM "Desktop;Web" "Platform to build for.")
|
|||||||
find_package(Threads REQUIRED)
|
find_package(Threads REQUIRED)
|
||||||
find_package(OpenSSL)
|
find_package(OpenSSL)
|
||||||
|
|
||||||
if(EMSCRIPTEN)
|
if (${PLATFORM} STREQUAL "Desktop")
|
||||||
set(AL_LIBTYPE "STATIC")
|
set(PLATFORM_CPP "PLATFORM_DESKTOP")
|
||||||
else()
|
|
||||||
set(AL_LIBTYPE "SHARED")
|
if (WIN32)
|
||||||
|
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||||
|
set(EXTRA_LIBS ws2_32)
|
||||||
|
elseif(UNIX)
|
||||||
|
find_library(pthread NAMES pthread)
|
||||||
|
set(EXTRA_LIBS pthread m)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
elseif (${PLATFORM} STREQUAL "Web")
|
||||||
|
set(PLATFORM_CPP "PLATFORM_WEB")
|
||||||
|
set(EXTRA_LIBS "idbfs.js")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# I totally shocked
|
# I totally shocked
|
||||||
if(EMSCRIPTEN)
|
if(${PLATFORM} MATCHES "Web")
|
||||||
set(PNG_LIB png)
|
set(PNG_LIB png)
|
||||||
|
set(AL_LIBTYPE "STATIC")
|
||||||
|
|
||||||
add_library(zlib INTERFACE IMPORTED)
|
add_library(zlib INTERFACE IMPORTED)
|
||||||
set_target_properties(zlib PROPERTIES
|
set_target_properties(zlib PROPERTIES
|
||||||
@@ -48,6 +60,7 @@ if(EMSCRIPTEN)
|
|||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
set(PNG_LIB png_shared)
|
set(PNG_LIB png_shared)
|
||||||
|
set(AL_LIBTYPE "SHARED")
|
||||||
|
|
||||||
CPMAddPackage(
|
CPMAddPackage(
|
||||||
NAME "zlib"
|
NAME "zlib"
|
||||||
@@ -268,49 +281,32 @@ file(GLOB CLIENT_SOURCES
|
|||||||
"src/SharedConstants.cpp"
|
"src/SharedConstants.cpp"
|
||||||
"src/main.cpp"
|
"src/main.cpp"
|
||||||
"src/NinecraftApp.cpp"
|
"src/NinecraftApp.cpp"
|
||||||
|
|
||||||
|
"src/AppPlatform_glfw.cpp"
|
||||||
|
"src/main.cpp"
|
||||||
)
|
)
|
||||||
|
|
||||||
if(NOT DEFINED PLATFORM)
|
if (${PLATFORM} STREQUAL "Desktop")
|
||||||
set(PLATFORM "PLATFORM_GLFW")
|
list(APPEND CLIENT_SOURCES glad/src/glad.c)
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
if(PLATFORM STREQUAL "PLATFORM_WIN32")
|
|
||||||
list(APPEND CLIENT_SOURCES "src/AppPlatform_win32.cpp" "glad/src/glad.c")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(PLATFORM STREQUAL "PLATFORM_GLFW")
|
|
||||||
list(APPEND CLIENT_SOURCES "src/AppPlatform_glfw.cpp" "glad/src/glad.c")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(EMSCRIPTEN)
|
|
||||||
list(APPEND CLIENT_SOURCES "glad/src/glad.c")
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Server
|
# Server
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
add_executable("${PROJECT_NAME}-server" ${SERVER_SOURCES})
|
add_executable("${PROJECT_NAME}-server" ${SERVER_SOURCES})
|
||||||
|
|
||||||
target_compile_definitions("${PROJECT_NAME}-server" PUBLIC "STANDALONE_SERVER" "SERVER_PROFILER")
|
target_compile_definitions("${PROJECT_NAME}-server" PUBLIC "STANDALONE_SERVER" "SERVER_PROFILER")
|
||||||
|
|
||||||
target_include_directories("${PROJECT_NAME}-server" PUBLIC
|
target_include_directories("${PROJECT_NAME}-server" PUBLIC
|
||||||
"${CMAKE_SOURCE_DIR}/src/"
|
"${CMAKE_SOURCE_DIR}/src/"
|
||||||
"project/lib_projects/raknet/jni/RaknetSources"
|
"project/lib_projects/raknet/jni/RaknetSources"
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries("${PROJECT_NAME}-server" ${CMAKE_THREAD_LIBS_INIT})
|
target_link_libraries("${PROJECT_NAME}-server" ${CMAKE_THREAD_LIBS_INIT})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_executable(${PROJECT_NAME} ${CLIENT_SOURCES})
|
add_executable(${PROJECT_NAME} ${CLIENT_SOURCES})
|
||||||
|
|
||||||
if(WIN32)
|
target_compile_definitions(${PROJECT_NAME} PUBLIC ${PLATFORM_CPP})
|
||||||
set(EXTRA_LIBS "ws2_32")
|
|
||||||
target_compile_definitions(${PROJECT_NAME} PUBLIC "_CRT_SECURE_NO_WARNINGS")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(PLATFORM STREQUAL "PLATFORM_WIN32" OR PLATFORM STREQUAL "PLATFORM_GLFW")
|
|
||||||
target_compile_definitions(${PROJECT_NAME} PUBLIC "PLATFORM_DESKTOP")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
target_include_directories(${PROJECT_NAME} PUBLIC
|
target_include_directories(${PROJECT_NAME} PUBLIC
|
||||||
"${CMAKE_SOURCE_DIR}/glad/include/"
|
"${CMAKE_SOURCE_DIR}/glad/include/"
|
||||||
@@ -320,7 +316,7 @@ target_include_directories(${PROJECT_NAME} PUBLIC
|
|||||||
"lib/include"
|
"lib/include"
|
||||||
)
|
)
|
||||||
|
|
||||||
if(EMSCRIPTEN)
|
if(${PLATFORM} MATCHES "Web")
|
||||||
set(CMAKE_CXX_STANDARD 11)
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
# uuuh i hate it
|
# uuuh i hate it
|
||||||
set(EM_FLAGS "-pthread -sUSE_PTHREADS=1 -sSHARED_MEMORY=1")
|
set(EM_FLAGS "-pthread -sUSE_PTHREADS=1 -sSHARED_MEMORY=1")
|
||||||
@@ -361,7 +357,6 @@ if(EMSCRIPTEN)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_compile_definitions(${PROJECT_NAME} PUBLIC "__EMSCRIPTEN__" "NO_SOUND" "NO_NETWORK")
|
target_compile_definitions(${PROJECT_NAME} PUBLIC "__EMSCRIPTEN__" "NO_SOUND" "NO_NETWORK")
|
||||||
set(EXTRA_LIBS "idbfs.js")
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Client
|
# Client
|
||||||
@@ -382,7 +377,7 @@ if (NOT UNIX)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT EMSCRIPTEN)
|
if(NOT ${PLATFORM} MATCHES "Web")
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET ${PROJECT_NAME}
|
TARGET ${PROJECT_NAME}
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
@@ -394,4 +389,7 @@ else()
|
|||||||
POST_BUILD
|
POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/misc/web/index.html" $<TARGET_FILE_DIR:${PROJECT_NAME}>
|
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/misc/web/index.html" $<TARGET_FILE_DIR:${PROJECT_NAME}>
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
message(STATUS "Compiling with the flags:")
|
||||||
|
message(STATUS " PLATFORM=" ${PLATFORM_CPP})
|
||||||
Reference in New Issue
Block a user