replace msvc project with cmake

Signed-off-by: Lev Stipakov <lev@openvpn.net>
pull/423/head
Lev Stipakov 2021-05-13 14:54:09 +03:00 committed by Selva Nair
parent af72adf2ee
commit 4a483b029b
4 changed files with 56 additions and 355 deletions

56
CMakeLists.txt Normal file
View File

@ -0,0 +1,56 @@
cmake_minimum_required(VERSION 3.10)
set(VCPKG_FEATURE_FLAGS manifests)
project(openvpn-gui C)
add_executable(${PROJECT_NAME} WIN32
access.c
echo.c
env_set.c
localization.c
main.c
manage.c
misc.c
openvpn.c
openvpn_config.c
options.c
passphrase.c
proxy.c
registry.c
save_pass.c
scripts.c
service.c
tray.c
viewlog.c
res/openvpn-gui-res.rc)
configure_file(config-msvc.h config.h COPYONLY)
find_package(OpenSSL REQUIRED)
target_link_libraries(${PROJECT_NAME} OpenSSL::SSL
Wtsapi32.lib
Netapi32.lib
ws2_32.lib
Winhttp.lib
Secur32.lib
Comctl32.lib
Crypt32.lib
Shlwapi.lib
Advapi32.lib
Shell32.lib
Gdi32.lib
Comdlg32.lib
Ole32.lib)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO")
set(CMAKE_RC_FLAGS "/D \"HAVE_CONFIG_H\" /D \"_MSC_VER\"")
target_compile_definitions(${PROJECT_NAME} PRIVATE
_UNICODE
UNICODE
WIN32_LEAN_AND_MEAN
HAVE_CONFIG_H
_CRT_NON_CONFORMING_WCSTOK)

View File

@ -1,25 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29503.13
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openvpn-gui", "openvpn-gui.vcxproj", "{028B1211-5625-48F7-B2D7-98C2F1994A70}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{028B1211-5625-48F7-B2D7-98C2F1994A70}.Debug|x64.ActiveCfg = Debug|x64
{028B1211-5625-48F7-B2D7-98C2F1994A70}.Debug|x64.Build.0 = Debug|x64
{028B1211-5625-48F7-B2D7-98C2F1994A70}.Debug|x86.ActiveCfg = Debug|x64
{028B1211-5625-48F7-B2D7-98C2F1994A70}.Debug|x86.Build.0 = Debug|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {677FA70E-DBAF-45FD-B11B-4603B40AFCBE}
EndGlobalSection
EndGlobal

View File

@ -1,187 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<ProjectGuid>{028B1211-5625-48F7-B2D7-98C2F1994A70}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
</ClCompile>
<Link>
<TargetMachine>MachineX86</TargetMachine>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<TargetMachine>MachineX86</TargetMachine>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;UNICODE;_UNICODE;_INC_MATH;_CRT_NON_CONFORMING_WCSTOK;HAVE_CONFIG_H</PreprocessorDefinitions>
<UndefinePreprocessorDefinitions>
</UndefinePreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>$(SolutionDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<SuppressStartupBanner>false</SuppressStartupBanner>
<ResourceOutputFileName>openvpn-gui-res.rc</ResourceOutputFileName>
<PreprocessorDefinitions>HAVE_CONFIG_H;_MSC_VER</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<AdditionalDependencies>Netapi32.lib;Wtsapi32.lib;Comctl32.lib;Secur32.lib;Ws2_32.lib;Crypt32.lib;Shlwapi.lib;Winhttp.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PreBuildEvent>
<Command>copy config-msvc.h config.h</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<PreBuildEvent>
<Command>copy config-msvc.h config.h</Command>
</PreBuildEvent>
<ClCompile>
<AdditionalIncludeDirectories>$(SolutionDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_INC_MATH;WIN32_LEAN_AND_MEAN;UNICODE;_UNICODE;_CRT_NON_CONFORMING_WCSTOK;HAVE_CONFIG_H</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>Netapi32.lib;Wtsapi32.lib;Comctl32.lib;Secur32.lib;Ws2_32.lib;Crypt32.lib;Shlwapi.lib;Winhttp.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="access.c" />
<ClCompile Include="echo.c" />
<ClCompile Include="env_set.c" />
<ClCompile Include="localization.c" />
<ClCompile Include="main.c" />
<ClCompile Include="manage.c" />
<ClCompile Include="misc.c" />
<ClCompile Include="openvpn.c" />
<ClCompile Include="openvpn_config.c" />
<ClCompile Include="options.c" />
<ClCompile Include="passphrase.c" />
<ClCompile Include="proxy.c" />
<ClCompile Include="registry.c" />
<ClCompile Include="save_pass.c" />
<ClCompile Include="scripts.c" />
<ClCompile Include="service.c" />
<ClCompile Include="tray.c" />
<ClCompile Include="viewlog.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="access.h" />
<ClInclude Include="chartable.h" />
<ClInclude Include="config-msvc.h" />
<ClInclude Include="echo.h" />
<ClInclude Include="env_set.h" />
<ClInclude Include="localization.h" />
<ClInclude Include="main.h" />
<ClInclude Include="manage.h" />
<ClInclude Include="misc.h" />
<ClInclude Include="openvpn-gui-res.h" />
<ClInclude Include="openvpn.h" />
<ClInclude Include="openvpn_config.h" />
<ClInclude Include="options.h" />
<ClInclude Include="passphrase.h" />
<ClInclude Include="proxy.h" />
<ClInclude Include="registry.h" />
<ClInclude Include="save_pass.h" />
<ClInclude Include="scripts.h" />
<ClInclude Include="service.h" />
<ClInclude Include="tray.h" />
<ClInclude Include="viewlog.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="res\openvpn-gui-res.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,143 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="access.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="echo.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="env_set.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="localization.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="main.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="manage.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="misc.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="openvpn.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="openvpn_config.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="options.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="passphrase.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="proxy.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="registry.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="save_pass.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="scripts.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="service.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="tray.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="viewlog.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="access.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="chartable.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="echo.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="env_set.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="localization.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="main.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="manage.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="openvpn-gui-res.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="openvpn.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="openvpn_config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="options.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="passphrase.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="proxy.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="registry.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="save_pass.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="scripts.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="service.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="tray.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="viewlog.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="config-msvc.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="res\openvpn-gui-res.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>