Adjust include directory order for some corner cases
authorTeemu Murtola <teemu.murtola@gmail.com>
Tue, 1 Jul 2014 04:17:21 +0000 (07:17 +0300)
committerMagnus Lundborg <magnus.lundborg@scilifelab.se>
Tue, 1 Jul 2014 07:20:30 +0000 (09:20 +0200)
Always add headers found from the source/build tree to the beginning of
the list of include paths, such that they are preferred over those
potentially found in other non-system directories.

Fixes #1539

Change-Id: Id79634073fea5b10f250128db8ab08019a7f9e21

CMakeLists.txt
cmake/gmxManageFFTLibraries.cmake
src/external/gmock-1.7.0/CMakeLists.txt
src/external/tng_io/BuildTNG.cmake
src/gromacs/CMakeLists.txt
src/gromacs/gmxlib/CMakeLists.txt
src/testutils/CMakeLists.txt
src/testutils/TestMacros.cmake

index 583a9a5c7b135eccb3ac9327fd8b9cfeafc324d0..bc4ef86bfd8eec1b20f1f825414a2d2e9a9ee89e 100644 (file)
@@ -583,14 +583,14 @@ endif()
 ########################################################################
 
 add_definitions( -DHAVE_CONFIG_H )
-include_directories(${CMAKE_SOURCE_DIR}/src)
-include_directories(${CMAKE_SOURCE_DIR}/src/external/thread_mpi/include)
+include_directories(BEFORE ${CMAKE_SOURCE_DIR}/src)
+include_directories(BEFORE ${CMAKE_SOURCE_DIR}/src/external/thread_mpi/include)
 # Required for config.h, maybe should only be set in src/CMakeLists.txt
-include_directories(${CMAKE_BINARY_DIR}/src)
+include_directories(BEFORE ${CMAKE_BINARY_DIR}/src)
 # Required for gmx_header_config_gen.h to be found before installation
-include_directories(${CMAKE_BINARY_DIR}/src/gromacs/utility)
+include_directories(BEFORE ${CMAKE_BINARY_DIR}/src/gromacs/utility)
 # Required for now to make old code compile
-include_directories(${CMAKE_SOURCE_DIR}/src/gromacs/legacyheaders)
+include_directories(BEFORE ${CMAKE_SOURCE_DIR}/src/gromacs/legacyheaders)
 
 include(gmxTestInlineASM)
 gmx_test_inline_asm_gcc_x86(GMX_X86_GCC_INLINE_ASM)
@@ -845,7 +845,7 @@ if(GMX_EXTERNAL_BOOST)
     include_directories(${Boost_INCLUDE_DIRS})
     set(PKG_CFLAGS "${PKG_CFLAGS} -I${Boost_INCLUDE_DIRS}")
 else()
-    include_directories(${CMAKE_SOURCE_DIR}/src/external/boost)
+    include_directories(BEFORE ${CMAKE_SOURCE_DIR}/src/external/boost)
     # typeid not supported for minimal internal version
     # (would add significant amount of code)
     add_definitions(-DBOOST_NO_TYPEID)
index 4bbfc2df4e94ce5baf9661ff73fe7d87a5046c1c..104576d4b3a6c3932f1df3e88ee62a6e2eaa33a0 100644 (file)
@@ -77,7 +77,11 @@ if(${GMX_FFT_LIBRARY} STREQUAL "FFTW3")
     endif()
 
     set(PKG_FFT "${${FFTW}_PKG}")
-    include_directories(${${FFTW}_INCLUDE_DIRS})
+    if (GMX_BUILD_OWN_FFTW)
+        include_directories(BEFORE ${${FFTW}_INCLUDE_DIRS})
+    else()
+        include_directories(${${FFTW}_INCLUDE_DIRS})
+    endif()
     set(FFT_LIBRARIES ${${FFTW}_LIBRARIES})
     set(GMX_FFT_FFTW3 1)
 
index ae98ac37edbb1da419fdeae60fc112a6846c73f5..3cb202bfd0ec27f7c3de5b58d0c84a95d330c74d 100644 (file)
@@ -55,10 +55,10 @@ set(GMOCK_SOURCES ${GMOCK_DIR}/src/gmock-all.cc)
 set(GTEST_INCLUDE_DIRS ${GTEST_DIR}/include)
 set(GMOCK_INCLUDE_DIRS ${GMOCK_DIR}/include ${GTEST_INCLUDE_DIRS})
 
-include_directories(${GTEST_INCLUDE_DIRS})
-include_directories(${GTEST_DIR})
-include_directories(${GMOCK_INCLUDE_DIRS})
-include_directories(${GMOCK_DIR})
+include_directories(BEFORE ${GTEST_INCLUDE_DIRS})
+include_directories(BEFORE ${GTEST_DIR})
+include_directories(BEFORE ${GMOCK_INCLUDE_DIRS})
+include_directories(BEFORE ${GMOCK_DIR})
 add_library(gmock STATIC ${GMOCK_SOURCES} ${GTEST_SOURCES})
 set_property(TARGET gmock APPEND PROPERTY COMPILE_DEFINITIONS "${GMOCK_COMPILE_DEFINITIONS}")
 
index f4f2caf1d413fa872dcda7843616366bebb3f36f..6ccc50e78d601dd621fd49d43a22a60c39e40ae9 100644 (file)
@@ -23,8 +23,8 @@ include(CheckIncludeFile)
 check_include_file(inttypes.h TNG_HAVE_INTTYPES_H)
 
 macro(TNG_GET_SOURCE_LIST TNG_SOURCELIST TNG_COMPILEDEFS)
-    include_directories(${TNG_ROOT_SOURCE_DIR}/include)
-    include_directories(${TNG_ROOT_BINARY_DIR}/include)
+    include_directories(BEFORE ${TNG_ROOT_SOURCE_DIR}/include)
+    include_directories(BEFORE ${TNG_ROOT_BINARY_DIR}/include)
     set(_tng_compression_sources bwlzh.c bwt.c coder.c dict.c fixpoint.c huffman.c huffmem.c lz77.c merge_sort.c mtf.c rle.c tng_compress.c vals16.c warnmalloc.c widemuldiv.c xtc2.c xtc3.c)
     set(_tng_io_sources tng_io.c md5.c)
     set(${TNG_SOURCELIST})
index 2045cebcc6f06c8be921c8d9589e6701d6e6f004..25da7de0e4f27c8e133c5e047ebe2ed595db41f1 100644 (file)
@@ -75,7 +75,7 @@ if(GMX_USE_TNG)
     endif()
 else()
     # We still need to get tng/tng_io_fwd.h from somewhere!
-    include_directories(${CMAKE_SOURCE_DIR}/src/external/tng_io/include)
+    include_directories(BEFORE ${CMAKE_SOURCE_DIR}/src/external/tng_io/include)
 endif()
 
 add_subdirectory(gmxlib)
index 204fb6a66adccf61ed32968b86d25dd871b14860..4710367b3543eb3588476efcae41506c923f1587 100644 (file)
@@ -32,7 +32,7 @@
 # To help us fund GROMACS development, we humbly ask that you cite
 # the research papers on the package. Check out http://www.gromacs.org.
 
-include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR})
 
 add_subdirectory(nonbonded)
 
index 6b848613000f2ca6cb379dda20662d8f4ef7b65f..8dd207ad0ea12ed3f663fbd7ebda41d942435602 100644 (file)
@@ -32,7 +32,7 @@
 # To help us fund GROMACS development, we humbly ask that you cite
 # the research papers on the package. Check out http://www.gromacs.org.
 
-include_directories(${GMOCK_INCLUDE_DIRS})
+include_directories(BEFORE ${GMOCK_INCLUDE_DIRS})
 include_directories(${LIBXML2_INCLUDE_DIR})
 file(GLOB TESTUTILS_SOURCES *.cpp)
 
index 1e0b951e21babadac6c99e647161858d1c45925d..3c8425962ee3c106e323875b1968128deffa09c2 100644 (file)
@@ -34,7 +34,7 @@
 
 function (gmx_add_unit_test_object_library NAME)
     if (GMX_BUILD_UNITTESTS AND BUILD_TESTING)
-        include_directories(${GMOCK_INCLUDE_DIRS})
+        include_directories(BEFORE ${GMOCK_INCLUDE_DIRS})
         add_library(${NAME} OBJECT ${ARGN})
         set_property(TARGET ${NAME} APPEND PROPERTY COMPILE_DEFINITIONS "${GMOCK_COMPILE_DEFINITIONS}")
     endif()
@@ -42,7 +42,7 @@ endfunction ()
 
 function (gmx_build_unit_test NAME EXENAME)
     if (GMX_BUILD_UNITTESTS AND BUILD_TESTING)
-        include_directories(${GMOCK_INCLUDE_DIRS})
+        include_directories(BEFORE ${GMOCK_INCLUDE_DIRS})
         add_executable(${EXENAME} ${ARGN} ${TESTUTILS_DIR}/unittest_main.cpp)
         set_property(TARGET ${EXENAME} APPEND PROPERTY COMPILE_DEFINITIONS "${GMOCK_COMPILE_DEFINITIONS}")
         target_link_libraries(${EXENAME} libgromacs ${TESTUTILS_LIBS} ${GMOCK_LIBRARIES} ${GMX_EXE_LINKER_FLAGS})