From 65a7d58e515b00e3a9953f159d8fd68cbd092438 Mon Sep 17 00:00:00 2001 From: Roland Schulz Date: Wed, 25 Jun 2014 23:18:19 -0400 Subject: [PATCH] Fix Visual Studio Project build Fix two issues with project builds (the default cmake Generator on Windows, jenkins uses jom): - build configuration linker flags have to be defined - only c++ flags are used Change-Id: I773f45d0937f6bad9a2008ef1cfcbfc6c58a13a0 --- cmake/gmxBuildTypeReference.cmake | 1 + cmake/gmxBuildTypeReleaseWithAssert.cmake | 1 + cmake/gmxCFlags.cmake | 8 ++++++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/cmake/gmxBuildTypeReference.cmake b/cmake/gmxBuildTypeReference.cmake index 2a6f7fac19..6f068efef8 100644 --- a/cmake/gmxBuildTypeReference.cmake +++ b/cmake/gmxBuildTypeReference.cmake @@ -36,6 +36,7 @@ # reference values in the Gromacs regression tests. set( CMAKE_CXX_FLAGS_REFERENCE "-O0 -g" CACHE STRING "C++ flags for regressiontests reference runs." FORCE) set( CMAKE_C_FLAGS_REFERENCE "-O0 -g" CACHE STRING "C flags for regressiontests reference runs." FORCE) +set( CMAKE_EXE_LINKER_FLAGS_REFERENCE "" CACHE STRING "Linker flags for regressiontests reference runs.") mark_as_advanced( CMAKE_CXX_FLAGS_REFERENCE CMAKE_C_FLAGS_REFERENCE) # turn off all fancy options for the regressiontests reference build diff --git a/cmake/gmxBuildTypeReleaseWithAssert.cmake b/cmake/gmxBuildTypeReleaseWithAssert.cmake index 9aca788720..db66d44051 100644 --- a/cmake/gmxBuildTypeReleaseWithAssert.cmake +++ b/cmake/gmxBuildTypeReleaseWithAssert.cmake @@ -37,5 +37,6 @@ string(REGEX REPLACE "[/-][dD][^/-]*NDEBUG" "" CMAKE_C_FLAGS_RELWITHASSERT_INIT string(REGEX REPLACE "[/-][dD][^/-]*NDEBUG" "" CMAKE_CXX_FLAGS_RELWITHASSERT_INIT "${CMAKE_CXX_FLAGS_RELEASE_INIT}") set( CMAKE_C_FLAGS_RELWITHASSERT "${CMAKE_C_FLAGS_RELWITHASSERT_INIT}" CACHE STRING "C flags for release with assert builds.") set( CMAKE_CXX_FLAGS_RELWITHASSERT "${CMAKE_CXX_FLAGS_RELWITHASSERT_INIT}" CACHE STRING "C++ flags for release with assert builds.") +set( CMAKE_EXE_LINKER_FLAGS_RELWITHASSERT "" CACHE STRING "Linker flags for release with assert builds.") mark_as_advanced( CMAKE_CXX_FLAGS_RELWITHASSERT CMAKE_C_FLAGS_RELWITHASSERT) diff --git a/cmake/gmxCFlags.cmake b/cmake/gmxCFlags.cmake index 2b9b83d7a3..5ed91032c4 100644 --- a/cmake/gmxCFlags.cmake +++ b/cmake/gmxCFlags.cmake @@ -216,8 +216,12 @@ MACRO(gmx_c_flags) # unreferenced local variable (only C) # conversion from 'size_t' to 'int', possible loss of data # conversion from 'const char*' to 'void*', different 'const' qualifiers (only C) - GMX_TEST_CFLAG(CFLAGS_WARN "/wd4800 /wd4355 /wd4996 /wd4305 /wd4244 /wd4101 /wd4267 /wd4090" GMXC_CFLAGS) - GMX_TEST_CXXFLAG(CXXFLAGS_WARN "/wd4800 /wd4355 /wd4996 /wd4305 /wd4244 /wd4267" GMXC_CXXFLAGS) + if(NOT CMAKE_CONFIGURATION_TYPES) + GMX_TEST_CFLAG(CFLAGS_WARN "/wd4800 /wd4355 /wd4996 /wd4305 /wd4244 /wd4101 /wd4267 /wd4090" GMXC_CFLAGS) + GMX_TEST_CXXFLAG(CXXFLAGS_WARN "/wd4800 /wd4355 /wd4996 /wd4305 /wd4244 /wd4267" GMXC_CXXFLAGS) + else() #Projects only use the C++ flags + GMX_TEST_CXXFLAG(CXXFLAGS_WARN "/wd4800 /wd4355 /wd4996 /wd4305 /wd4244 /wd4101 /wd4267 /wd4090" GMXC_CXXFLAGS) + endif() endif() if (CMAKE_C_COMPILER_ID MATCHES "Clang") -- 2.22.0