Fix Visual Studio Project build
authorRoland Schulz <roland@utk.edu>
Thu, 26 Jun 2014 03:18:19 +0000 (23:18 -0400)
committerRoland Schulz <roland@rschulz.eu>
Thu, 26 Jun 2014 22:13:46 +0000 (00:13 +0200)
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
cmake/gmxBuildTypeReleaseWithAssert.cmake
cmake/gmxCFlags.cmake

index 2a6f7fac19217e937b6bff74b19044ab2287dc51..6f068efef813b42613cf6c19245930f213387e88 100644 (file)
@@ -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
index 9aca788720051ad810390962714b11a9a63cde8c..db66d44051b063f1c071a0e29081f2addfe28368 100644 (file)
@@ -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)
 
index 2b9b83d7a38df360459aacafe0cbc19c1a51e20b..5ed91032c47308aad74f812ab02e1008015be24c 100644 (file)
@@ -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")