X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/adf98c6a0e238415244f5abad4a16710baa44a13..HEAD:/tools/cmake/MakeLib.cmake diff --git a/tools/cmake/MakeLib.cmake b/tools/cmake/MakeLib.cmake index debbe95c7b..79f4e27205 100644 --- a/tools/cmake/MakeLib.cmake +++ b/tools/cmake/MakeLib.cmake @@ -2,6 +2,7 @@ # On macOS, specify that rpath is useful to look for the dependencies # See https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/RPATH-handling and Java.cmake +# TODO: is it still useful now that Java is gone? For Python maybe? set(CMAKE_MACOSX_RPATH TRUE) if(APPLE) SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) # When installed, use system path @@ -26,19 +27,31 @@ set_property(TARGET simgrid add_dependencies(simgrid maintainer_files) -if(enable_model-checking) +if("${CMAKE_SYSTEM}" MATCHES "Linux") + add_library(sthread SHARED ${STHREAD_SRC}) + set_target_properties(sthread PROPERTIES VERSION ${libsimgrid_version}) + set_property(TARGET sthread + APPEND PROPERTY INCLUDE_DIRECTORIES "${INTERNAL_INCLUDES}") + target_link_libraries(sthread simgrid) +else() + set(EXTRA_DIST ${EXTRA_DIST} ${STHREAD_SRC}) +endif() + +if(SIMGRID_HAVE_MC) add_executable(simgrid-mc ${MC_SIMGRID_MC_SRC}) target_link_libraries(simgrid-mc simgrid) set_target_properties(simgrid-mc PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") set_property(TARGET simgrid-mc - APPEND PROPERTY INCLUDE_DIRECTORIES "${INTERNAL_INCLUDES}") + APPEND PROPERTY INCLUDE_DIRECTORIES "${INTERNAL_INCLUDES}") install(TARGETS simgrid-mc # install that binary without breaking the rpath on Mac RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}/) - add_dependencies(tests simgrid-mc) + add_dependencies(tests-mc simgrid-mc) + if("${CMAKE_SYSTEM}" MATCHES "Linux") + add_dependencies(tests-mc sthread) + endif() endif() - # Compute the dependencies of SimGrid ##################################### # search for dlopen @@ -63,13 +76,6 @@ if(CMAKE_USE_PTHREADS_INIT) target_link_libraries(simgrid ${CMAKE_THREAD_LIBS_INIT}) endif() -if(SIMGRID_HAVE_LUA) - ADD_CUSTOM_TARGET(link_simgrid_lua ALL - DEPENDS simgrid - ) - SET(SIMGRID_DEP "${SIMGRID_DEP} ${LUA_LIBRARY} ${DL_LIBRARY}") -endif() - if(HAVE_PAPI) SET(SIMGRID_DEP "${SIMGRID_DEP} -lpapi") endif() @@ -84,7 +90,11 @@ if(HAVE_GRAPHVIZ) endif() endif() -if(SIMGRID_HAVE_MC AND NOT ${DL_LIBRARY} STREQUAL "") +if(SIMGRID_HAVE_JSON) + target_link_libraries(simgrid nlohmann_json::nlohmann_json) +endif() + +if(NOT ${DL_LIBRARY} STREQUAL "") SET(SIMGRID_DEP "${SIMGRID_DEP} ${DL_LIBRARY}") endif() @@ -100,10 +110,6 @@ endif() ################################## if(enable_smpi) - if(NOT ${DL_LIBRARY} STREQUAL "") - set(SIMGRID_DEP "${SIMGRID_DEP} ${DL_LIBRARY}") # for privatization - endif() - add_executable(smpimain src/smpi/smpi_main.c) target_link_libraries(smpimain simgrid) set_target_properties(smpimain @@ -133,7 +139,7 @@ if(enable_smpi) if ("${CMAKE_SYSTEM_VERSION}" STRGREATER_EQUAL "12") set(SIMGRID_DEP "${SIMGRID_DEP} -lpgmath") endif() - if ("${CMAKE_SYSTEM_VERSION}" MATCHES "12\.1") + if ("${CMAKE_SYSTEM_VERSION}" MATCHES "12\\.1") set(SIMGRID_DEP "${SIMGRID_DEP} -lomp") endif() endif() @@ -167,10 +173,6 @@ if(CMAKE_COMPILER_IS_GNUCC AND GCCLIBATOMIC_LIBRARY) endif() mark_as_advanced(GCCLIBATOMIC_LIBRARY) -if(enable_model-checking AND (NOT LINKER_VERSION VERSION_LESS "2.30")) - set(SIMGRID_DEP "${SIMGRID_DEP} -Wl,-znorelro -Wl,-znoseparate-code") -endif() - target_link_libraries(simgrid ${SIMGRID_DEP}) # Dependencies from maintainer mode @@ -178,9 +180,3 @@ target_link_libraries(simgrid ${SIMGRID_DEP}) if(enable_maintainer_mode) add_dependencies(simgrid smpi_generated_headers_call_location_tracing) endif() -if(enable_maintainer_mode AND PYTHON_EXE) - add_dependencies(simgrid simcalls_generated_src) -endif() -if(enable_maintainer_mode AND BISON_EXE AND LEX_EXE) - add_dependencies(simgrid automaton_generated_src) -endif()