mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	Merge pull request #4470 from ethereum/vs2017-build-fix-ideal
Visual Studio 2017 build-time (linking) fix and improvements
This commit is contained in:
		
						commit
						49cc1b8554
					
				
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -35,6 +35,7 @@ build/ | |||||||
| docs/_build | docs/_build | ||||||
| docs/utils/__pycache__ | docs/utils/__pycache__ | ||||||
| docs/utils/*.pyc | docs/utils/*.pyc | ||||||
|  | /deps/downloads/ | ||||||
| 
 | 
 | ||||||
| # vim stuff | # vim stuff | ||||||
| *.swp | *.swp | ||||||
| @ -43,3 +44,5 @@ docs/utils/*.pyc | |||||||
| .idea | .idea | ||||||
| browse.VC.db | browse.VC.db | ||||||
| CMakeLists.txt.user | CMakeLists.txt.user | ||||||
|  | /CMakeSettings.json | ||||||
|  | /.vs | ||||||
|  | |||||||
| @ -132,17 +132,6 @@ elseif (DEFINED MSVC) | |||||||
| 	add_compile_options(-D_WIN32_WINNT=0x0600)		# declare Windows Vista API requirement | 	add_compile_options(-D_WIN32_WINNT=0x0600)		# declare Windows Vista API requirement | ||||||
| 	add_compile_options(-DNOMINMAX)					# undefine windows.h MAX && MIN macros cause it cause conflicts with std::min && std::max functions | 	add_compile_options(-DNOMINMAX)					# undefine windows.h MAX && MIN macros cause it cause conflicts with std::min && std::max functions | ||||||
| 
 | 
 | ||||||
| 	# Always use Release variant of C++ runtime. |  | ||||||
| 	# We don't want to provide Debug variants of all dependencies. Some default |  | ||||||
| 	# flags set by CMake must be tweaked. |  | ||||||
| 	string(REPLACE "/MDd" "/MD" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") |  | ||||||
| 	string(REPLACE "/D_DEBUG" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") |  | ||||||
| 	string(REPLACE "/RTC1" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") |  | ||||||
| 	string(REPLACE "/MDd" "/MD" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") |  | ||||||
| 	string(REPLACE "/D_DEBUG" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") |  | ||||||
| 	string(REPLACE "/RTC1" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") |  | ||||||
| 	set_property(GLOBAL PROPERTY DEBUG_CONFIGURATIONS OFF) |  | ||||||
| 
 |  | ||||||
| 	# disable empty object file warning | 	# disable empty object file warning | ||||||
| 	set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /ignore:4221") | 	set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /ignore:4221") | ||||||
| 	# warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification | 	# warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification | ||||||
|  | |||||||
| @ -35,9 +35,7 @@ ExternalProject_Add(jsoncpp-project | |||||||
|                -DJSONCPP_WITH_TESTS=OFF |                -DJSONCPP_WITH_TESTS=OFF | ||||||
|                -DJSONCPP_WITH_PKGCONFIG_SUPPORT=OFF |                -DJSONCPP_WITH_PKGCONFIG_SUPPORT=OFF | ||||||
|                -DCMAKE_CXX_FLAGS=${JSONCPP_EXTRA_FLAGS} |                -DCMAKE_CXX_FLAGS=${JSONCPP_EXTRA_FLAGS} | ||||||
|     # Overwrite build and install commands to force Release build on MSVC. |                -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} | ||||||
|     BUILD_COMMAND cmake --build <BINARY_DIR> --config Release |  | ||||||
|     INSTALL_COMMAND cmake --build <BINARY_DIR> --config Release --target install |  | ||||||
|     ${byproducts} |     ${byproducts} | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user