X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2a8f06bcb45d972f49b0661754fac0d51772f02f..e19d44d4735c16f7fd1d3da1a143388faae13edd:/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index e22357c33f..f12df62b42 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -90,7 +90,7 @@ if ((NOT DEFINED enable_smpi) OR enable_smpi) elseif(CMAKE_Fortran_COMPILER_ID MATCHES "Intel") set(SMPI_Fortran_FLAGS "\"-fPIC\" \"-nofor-main\"") set(SMPI_Fortran_LIBS "\"-lifcore\"") - elseif(CMAKE_Fortran_COMPILER_ID MATCHES "PGI") # flang + elseif(CMAKE_Fortran_COMPILER_ID MATCHES "PGI|Flang") # flang set(SMPI_Fortran_FLAGS "\"-fPIC\"") set(SMPI_Fortran_LIBS "") endif() @@ -106,10 +106,10 @@ endif() set(SIMGRID_VERSION_MAJOR "3") set(SIMGRID_VERSION_MINOR "19") -set(SIMGRID_VERSION_PATCH "0") +set(SIMGRID_VERSION_PATCH "90") set(SIMGRID_VERSION_EXTRA "-DEVEL") # Extra words to add to version string (e.g. -rc1) -set(SIMGRID_VERSION_DATE "2017") # Year for copyright information +set(SIMGRID_VERSION_DATE "2018") # Year for copyright information if(${SIMGRID_VERSION_PATCH} EQUAL "0") set(release_version "${SIMGRID_VERSION_MAJOR}.${SIMGRID_VERSION_MINOR}") @@ -159,20 +159,26 @@ endif() SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib) ### Compute the include paths -set(INCLUDES + +# Only include public headers by default +include_directories( + ${CMAKE_BINARY_DIR}/include + ${CMAKE_HOME_DIRECTORY}/include +) + +# Compute the ones that should be added when compiling the library +set(INTERNAL_INCLUDES ${CMAKE_BINARY_DIR} - ${CMAKE_BINARY_DIR}/include ${CMAKE_HOME_DIRECTORY} - ${CMAKE_HOME_DIRECTORY}/include ${CMAKE_HOME_DIRECTORY}/src/include ) if(enable_smpi) - set (INCLUDES ${INCLUDES} ${CMAKE_HOME_DIRECTORY}/src/smpi/include) + set (INTERNAL_INCLUDES ${INTERNAL_INCLUDES} ${CMAKE_HOME_DIRECTORY}/src/smpi/include) endif() if(NOT CMAKE_CROSSCOMPILING AND EXISTS /usr/include/) - set(INCLUDES ${INCLUDES} /usr/include/) + set(INTERNAL_INCLUDES ${INTERNAL_INCLUDES} /usr/include/) endif() if(WIN32) @@ -180,12 +186,10 @@ if(WIN32) set(CMAKE_LIB_WIN "${CMAKE_C_COMPILER}") string(REGEX REPLACE "/bin/gcc.*" "/include" CMAKE_INCLUDE_WIN "${CMAKE_INCLUDE_WIN}") string(REGEX REPLACE "/bin/gcc.*" "/lib" CMAKE_LIB_WIN "${CMAKE_LIB_WIN}") - set(INCLUDES ${INCLUDES} ${CMAKE_INCLUDE_WIN}) + set(INTERNAL_INCLUDES ${INTERNAL_INCLUDES} ${CMAKE_INCLUDE_WIN}) unset(CMAKE_INCLUDE_WIN) endif() -include_directories(${INCLUDES}) - # library dependency cannot start with a space (CMP0004), so initialize it with something that is never desactivated. set(SIMGRID_DEP "-lm") @@ -234,6 +238,9 @@ if(enable_ns3) include(FindNS3) if (SIMGRID_HAVE_NS3) set(SIMGRID_HAVE_NS3 1) + foreach(lib core csma point-to-point internet network applications) + set(SIMGRID_DEP "${SIMGRID_DEP} -lns${NS3_VERSION}-${lib}${NS3_SUFFIX}") + endforeach() else() message(FATAL_ERROR "Cannot find NS3. Please install it (apt-get install ns3 libns3-dev) or disable that cmake option") endif() @@ -378,17 +385,8 @@ else() endif() include(FindLibunwind) -if(LIBUNWIND_FOUND) - if(NOT APPLE) - foreach(lib ${LIBUNWIND_LIBRARIES}) - SET(SIMGRID_DEP "${SIMGRID_DEP} ${lib}") - endforeach() - unset(lib) - else() - # Apple forbids to link directly against its libunwind implementation - # So let's comply and link against the System framework - SET(SIMGRID_DEP "${SIMGRID_DEP} -lSystem") - endif() +if(HAVE_LIBUNWIND) + SET(SIMGRID_DEP "${SIMGRID_DEP} ${LIBUNWIND_LIBRARIES}") else() if(enable_model-checking) message(FATAL_ERROR "Please install libunwind-dev libdw-dev libelf-dev libevent-dev if you want to compile the SimGrid model checker.") @@ -410,6 +408,8 @@ else() SET(SIMGRID_HAVE_MC 0) set(HAVE_MMALLOC 0) endif() +mark_as_advanced(PATH_LIBDW_H) +mark_as_advanced(PATH_LIBDW_LIB) if (enable_model-checking AND enable_ns3) message(FATAL_ERROR "Cannot activate both model-checking and NS3 bindings: NS3 pull too much dependencies for the MC to work")