diff --git a/CMakeLists.txt b/CMakeLists.txt index 57045047..a798d33a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,25 @@ -CMAKE_MINIMUM_REQUIRED( VERSION 2.8.2 ) +CMAKE_MINIMUM_REQUIRED( VERSION 3.20 ) + +IF(WIN32) + STRING(SUBSTRING ${CMAKE_GENERATOR} 0 13 GENERATOR_TYPE) + IF(GENERATOR_TYPE STREQUAL "Visual Studio") + # This must be Set before "PROJECT()" is called. + set(VCPKG_TARGET_TRIPLET "x64-windows-static") + + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd") + ADD_COMPILE_DEFINITIONS(UNICODE _UNICODE) + + + SET(MEGAGLEST_DATA_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}/" CACHE STRING "The installation path for data files ${COMMON_INFO_ABOUT_PATH}") + SET(MEGAGLEST_INI_INSTALL_PATH "${MEGAGLEST_DATA_INSTALL_PATH}" CACHE STRING "Install path for ini files") + + INCLUDE(FindPkgConfig) + ENDIF() +ENDIF() + PROJECT( MegaGlest ) #SET(CMAKE_VERBOSE_MAKEFILE ON) @@ -31,8 +52,8 @@ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") ENDIF() OPTION(BUILD_MEGAGLEST_MODEL_IMPORT_EXPORT_TOOLS "Build model import/export tools" ON) -OPTION(BUILD_MEGAGLEST_MODEL_VIEWER "Build model viewer" ON) -OPTION(BUILD_MEGAGLEST_MAP_EDITOR "Build map editor" ON) +OPTION(BUILD_MEGAGLEST_MODEL_VIEWER "Build model viewer" OFF) +OPTION(BUILD_MEGAGLEST_MAP_EDITOR "Build map editor" OFF) OPTION(BUILD_MEGAGLEST "Build MegaGlest" ON) OPTION(BUILD_MEGAGLEST_TESTS "Build MegaGlest Unit Tests" OFF) OPTION(WANT_SINGLE_INSTALL_DIRECTORY "Use single install directory for everything. It is useful for example for MacOS cpack bundles." OFF) @@ -368,33 +389,6 @@ ELSE() SET(MEGAGLEST_FRIENDLY_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/data/glest_game/") ENDIF() -IF(WIN32) - SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} - ${PROJECT_SOURCE_DIR}/source/win32_deps/lib - ${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib - ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib) - - SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} - ${PROJECT_SOURCE_DIR}/source/win32_deps/include - ${PROJECT_SOURCE_DIR}/source/win32_deps/openal-soft-1.12.854/include - ${PROJECT_SOURCE_DIR}/source/win32_deps/openal-soft-1.12.854 - ${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/include - ${PROJECT_SOURCE_DIR}/source/win32_deps/libogg-1.2.1/include - ${PROJECT_SOURCE_DIR}/source/win32_deps/lua-5.1/src - ${PROJECT_SOURCE_DIR}/source/win32_deps/jpeg-8b - ${PROJECT_SOURCE_DIR}/source/win32_deps/lpng141 - ${PROJECT_SOURCE_DIR}/source/win32_deps/zlib-1.2.5 - ${PROJECT_SOURCE_DIR}/source/win32_deps/curl-7.21.3/include - ${PROJECT_SOURCE_DIR}/source/win32_deps/${SDL_WINDOWS_DIR_DINC}/include - ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/include) - - link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/lib) - link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib) - link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib) - include_directories("${PROJECT_SOURCE_DIR}/source/win32_deps/Microsoft\ DirectX\ SDK \(November 2007\)/Include") - include_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/openal-soft-1.12.854/include) -ENDIF() - # Check if sources exist IF(EXISTS "${PROJECT_SOURCE_DIR}/source/") MESSAGE(STATUS "**Found game source code.") diff --git a/mk/cmake/Modules/CurlGetConfig.cmake b/mk/cmake/Modules/CurlGetConfig.cmake deleted file mode 100644 index a583889f..00000000 --- a/mk/cmake/Modules/CurlGetConfig.cmake +++ /dev/null @@ -1,63 +0,0 @@ -# -# Curl Get Config -# -# IF we are using a system that supports curl-config use it. -# - -IF(CURL_FOUND) - IF(UNIX) - IF(UNIX AND APPLE AND NOT CMAKE_CURL_CONFIG) - FIND_PROGRAM(CMAKE_CURL_CONFIG curl-config - PATHS /opt/local - PATH_SUFFIXES bin NO_DEFAULT_PATH) - ENDIF() - IF(NOT CMAKE_CURL_CONFIG) - FIND_PROGRAM(CMAKE_CURL_CONFIG curl-config - PATHS - ~/Library/Frameworks - /Library/Frameworks - /sw # Fink - /opt/local # DarwinPorts - /opt/csw # Blastwave - /opt - PATH_SUFFIXES bin) - ENDIF() - MARK_AS_ADVANCED(CMAKE_CURL_CONFIG) - - IF(CMAKE_CURL_CONFIG) - IF(STATIC_CURL) - # run the curl-config program to get --static-libs - execute_process(COMMAND ${CMAKE_CURL_CONFIG} --static-libs - OUTPUT_VARIABLE CURL_STATIC_LIBS - RESULT_VARIABLE RET - OUTPUT_STRIP_TRAILING_WHITESPACE) - ELSE() - SET(RET 1) - ENDIF() - - IF(RET EQUAL 0 AND CURL_STATIC_LIBS) - MESSAGE(STATUS "curl-config: ${CMAKE_CURL_CONFIG}, #1 , using CURL static libs: [${CURL_STATIC_LIBS}]") - SET(CURL_LIBRARIES "-Bstatic ${CURL_STATIC_LIBS}") - ELSE() - execute_process(COMMAND ${CMAKE_CURL_CONFIG} --libs - OUTPUT_VARIABLE CURL_DYNAMIC_LIBS - RESULT_VARIABLE RET2 - OUTPUT_STRIP_TRAILING_WHITESPACE) - - IF(RET2 EQUAL 0 AND CURL_DYNAMIC_LIBS) - MESSAGE(STATUS "curl-config: ${CMAKE_CURL_CONFIG}, #2 RET = ${RET}, using CURL dynamic libs: ${CURL_DYNAMIC_LIBS}") - SET(CURL_LIBRARIES "${CURL_DYNAMIC_LIBS}") - ELSE() - MESSAGE(STATUS "curl-config: ${CMAKE_CURL_CONFIG}, #3 RET = ${RET}/${RET2}, using CURL libs found by cmake: ${CURL_LIBRARIES}") - ENDIF() - ENDIF() - ENDIF() - ENDIF() - IF(CURL_VERSION_STRING AND "${CURL_VERSION_STRING}" VERSION_LESS "${CURL_MIN_VERSION_MG}") - MESSAGE(STATUS "(please visit http://curl.haxx.se/libcurl/ to find a newer version)") - MESSAGE(FATAL_ERROR " CURL version = [${CURL_VERSION_STRING}] we require AT LEAST [7.16.4]") - ENDIF() -ELSE() - SET(CURL_LIBRARIES) - SET(CURL_INCLUDE_DIRS) -ENDIF() diff --git a/mk/cmake/Modules/FindMiniupnpc.cmake b/mk/cmake/Modules/FindMiniupnpc.cmake index 5fedfbf0..b504be34 100644 --- a/mk/cmake/Modules/FindMiniupnpc.cmake +++ b/mk/cmake/Modules/FindMiniupnpc.cmake @@ -72,6 +72,8 @@ if (MINIUPNP_FOUND) set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR}) set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY}) + + INCLUDE(CheckCXXSourceRuns) check_cxx_source_runs(" #include #include @@ -201,4 +203,3 @@ else () endif () MARK_AS_ADVANCED(MINIUPNP_INCLUDE_DIR MINIUPNP_LIBRARY) - diff --git a/mk/windoze/glest-dev.ini b/mk/windoze/glest-dev.ini index ee4695bd..d00ab33e 100644 --- a/mk/windoze/glest-dev.ini +++ b/mk/windoze/glest-dev.ini @@ -1,3 +1,3 @@ -DataPath=$APPLICATIONPATH\..\..\data\glest_game\ +DataPath=$APPLICATIONPATH\..\..\..\megaglest-data\ ServerListPath=$APPLICATIONPATH\..\shared\ GlestKeysIniPath=$APPLICATIONPATH\..\shared\ diff --git a/mk/windoze/vcpkg_deps.ps1 b/mk/windoze/vcpkg_deps.ps1 index 85214569..874a9e77 100644 --- a/mk/windoze/vcpkg_deps.ps1 +++ b/mk/windoze/vcpkg_deps.ps1 @@ -1 +1 @@ -.\vcpkg.exe install brotli:x64-windows-static bzip2:x64-windows-static curl:x64-windows-static expat:x64-windows-static freetype:x64-windows-static fribidi:x64-windows-static ftgl:x64-windows-static glew:x64-windows-static libiconv:x64-windows-static libjpeg-turbo:x64-windows-static liblzma:x64-windows-static libogg:x64-windows-static libpng:x64-windows-static libvorbis:x64-windows-static libxml2:x64-windows-static lua:x64-windows-static openal-soft:x64-windows-static opengl:x64-windows-static pkgconf:x64-windows-static sdl2:x64-windows-static sqlite3:x64-windows-static tiff:x64-windows-static tool-meson:x64-windows-static wxwidgets:x64-windows-static xerces-c:x64-windows-static zlib:x64-windows-static +.\vcpkg.exe install brotli:x64-windows-static bzip2:x64-windows-static curl:x64-windows-static expat:x64-windows-static freetype:x64-windows-static fribidi:x64-windows-static ftgl:x64-windows-static glew:x64-windows-static libiconv:x64-windows-static libjpeg-turbo:x64-windows-static liblzma:x64-windows-static libogg:x64-windows-static libpng:x64-windows-static libvorbis:x64-windows-static libxml2:x64-windows-static lua:x64-windows-static openal-soft:x64-windows-static opengl:x64-windows-static miniupnpc:x64-windows-static sdl2:x64-windows-static sqlite3:x64-windows-static tiff:x64-windows-static tool-meson:x64-windows-static wxwidgets:x64-windows-static xerces-c:x64-windows-static zlib:x64-windows-static diff --git a/source/g3d_viewer/CMakeLists.txt b/source/g3d_viewer/CMakeLists.txt index cfed04c8..e0910bf9 100644 --- a/source/g3d_viewer/CMakeLists.txt +++ b/source/g3d_viewer/CMakeLists.txt @@ -62,7 +62,9 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER) MESSAGE(STATUS " wxWidgets: ${wxWidgets_INCLUDE_DIRS} ;/; ${wxWidgets_LIBRARIES}") ENDIF() - find_package(PkgConfig REQUIRED) + IF(PKG_CONFIG_FOUND) + find_package(PkgConfig REQUIRED) + ENDIF() IF(FORCE_STREFLOP_SOFTWRAPPER) pkg_search_module(STREFLOP streflop-soft) ELSE() diff --git a/source/glest_game/CMakeLists.txt b/source/glest_game/CMakeLists.txt index 76b5de40..3bee6169 100644 --- a/source/glest_game/CMakeLists.txt +++ b/source/glest_game/CMakeLists.txt @@ -92,7 +92,6 @@ IF(BUILD_MEGAGLEST) ENDIF() FIND_PACKAGE(CURL REQUIRED) - INCLUDE(${CMAKE_SOURCE_DIR}/mk/cmake/Modules/CurlGetConfig.cmake) INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIRS}) IF(UNIX) IF(NOT OPENSSL_FOUND) @@ -139,7 +138,10 @@ IF(BUILD_MEGAGLEST) ENDIF() ENDIF() - find_package(PkgConfig REQUIRED) + + IF(PKG_CONFIG_FOUND) + find_package(PkgConfig REQUIRED) + ENDIF() IF(FORCE_STREFLOP_SOFTWRAPPER) pkg_search_module(STREFLOP streflop-soft) ELSE() @@ -261,7 +263,7 @@ IF(BUILD_MEGAGLEST) add_custom_target(run ALL DEPENDS mg.tmp) ENDIF() - IF(WIN32) + IF(WIN32 AND NOT GENERATOR_TYPE STREQUAL "Visual Studio") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,-subsystem,console -mconsole") ENDIF() @@ -294,7 +296,25 @@ IF(BUILD_MEGAGLEST) endif() IF(WIN32) - TARGET_LINK_LIBRARIES(${TARGET_NAME} stdc++ gcc odbc32 wsock32 winspool winmm shell32 comctl32 ctl3d32 advapi32 wsock32 opengl32 glu32 ole32 oleaut32 uuid mingw32 ddraw dsound dxguid ws2_32 iphlpapi wsock32 libogg libvorbis libvorbisfile zlib jpeg libpng xerces-c2_8_0 OpenAL32 libcurl winmm gdi32 opengl32 glu32 ${SDL_VERSION_NAME} ${SDL_VERSION_NAME}main lua5.1 ${MG_STREFLOP} libmegaglest stdc++ moldname mingwex msvcrt user32 kernel32) + IF(VCPKG_TARGET_TRIPLET) + TARGET_LINK_LIBRARIES(${TARGET_NAME} odbc32 wsock32 winspool winmm shell32 comctl32 advapi32 opengl32 glu32 ole32 oleaut32 uuid ddraw dsound dxguid ws2_32 iphlpapi gdi32 user32 kernel32 dbghelp shlwapi) + find_package(Ogg CONFIG REQUIRED) + find_package(Vorbis CONFIG REQUIRED) + # find_package(ZLIB REQUIRED) + # find_package(JPEG REQUIRED) + find_package(libpng CONFIG REQUIRED) + find_package(XercesC CONFIG REQUIRED) + find_package(OpenAL CONFIG REQUIRED) + # find_package(CURL CONFIG REQUIRED) + find_package(SDL2 CONFIG REQUIRED) + # include(FindLua) + # find_package(Lua REQUIRED) + # find_package(GLEW REQUIRED) + find_package(FTGL CONFIG REQUIRED) + TARGET_LINK_LIBRARIES(${TARGET_NAME} Ogg::ogg Vorbis::vorbis Vorbis::vorbisenc Vorbis::vorbisfile ZLIB::ZLIB ${JPEG_LIBRARIES} png_static xerces_xerces-c XercesC::XercesC OpenAL::OpenAL CURL::libcurl SDL2::SDL2main SDL2::SDL2-static ${LUA_LIBRARIES} ${MG_STREFLOP} libmegaglest GLEW::GLEW ftgl) + ELSE() + TARGET_LINK_LIBRARIES(${TARGET_NAME} stdc++ gcc odbc32 wsock32 winspool winmm shell32 comctl32 ctl3d32 advapi32 wsock32 opengl32 glu32 ole32 oleaut32 uuid mingw32 ddraw dsound dxguid ws2_32 iphlpapi wsock32 libogg libvorbis libvorbisfile zlib jpeg libpng xerces-c2_8_0 OpenAL32 libcurl winmm gdi32 opengl32 glu32 ${SDL_VERSION_NAME} ${SDL_VERSION_NAME}main lua5.1 ${MG_STREFLOP} libmegaglest stdc++ moldname mingwex msvcrt user32 kernel32) + ENDIF() ENDIF() IF(NOT WIN32) diff --git a/source/glest_game/main/main.cpp b/source/glest_game/main/main.cpp index 2b2cf46b..fdadcb40 100644 --- a/source/glest_game/main/main.cpp +++ b/source/glest_game/main/main.cpp @@ -290,7 +290,7 @@ static void cleanupProcessObjects() { CacheManager::cleanupMutexes(); } -#if defined(WIN32) && !defined(_DEBUG) && !defined(__GNUC__) +#if defined(WIN32) && !defined(__GNUC__) void fatal(const char *s, ...) // failure exit { static int errors = 0; diff --git a/source/glest_map_editor/CMakeLists.txt b/source/glest_map_editor/CMakeLists.txt index 2e73c0d1..2b8f5eec 100644 --- a/source/glest_map_editor/CMakeLists.txt +++ b/source/glest_map_editor/CMakeLists.txt @@ -79,7 +79,9 @@ IF(BUILD_MEGAGLEST_MAP_EDITOR) link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib) ENDIF() - find_package(PkgConfig REQUIRED) + IF(PKG_CONFIG_FOUND) + find_package(PkgConfig REQUIRED) + ENDIF() IF(FORCE_STREFLOP_SOFTWRAPPER) pkg_search_module(STREFLOP streflop-soft) ELSE() diff --git a/source/shared_lib/CMakeLists.txt b/source/shared_lib/CMakeLists.txt index 493cf95e..e8af6ed7 100644 --- a/source/shared_lib/CMakeLists.txt +++ b/source/shared_lib/CMakeLists.txt @@ -4,7 +4,10 @@ OPTION(FORCE_EMBEDDED_LIBS "Force use of embedded libraries' code." OFF) # IMPORTANT: should come BEFORE finding packages -find_package(PkgConfig REQUIRED) +IF(PKG_CONFIG_FOUND) + find_package(PkgConfig REQUIRED) +ENDIF() + IF(FORCE_STREFLOP_SOFTWRAPPER) pkg_search_module(STREFLOP streflop-soft) ELSE() @@ -30,6 +33,9 @@ ENDIF() IF(WANT_USE_STREFLOP) IF(NOT STREFLOP_FOUND) + IF(WIN32 AND GENERATOR_TYPE STREQUAL "Visual Studio") + ADD_COMPILE_DEFINITIONS(STREFLOP_SSE LIBM_COMPILING_FLT32) + ENDIF() ADD_SUBDIRECTORY(sources/streflop) ELSE() INCLUDE_DIRECTORIES(${STREFLOP_INCLUDE_DIRS} ${STREFLOP_INCLUDE_DIRS}/streflop) @@ -51,29 +57,31 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST INCLUDE (CheckIncludeFiles) IF(WIN32) - SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} - ${PROJECT_SOURCE_DIR}/source/win32_deps/lib - ${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib - ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib) + IF(NOT VCPKG_TARGET_TRIPLET) + SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} + ${PROJECT_SOURCE_DIR}/source/win32_deps/lib + ${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib + ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib) - INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/include) - INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/openal-soft-1.12.854/include) - INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/openal-soft-1.12.854) - INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/include) - INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/libogg-1.2.1/include) - INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/lua-5.1/src) - INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/jpeg-8b) - INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/lpng141) - INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/zlib-1.2.5) - INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/curl-7.21.3/include) - INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/${SDL_WINDOWS_DIR_DINC}/include) - INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/include) - - link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/lib) - link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib) - link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib) + INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/include) + INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/openal-soft-1.12.854/include) + INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/openal-soft-1.12.854) + INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/include) + INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/libogg-1.2.1/include) + INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/lua-5.1/src) + INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/jpeg-8b) + INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/lpng141) + INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/zlib-1.2.5) + INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/curl-7.21.3/include) + INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/${SDL_WINDOWS_DIR_DINC}/include) + INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/include) + + link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/lib) + link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib) + link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib) - INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/include) + INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/win32_deps/include) + ENDIF() INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/platform/posix) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/source/shared_lib/include/platform/win32) ENDIF() @@ -88,7 +96,6 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST ENDIF() FIND_PACKAGE(CURL REQUIRED) - INCLUDE(${CMAKE_SOURCE_DIR}/mk/cmake/Modules/CurlGetConfig.cmake) INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIRS}) IF(UNIX) IF(NOT OPENSSL_FOUND) @@ -118,13 +125,13 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${X11_LIBRARIES}) ENDIF() - IF(WANT_USE_XercesC) - FIND_PACKAGE(XercesC REQUIRED) - INCLUDE_DIRECTORIES(${XERCESC_INCLUDE_DIR}) - IF(UNIX) - SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${XERCESC_LIBRARY}) - ENDIF() - ENDIF() + IF(WANT_USE_XercesC) + FIND_PACKAGE(XercesC REQUIRED) + INCLUDE_DIRECTORIES(${XERCESC_INCLUDE_DIR}) + IF(UNIX) + SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${XERCESC_LIBRARY}) + ENDIF() + ENDIF() FIND_PACKAGE(OpenAL REQUIRED) INCLUDE_DIRECTORIES(${OPENAL_INCLUDE_DIR}) @@ -132,11 +139,11 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENAL_LIBRARY}) ENDIF() - FIND_PACKAGE(LUA REQUIRED) - INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR}) - IF(UNIX) - SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${LUA_LIBRARIES} ${CMAKE_DL_LIBS}) - ENDIF() + FIND_PACKAGE(LUA REQUIRED) + INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR}) + IF(UNIX) + SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${LUA_LIBRARIES} ${CMAKE_DL_LIBS}) + ENDIF() FIND_PACKAGE(JPEG REQUIRED) INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR}) @@ -150,7 +157,7 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${PNG_LIBRARY}) ENDIF() - OPTION(WANT_USE_FontConfig "use the library fontconfig" ON) + OPTION(WANT_USE_FontConfig "use the library fontconfig" ON) IF(WANT_USE_FontConfig) FIND_PACKAGE(FontConfig) IF(FONTCONFIG_FOUND) @@ -291,23 +298,25 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST FIND_PACKAGE(Miniupnpc) ENDIF() - if(NOT MINIUPNP_FOUND) + if(NOT MINIUPNP_FOUND OR GENERATOR_TYPE STREQUAL "Visual Studio") if(NOT FORCE_USE_EMBEDDED_Miniupnpc) MESSAGE(STATUS "*** Using EMBEDDED miniupnpc since dev system does not have it... MINIUPNP_FOUND [${MINIUPNP_FOUND}]") else() MESSAGE(STATUS "*** Using EMBEDDED miniupnpc because it was forced by option") endif() - if (NOT WIN32) - add_definitions (-DMINIUPNPC_SET_SOCKET_TIMEOUT) - add_definitions (-D_BSD_SOURCE) + if (NOT WIN32) + add_definitions (-DMINIUPNPC_SET_SOCKET_TIMEOUT) + add_definitions (-D_BSD_SOURCE) - if (CMAKE_SYSTEM_NAME STREQUAL "Darwin") - add_definitions (-DMACOSX -D_DARWIN_C_SOURCE) - else() - add_definitions (-D_POSIX_C_SOURCE=200809L) - endif () - endif() + if (CMAKE_SYSTEM_NAME STREQUAL "Darwin") + add_definitions (-DMACOSX -D_DARWIN_C_SOURCE) + else() + add_definitions (-D_POSIX_C_SOURCE=200809L) + endif () + ELSEIF(GENERATOR_TYPE STREQUAL "Visual Studio") + ADD_COMPILE_DEFINITIONS(MINIUPNP_STATICLIB) + endif() SET(DIRS_WITH_SRC ${DIRS_WITH_SRC} platform/miniupnpc) else() @@ -425,7 +434,6 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/${SDL_VERSION_SNAME}/thread.cpp) SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/${SDL_VERSION_SNAME}/window.cpp) SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/shared_lib/sources/platform/${SDL_VERSION_SNAME}/window_gl.cpp) - SET(MG_SOURCE_FILES ${MG_SOURCE_FILES} ${PROJECT_SOURCE_DIR}/source/win32_deps/src/glprocs.c) ENDIF() FOREACH(DIR IN LISTS DIRS_WITH_SRC) @@ -496,7 +504,25 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST ENDIF() IF(WIN32) - TARGET_LINK_LIBRARIES(${TARGET_NAME} stdc++ gcc odbc32 wsock32 winspool winmm shell32 comctl32 ctl3d32 advapi32 wsock32 opengl32 glu32 ole32 oleaut32 uuid mingw32 ddraw dsound dxguid ws2_32 iphlpapi wsock32 libogg libvorbis libvorbisfile zlib jpeg libpng xerces-c2_8_0 OpenAL32 libcurl winmm gdi32 opengl32 glu32 ${SDL_VERSION_NAME} ${SDL_VERSION_NAME}main lua5.1 stdc++ moldname mingwex msvcrt user32 kernel32) + IF(VCPKG_TARGET_TRIPLET) + TARGET_LINK_LIBRARIES(${TARGET_NAME} odbc32 wsock32 winspool winmm shell32 comctl32 advapi32 opengl32 glu32 ole32 oleaut32 uuid ddraw dsound dxguid ws2_32 iphlpapi user32 kernel32 dbghelp shlwapi) + find_package(Ogg CONFIG REQUIRED) + find_package(Vorbis CONFIG REQUIRED) + # find_package(ZLIB REQUIRED) + # find_package(JPEG REQUIRED) + find_package(libpng CONFIG REQUIRED) + find_package(XercesC CONFIG REQUIRED) + find_package(OpenAL CONFIG REQUIRED) + # find_package(CURL CONFIG REQUIRED) + find_package(SDL2 CONFIG REQUIRED) + # include(FindLua) + # find_package(Lua REQUIRED) + # find_package(GLEW REQUIRED) + find_package(FTGL CONFIG REQUIRED) + TARGET_LINK_LIBRARIES(${TARGET_NAME} Ogg::ogg Vorbis::vorbis Vorbis::vorbisenc Vorbis::vorbisfile ZLIB::ZLIB ${JPEG_LIBRARIES} png_static xerces_xerces-c XercesC::XercesC OpenAL::OpenAL CURL::libcurl gdi32 SDL2::SDL2main SDL2::SDL2-static ${LUA_LIBRARIES} ${MG_STREFLOP} GLEW::GLEW ftgl) + ELSE() + TARGET_LINK_LIBRARIES(${TARGET_NAME} stdc++ gcc odbc32 wsock32 winspool winmm shell32 comctl32 ctl3d32 advapi32 wsock32 opengl32 glu32 ole32 oleaut32 uuid mingw32 ddraw dsound dxguid ws2_32 iphlpapi wsock32 libogg libvorbis libvorbisfile zlib jpeg libpng xerces-c2_8_0 OpenAL32 libcurl winmm gdi32 opengl32 glu32 ${SDL_VERSION_NAME} ${SDL_VERSION_NAME}main lua5.1 stdc++ moldname mingwex msvcrt user32 kernel32) + ENDIF() ENDIF() IF(WANT_USE_STREFLOP AND NOT STREFLOP_FOUND) diff --git a/source/shared_lib/include/platform/sdl/platform_util.h b/source/shared_lib/include/platform/sdl/platform_util.h index 653e3e52..559e88ad 100644 --- a/source/shared_lib/include/platform/sdl/platform_util.h +++ b/source/shared_lib/include/platform/sdl/platform_util.h @@ -112,7 +112,7 @@ void ontop_win32(int width, int height); void CheckPacketThrottling(); // The following is used for stacking tracing for windows based exceptions -#if !defined(_DEBUG) && !defined(__GNUC__) +#if !defined(__GNUC__) // easy safe strings #define MAXSTRLEN 260 diff --git a/source/shared_lib/sources/graphics/gl/texture_gl.cpp b/source/shared_lib/sources/graphics/gl/texture_gl.cpp index dac42ec7..a255b725 100644 --- a/source/shared_lib/sources/graphics/gl/texture_gl.cpp +++ b/source/shared_lib/sources/graphics/gl/texture_gl.cpp @@ -16,9 +16,6 @@ #include "conversion.h" #include #include "util.h" -#ifdef WIN32 -#include "glext.h" -#endif #include "leak_dumper.h"