Browse Source

simplified cmake build / added VS2019 dep

c6burns 6 years ago
parent
commit
0cd9266dc1
2 changed files with 19 additions and 13 deletions
  1. 15 7
      CMakeLists.txt
  2. 4 6
      MSBuild/CMake/CMake.Build.targets

+ 15 - 7
CMakeLists.txt

@@ -24,12 +24,8 @@ cmake_minimum_required(VERSION 3.1)
 project(enet LANGUAGES C)
 project(enet LANGUAGES C)
 
 
 set(ENET_DEBUG OFF CACHE BOOL "Do debug things")
 set(ENET_DEBUG OFF CACHE BOOL "Do debug things")
-mark_as_advanced(ENET_DEBUG)
-set(ENET_SHARED ON)
-set(ENET_STATIC OFF)
-set(ENET_LZ4 OFF) # just ... no
 
 
-set(ENET_DEFINES "")
+set(ENET_DEFINES -DENET_NO_PRAGMA_LINK -DENET_DLL)
 set(ENET_DEPS "")
 set(ENET_DEPS "")
 set(ENET_SRCDIR "Source/Native")
 set(ENET_SRCDIR "Source/Native")
 set(ENET_SRCS
 set(ENET_SRCS
@@ -41,8 +37,20 @@ if(ENET_DEBUG)
     list(APPEND ENET_DEFINES -DENET_DEBUG)
     list(APPEND ENET_DEFINES -DENET_DEBUG)
 endif()
 endif()
 
 
-if(WIN32)
-    list(APPEND ENET_DEFINES _CRT_SECURE_NO_WARNINGS)
+if(MSVC)
+	set(CompilerFlags
+        CMAKE_CXX_FLAGS
+        CMAKE_CXX_FLAGS_DEBUG
+        CMAKE_CXX_FLAGS_RELEASE
+        CMAKE_C_FLAGS
+        CMAKE_C_FLAGS_DEBUG
+        CMAKE_C_FLAGS_RELEASE
+    )
+	foreach(CompilerFlag ${CompilerFlags})
+	  string(REPLACE "/MD" "/MT" ${CompilerFlag} "${${CompilerFlag}}")
+	endforeach()
+
+    list(APPEND ENET_DEFINES -D_CRT_SECURE_NO_WARNINGS)
 	list(APPEND ENET_DEPS Ws2_32 Winmm)
 	list(APPEND ENET_DEPS Ws2_32 Winmm)
 endif()
 endif()
 
 

+ 4 - 6
MSBuild/CMake/CMake.Build.targets

@@ -23,11 +23,10 @@ SOFTWARE.
 
 
     <PropertyGroup>
     <PropertyGroup>
         <CMakeProjName>enet</CMakeProjName>
         <CMakeProjName>enet</CMakeProjName>
-        <CMakeSourceDir>$(SlnDir)Source\Native</CMakeSourceDir>
+        <CMakeSourceDir>$(SlnDir)</CMakeSourceDir>
         <CMakeBinaryDir>$(SlnDir)build_cmake_enet</CMakeBinaryDir>
         <CMakeBinaryDir>$(SlnDir)build_cmake_enet</CMakeBinaryDir>
         <CMakeBuildType Condition="'$(CMakeBuildType)' == ''">Debug</CMakeBuildType>
         <CMakeBuildType Condition="'$(CMakeBuildType)' == ''">Debug</CMakeBuildType>
         <CMakeBuildType Condition="'$(Configuration)' == 'Release'">Release</CMakeBuildType>
         <CMakeBuildType Condition="'$(Configuration)' == 'Release'">Release</CMakeBuildType>
-        <CMakeOpts>$(CMakeOpts) -DENET_SHARED=ON</CMakeOpts>
         <CMakeOpts Condition="'$(CMakeBuildType)' == 'Debug'">$(CMakeOpts) -DENET_DEBUG=ON</CMakeOpts>
         <CMakeOpts Condition="'$(CMakeBuildType)' == 'Debug'">$(CMakeOpts) -DENET_DEBUG=ON</CMakeOpts>
         <CMakeGenerator></CMakeGenerator>
         <CMakeGenerator></CMakeGenerator>
         <CMakeConfigBuildType></CMakeConfigBuildType>
         <CMakeConfigBuildType></CMakeConfigBuildType>
@@ -35,11 +34,10 @@ SOFTWARE.
 
 
     <PropertyGroup Condition="'$(OSPlatformWindows)' == 'true'">
     <PropertyGroup Condition="'$(OSPlatformWindows)' == 'true'">
         <CMakeVSArch></CMakeVSArch>
         <CMakeVSArch></CMakeVSArch>
-        <CMakeVSArch Condition="'$(Platform)' == 'x64'">Win64</CMakeVSArch>
-		<CMakeVSArch Condition="'$(Platform)' == 'AnyCPU'">Win64</CMakeVSArch>
+        <CMakeVSArch Condition="'$(Platform)' == 'x86'">-A Win32</CMakeVSArch>
         <CMakeVSToolset></CMakeVSToolset>
         <CMakeVSToolset></CMakeVSToolset>
-        <!--<CMakeVSToolset>-T v141</CMakeVSToolset>-->
-        <CMakeGenerator>-G"Visual Studio 15 2017 $(CMakeVSArch)" $(CMakeVSToolset)</CMakeGenerator>
+        <CMakeVSToolset Condition="'$(BuildingInsideVisualStudio)' != 'true'">-T v141</CMakeVSToolset>
+        <CMakeGenerator>-G"Visual Studio 16 2019" $(CMakeVSArch) $(CMakeVSToolset)</CMakeGenerator>
     </PropertyGroup>
     </PropertyGroup>
     <PropertyGroup Condition="'$(OSPlatformWindows)' != 'true'">
     <PropertyGroup Condition="'$(OSPlatformWindows)' != 'true'">
         <CMakeConfigBuildType>-DCMAKE_BUILD_TYPE=$(CMakeBuildType)</CMakeConfigBuildType>
         <CMakeConfigBuildType>-DCMAKE_BUILD_TYPE=$(CMakeBuildType)</CMakeConfigBuildType>