Skip to content

Commit

Permalink
Move to VCPKG.
Browse files Browse the repository at this point in the history
  • Loading branch information
Holt59 committed Jul 12, 2024
1 parent 9d59d54 commit 50b094c
Show file tree
Hide file tree
Showing 12 changed files with 89 additions and 32 deletions.
6 changes: 0 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
# CMake 3.18 due to https://gitlab.kitware.com/cmake/cmake/-/issues/20764
cmake_minimum_required(VERSION 3.18)

if(DEFINED DEPENDENCIES_DIR)
include(${DEPENDENCIES_DIR}/modorganizer_super/cmake_common/mo2.cmake)
else()
include(${CMAKE_CURRENT_LIST_DIR}/../cmake_common/mo2.cmake)
endif()

# set globally as Nuget gets confused about ZERO_CHECK, ALL_BUILD and INSTALL otherwise
set(CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION "v4.8")

Expand Down
49 changes: 49 additions & 0 deletions CMakePresets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"configurePresets": [
{
"errors": {
"deprecated": true
},
"hidden": true,
"name": "cmake-dev",
"warnings": {
"deprecated": true,
"dev": true
}
},
{
"toolchainFile": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
"hidden": true,
"name": "vcpkg"
},
{
"binaryDir": "${sourceDir}/vsbuild",
"architecture": {
"strategy": "set",
"value": "x64"
},
"cacheVariables": {
"CMAKE_VS_NUGET_PACKAGE_RESTORE": {
"type": "BOOL",
"value": "ON"
},
"INSTALL_REQUIRES_VS_PACKAGE_RESTORE": {
"type": "BOOL",
"value": "ON"
}
},
"generator": "Visual Studio 17 2022",
"inherits": ["cmake-dev", "vcpkg"],
"name": "vs2022-windows",
"toolset": "v143"
}
],
"buildPresets": [
{
"name": "vs2022-windows",
"resolvePackageReferences": "on",
"configurePreset": "vs2022-windows"
}
],
"version": 4
}
12 changes: 8 additions & 4 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
cmake_minimum_required(VERSION 3.16)
# 3.23 for CMAKE_VS_NUGET_PACKAGE_RESTORE
cmake_minimum_required(VERSION 3.23)

find_package(mo2-cmake CONFIG REQUIRED)
find_package(mo2-uibase CONFIG REQUIRED)

# Dummy .NET library as VS_PACKAGE_REFERENCES doesn't work on C++/CLI projects yet
# Needs to be declared before cmake_common stuff is included as that polutes the environment and makes C# get compiled as C++
# This only mostly works - you need to build via Visual Studio or run `msbuild -t:restore installer_omod.sln` at least once before this will build via the command line due to https://gitlab.kitware.com/cmake/cmake/-/issues/20646
add_library(dummy_cs_project SHARED DummyCSFile.cs)
set_target_properties(dummy_cs_project PROPERTIES
LINKER_LANGUAGE CSharp
Expand All @@ -11,6 +14,7 @@ set_target_properties(dummy_cs_project PROPERTIES

add_library(installer_omod SHARED)
mo2_configure_plugin(installer_omod WARNINGS OFF CLI ON)
target_link_libraries(installer_omod PRIVATE mo2::uibase)

# I'd like to use get_target_property(source_files ${PROJECT_NAME} SOURCES) as
# globbing is naughty, but need to filter out the things that aren't relative to this directory.
Expand Down Expand Up @@ -46,7 +50,7 @@ target_compile_definitions(installer_omod PRIVATE "NOGDI")
# aren't pulled in. We do need it to build first, though.
add_dependencies(installer_omod dummy_cs_project)

mo2_install_target(installer_omod FOLDER)
mo2_install_plugin(installer_omod FOLDER)

install(
FILES
Expand All @@ -55,7 +59,7 @@ install(
"$<TARGET_FILE_DIR:${PROJECT_NAME}>/ICSharpCode.SharpZipLib.dll"
"$<TARGET_FILE_DIR:${PROJECT_NAME}>/System.Drawing.Common.dll"
"$<TARGET_FILE_DIR:${PROJECT_NAME}>/RtfPipe.dll"
DESTINATION "${MO2_INSTALL_PATH}/bin/plugins/installer_omod/"
DESTINATION bin/plugins/installer_omod/
)
install(
FILES "$<TARGET_PDB_FILE_DIR:${PROJECT_NAME}>/ICSharpCode.SharpZipLib.pdb"
Expand Down
22 changes: 11 additions & 11 deletions src/OMODFrameworkWrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@ using namespace cli;
#include <QTemporaryDir>
#include <QProgressDialog>

#include <imodinterface.h>
#include <imodlist.h>
#include <iplugingame.h>
#include <ipluginlist.h>
#include <igamefeatures.h>
#include <log.h>
#include <utility.h>
#include <registry.h>

#include <dataarchives.h>
#include <gameplugins.h>
#include <uibase/imodinterface.h>
#include <uibase/imodlist.h>
#include <uibase/iplugingame.h>
#include <uibase/ipluginlist.h>
#include <uibase/game_features/igamefeatures.h>
#include <uibase/log.h>
#include <uibase/utility.h>
#include <uibase/registry.h>

#include <uibase/game_features/dataarchives.h>
#include <uibase/game_features/gameplugins.h>

#include "implementations/CodeProgress.h"
#include "implementations/Logger.h"
Expand Down
2 changes: 1 addition & 1 deletion src/OMODFrameworkWrapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#include <QProgressDialog>
#include <QStack>

#include <iplugininstaller.h>
#include <uibase/iplugininstaller.h>

#include "implementations/CodeProgress.h"
#include "QObject_unique_ptr.h"
Expand Down
2 changes: 1 addition & 1 deletion src/implementations/Logger.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

using namespace cli;

#include <log.h>
#include <uibase/log.h>

ref class Logger : OMODFramework::ILogger
{
Expand Down
6 changes: 3 additions & 3 deletions src/implementations/ScriptFunctions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
#include <QMessageBox>
#include <QScreen>

#include <iplugingame.h>
#include <ipluginlist.h>
#include <log.h>
#include <uibase/iplugingame.h>
#include <uibase/ipluginlist.h>
#include <uibase/log.h>

#include "../interop/QtDotNetConverters.h"
#include "../newstuff/rtfPopup.h"
Expand Down
2 changes: 1 addition & 1 deletion src/implementations/ScriptFunctions.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ using namespace cli;

#include <QWidget>

#include <imoinfo.h>
#include <uibase/imoinfo.h>

#include "../MessageBoxHelper.h"
#include "../QObject_unique_ptr.h"
Expand Down
4 changes: 2 additions & 2 deletions src/installerOmod.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
#include <QRegularExpression>
#include <QTemporaryFile>

#include <iplugingame.h>
#include <log.h>
#include <uibase/iplugingame.h>
#include <uibase/log.h>

#include "OMODFrameworkWrapper.h"

Expand Down
4 changes: 2 additions & 2 deletions src/installerOmod.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@

#include <QTemporaryFile>

#include <iplugininstallercustom.h>
#include <ipluginfilemapper.h>
#include <uibase/iplugininstallercustom.h>
#include <uibase/ipluginfilemapper.h>

#include "OMODFrameworkWrapper.h"

Expand Down
2 changes: 1 addition & 1 deletion src/newstuff/namedialog.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#include <QDialog>

#include <guessedvalue.h>
#include <uibase/guessedvalue.h>

#include "ui_namedialog.h"

Expand Down
10 changes: 10 additions & 0 deletions vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"dependencies": ["mo2-cmake"],
"vcpkg-configuration": {
"default-registry": {
"kind": "git",
"repository": "https://github.com/ModOrganizer2/vcpkg-registry",
"baseline": "c55e3ab33eb170aefb1904ded8809cb88df6bb48"
}
}
}

0 comments on commit 50b094c

Please sign in to comment.