Switch to vcpkg from Conan after something broke our build and the Conan support in clion seems outdated

This commit is contained in:
m
2023-07-17 23:35:05 -04:00
parent a01ff2ec0e
commit 16ca6de3d4
4 changed files with 65 additions and 15 deletions

View File

@@ -1,13 +1,36 @@
set(CMAKE_CXX_STANDARD 20) # c++ 20
cmake_minimum_required(VERSION 3.22) # Specifies the required CMake version.
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
cmake_minimum_required(VERSION 3.16) # Specifies the required CMake version.
project(rla_iipp) # Defines the project name.
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) # Includes the contents of the conanbuildinfo.cmake file.
conan_basic_setup() # Prepares the CMakeList.txt for Conan.
#[[include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) # Includes the contents of the conanbuildinfo.cmake file.
conan_basic_setup() # Prepares the CMakeList.txt for Conan.]]
# $source_files is a space-delimited list of filenames.
add_executable(rla_iipp src/main.cpp src/engine/engine.hpp src/engine/game/game.hpp src/engine/rendering/renderer.hpp src/game/visualizer.hpp src/game/visualizer.cpp src/engine/rendering/sdl/sdlrenderer.cpp src/engine/rendering/sdl/sdlrenderer.hpp src/engine/rendering/sdl/sdlrenderer.cpp src/engine/rendering/sdl/sdlrenderer.hpp src/engine/engine.cpp src/engine/engine.hpp src/engine/rendering/sdl/sdltexturemanager.cpp src/engine/rendering/sdl/sdltexturemanager.hpp src/engine/resources/resourcemanager.hpp src/engine/rendering/sdl/sdlfontmanager.cpp src/engine/rendering/sdl/sdlfontmanager.hpp src/engine/input/inputprocessor.hpp src/engine/input/sdlinputprocessor.cpp src/engine/input/sdlinputprocessor.hpp src/engine/utility/camera.cpp src/engine/utility/camera.hpp src/engine/utility/point.hpp src/engine/utility/rectangle.hpp src/engine/utility/grid2d.hpp src/engine/scripting/luacontextmanager.cpp src/engine/scripting/luacontextmanager.hpp src/game/algorithmmanager.cpp src/game/algorithmmanager.hpp src/game/tilemap.cpp src/game/tilemap.hpp src/engine/rlengineexception.hpp) # Specifies the executable to build.
target_link_libraries(rla_iipp ${CONAN_LIBS}) # Specifies what libraries to link, using Conan.
# vcpkg packages
find_package(SDL2 CONFIG REQUIRED)
target_link_libraries(rla_iipp
PRIVATE
$<TARGET_NAME_IF_EXISTS:SDL2::SDL2main>
$<IF:$<TARGET_EXISTS:SDL2::SDL2>,SDL2::SDL2,SDL2::SDL2-static>
)
find_package(SDL2_ttf CONFIG REQUIRED)
target_link_libraries(rla_iipp PRIVATE $<IF:$<TARGET_EXISTS:SDL2_ttf::SDL2_ttf>,SDL2_ttf::SDL2_ttf,SDL2_ttf::SDL2_ttf-static>)
find_package(SDL2_image CONFIG REQUIRED)
target_link_libraries(rla_iipp PRIVATE $<IF:$<TARGET_EXISTS:SDL2_image::SDL2_image>,SDL2_image::SDL2_image,SDL2_image::SDL2_image-static>)
find_package(fmt CONFIG REQUIRED)
target_link_libraries(rla_iipp PRIVATE fmt::fmt)
find_package(tomlplusplus CONFIG REQUIRED)
target_link_libraries(rla_iipp PRIVATE tomlplusplus::tomlplusplus)
find_package(sol2 CONFIG REQUIRED)
target_link_libraries(rla_iipp PRIVATE lua)
target_link_libraries(rla_iipp PRIVATE sol2)
find_package(range-v3 CONFIG REQUIRED)
target_link_libraries(rla_iipp PRIVATE range-v3::meta range-v3::concepts range-v3::range-v3)
#[[target_link_libraries(rla_iipp ${CONAN_LIBS}) # Specifies what libraries to link, using Conan.]]
file(COPY assets DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY config DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY scripts DESTINATION ${CMAKE_BINARY_DIR}/bin)

View File

@@ -1,10 +0,0 @@
[requires]
sdl/2.0.16
sdl_ttf/2.0.15
sdl_image/2.0.5
fmt/8.0.1
tomlplusplus/2.5.0
sol2/3.2.3
range-v3/0.11.0
[generators]
cmake

View File

@@ -9,7 +9,7 @@
#include <chrono>
#include "game/game.hpp"
#include <fmt/format.h>
#include <toml.hpp>
#include <toml++/toml.h>
#include <functional>
#include "rendering/renderer.hpp"
#include "input/inputprocessor.hpp"

37
vcpkg.json Normal file
View File

@@ -0,0 +1,37 @@
{
"name" : "rla-iipp",
"version-string" : "1.0.0",
"builtin-baseline" : "21bbb14c4113b89cd06402e852e075341722304f",
"dependencies" : [ {
"name" : "sdl2",
"version>=" : "2.26.5",
"$comment" : " find_package(SDL2 CONFIG REQUIRED)\n\n target_link_libraries(main\n\n PRIVATE\n\n $<TARGET_NAME_IF_EXISTS:SDL2::SDL2main>\n\n $<IF:$<TARGET_EXISTS:SDL2::SDL2>,SDL2::SDL2,SDL2::SDL2-static>\n\n )\n"
}, {
"name" : "sdl2-ttf",
"version>=" : "2.20.2",
"$comment" : " find_package(SDL2_ttf CONFIG REQUIRED)\n\n target_link_libraries(main PRIVATE $<IF:$<TARGET_EXISTS:SDL2_ttf::SDL2_ttf>,SDL2_ttf::SDL2_ttf,SDL2_ttf::SDL2_ttf-static>)\n"
}, {
"name" : "sdl2-image",
"version>=" : "2.6.3",
"$comment" : " find_package(SDL2_image CONFIG REQUIRED)\n\n target_link_libraries(main PRIVATE $<IF:$<TARGET_EXISTS:SDL2_image::SDL2_image>,SDL2_image::SDL2_image,SDL2_image::SDL2_image-static>)\n"
}, {
"name" : "fmt",
"version>=" : "10.0.0",
"$comment" : " find_package(fmt CONFIG REQUIRED)\n\n target_link_libraries(main PRIVATE fmt::fmt)\n"
}, {
"name" : "tomlplusplus",
"version>=" : "3.1.0",
"$comment" : " # this is heuristically generated, and may not be correct\n\n find_package(tomlplusplus CONFIG REQUIRED)\n\n target_link_libraries(main PRIVATE tomlplusplus::tomlplusplus)\n"
}, {
"name" : "sol2",
"version>=" : "3.3.0",
"$comment" : " # this is heuristically generated, and may not be correct\n\n find_package(sol2 CONFIG REQUIRED)\n\n target_link_libraries(main PRIVATE sol2)\n"
}, {
"name" : "range-v3",
"version>=" : "0.12.0#1",
"$comment" : " # this is heuristically generated, and may not be correct\n\n find_package(range-v3 CONFIG REQUIRED)\n\n target_link_libraries(main PRIVATE range-v3::meta range-v3::concepts range-v3::range-v3)\n"
}, {
"name" : "lua",
"version>=" : "5.4.6"
} ]
}