Merge pull request #414 from Ygrik2003/Fix-usage-vcpkg-for-windows-and-add-cmake-preset-for-vscode
Fix usage vcpkg for windows and add cmake preset for vscode
This commit is contained in:
+21
-23
@@ -6,13 +6,16 @@ file(GLOB_RECURSE HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.hpp)
|
||||
file(GLOB_RECURSE SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
|
||||
list(REMOVE_ITEM SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp)
|
||||
|
||||
add_library(${PROJECT_NAME} ${SOURCES} ${HEADERS})
|
||||
|
||||
option(VOXELENGINE_BUILD_WINDOWS_VCPKG ON)
|
||||
add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADERS})
|
||||
|
||||
find_package(OpenGL REQUIRED)
|
||||
find_package(GLEW REQUIRED)
|
||||
find_package(OpenAL REQUIRED)
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
# specific for vcpkg
|
||||
find_package(OpenAL CONFIG REQUIRED)
|
||||
else()
|
||||
find_package(OpenAL REQUIRED)
|
||||
endif()
|
||||
find_package(ZLIB REQUIRED)
|
||||
find_package(PNG REQUIRED)
|
||||
find_package(CURL REQUIRED)
|
||||
@@ -22,26 +25,21 @@ endif()
|
||||
|
||||
set(LIBS "")
|
||||
|
||||
if (WIN32)
|
||||
if(VOXELENGINE_BUILD_WINDOWS_VCPKG)
|
||||
if (MSVC)
|
||||
set(LUA_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR}/../vcpkg/packages/luajit_x64-windows/lib/lua51.lib")
|
||||
set(LUA_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../vcpkg/packages/luajit_x64-windows/include/luajit")
|
||||
else()
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(OpenAL REQUIRED IMPORTED_TARGET openal)
|
||||
set(LIBS ${LIBS} luajit-5.1 wsock32 ws2_32 pthread PkgConfig::OpenAL -static-libstdc++)
|
||||
message(${OPENAL_LIBRARY})
|
||||
endif()
|
||||
find_package(glfw3 REQUIRED)
|
||||
find_package(glm REQUIRED)
|
||||
find_package(vorbis REQUIRED)
|
||||
set(VORBISLIB Vorbis::vorbis Vorbis::vorbisfile)
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
# Use directly linking to lib instead PkgConfig (because pkg-config dont install on windows as default)
|
||||
# TODO: Do it with findLua.
|
||||
if (MSVC)
|
||||
set(LUA_INCLUDE_DIR "$ENV{VCPKG_ROOT}/packages/luajit_${VCPKG_TARGET_TRIPLET}/include/luajit")
|
||||
find_package(Lua REQUIRED)
|
||||
else()
|
||||
find_package(Lua REQUIRED)
|
||||
set(VORBISLIB vorbis vorbisfile) # not tested
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/libs/glfw)
|
||||
# Used for mingw-clang cross compiling from msys2
|
||||
set(LIBS ${LIBS} luajit-5.1)
|
||||
endif()
|
||||
find_package(glfw3 REQUIRED)
|
||||
find_package(glm REQUIRED)
|
||||
find_package(vorbis REQUIRED)
|
||||
set(VORBISLIB Vorbis::vorbis Vorbis::vorbisfile)
|
||||
|
||||
elseif(APPLE)
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(LUAJIT REQUIRED luajit)
|
||||
@@ -71,4 +69,4 @@ endif()
|
||||
include_directories(${LUA_INCLUDE_DIR})
|
||||
include_directories(${CURL_INCLUDE_DIR})
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
target_link_libraries(${PROJECT_NAME} ${LIBS} glfw OpenGL::GL ${OPENAL_LIBRARY} GLEW::GLEW ZLIB::ZLIB PNG::PNG CURL::libcurl ${VORBISLIB} ${LUA_LIBRARIES} ${CMAKE_DL_LIBS})
|
||||
target_link_libraries(${PROJECT_NAME} ${LIBS} glfw OpenGL::GL OpenAL::OpenAL GLEW::GLEW ZLIB::ZLIB PNG::PNG CURL::libcurl ${VORBISLIB} ${LUA_LIBRARIES} ${CMAKE_DL_LIBS})
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#include "Engine.hpp"
|
||||
|
||||
#ifndef GLEW_STATIC
|
||||
#define GLEW_STATIC
|
||||
#endif
|
||||
|
||||
#include "debug/Logger.hpp"
|
||||
#include "assets/AssetsLoader.hpp"
|
||||
|
||||
Reference in New Issue
Block a user