X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/186bfd0f73865a6da285f990935fb258af80abd1..4724bddcd04a5531a88dd84f798b4c8cc7f1bd00:/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index c03d4e1528..8aeee46f1d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -121,11 +121,6 @@ endif() execute_process(COMMAND ${CMAKE_LINKER} -version OUTPUT_VARIABLE LINKER_VERSION ERROR_VARIABLE LINKER_VERSION) string(REGEX MATCH "[0-9].[0-9]*" LINKER_VERSION "${LINKER_VERSION}") -### Set the library providing dlopen -if("${CMAKE_SYSTEM_NAME}" MATCHES "kFreeBSD|Linux") - find_library(DL_LIBRARY dl) -endif() - ### Find programs and paths FIND_PROGRAM(GCOV_PATH gcov) include(FindPerl) @@ -409,81 +404,7 @@ else() endif() #-------------------------------------------------------------------------------------------------- -### Initialize of CONTEXT THREADS - -set(HAVE_THREAD_CONTEXTS 0) -if(CMAKE_USE_PTHREADS_INIT) - ### Test that we have a way to create semaphores - - set(HAVE_SEM_OPEN 0) - CHECK_LIBRARY_EXISTS(pthread sem_open "" HAVE_SEM_OPEN_LIB) - if(HAVE_SEM_OPEN_LIB) - try_run(semopen_retval semopen_compilable - ${CMAKE_BINARY_DIR} - ${CMAKE_HOME_DIRECTORY}/tools/cmake/test_prog/prog_sem_open.c - LINK_LIBRARIES pthread - COMPILE_OUTPUT_VARIABLE semopen_compilmsg - RUN_OUTPUT_VARIABLE semopen_runmsg) - - if(semopen_compilable) - if(NOT semopen_retval) # error if not 0 - message(STATUS "sem_open is compilable and executable") - set(HAVE_SEM_OPEN 1) - else() - message(STATUS "Warning: sem_open seems compilable but not executable") - message(STATUS "Compilation output: ${semopen_compilmsg}") - message(STATUS "Execution output: ${semopen_runmsg}") - message(STATUS "Exit value: ${semopen_retval}") - endif() - else() - message(STATUS "Warning: sem_open not compilable") - message(STATUS "Compilation output: ${semopen_compilmsg}") - endif() - unset(semopen_compilable) - unset(semopen_retval) - unset(semopen_runmsg) - unset(semopen_compilmsg) - endif() - - set(HAVE_SEM_INIT 0) - if(NOT APPLE) # OS X El Capitan deprecates this function - CHECK_LIBRARY_EXISTS(pthread sem_init "" HAVE_SEM_INIT_LIB) - endif() - if(HAVE_SEM_INIT_LIB) - try_run(seminit_retval seminit_compilable - ${CMAKE_BINARY_DIR} - ${CMAKE_HOME_DIRECTORY}/tools/cmake/test_prog/prog_sem_init.c - LINK_LIBRARIES pthread - COMPILE_OUTPUT_VARIABLE seminit_compilmsg - RUN_OUTPUT_VARIABLE seminit_runmsg) - - if(seminit_compilable) - if(NOT seminit_retval) # error if not 0 - message(STATUS "sem_init is compilable and executable") - set(HAVE_SEM_INIT 1) - else() - message(STATUS "Warning: sem_init seems compilable but not executable") - message(STATUS "Compilation output: ${seminit_compilmsg}") - message(STATUS "Execution output: ${seminit_runmsg}") - message(STATUS "Exit value: ${seminit_retval}") - endif() - else() - message(STATUS "Warning: sem_init not compilable") - message(STATUS "Compilation output: ${seminit_compilmsg}") - endif() - unset(seminit_compilable) - unset(seminit_retval) - unset(seminit_runmsg) - unset(seminit_compilmsg) - endif() - - if(NOT HAVE_SEM_OPEN AND NOT HAVE_SEM_INIT) - message(FATAL_ERROR "Semaphores are not usable (failed to use both sem_open and sem_init), but they are mandatory to threads (you may need to mount /dev).") - endif() - - set(HAVE_THREAD_CONTEXTS 1) - message(STATUS "Support for thread context factory ok.") -endif() +### Check what context backends are available set(HAVE_UCONTEXT_CONTEXTS 0) if(NOT HAVE_UCONTEXT_H) @@ -857,14 +778,18 @@ option(enable_python "Whether the Python bindings are activated." ${pybind11_FOU if(enable_python) if(pybind11_FOUND) - pybind11_add_module(simgrid_python src/bindings/python/simgrid_python.cpp) + pybind11_add_module(python-bindings src/bindings/python/simgrid_python.cpp) set_source_files_properties(src/bindings/python/simgrid_python.cpp PROPERTIES COMPILE_FLAGS -std=c++14) - target_link_libraries(simgrid_python PUBLIC simgrid) - set_target_properties(simgrid_python PROPERTIES LIBRARY_OUTPUT_NAME simgrid) + target_link_libraries(python-bindings PUBLIC simgrid) + set_target_properties(python-bindings PROPERTIES LIBRARY_OUTPUT_NAME simgrid) + set_property(TARGET python-bindings + APPEND PROPERTY INCLUDE_DIRECTORIES "${INTERNAL_INCLUDES}") else() message(FATAL_ERROR "Please install pybind11-dev to build the Python bindings (or disable that option).") endif() endif() +mark_as_advanced(PYBIND11_PYTHON_VERSION) +mark_as_advanced(pybind11_DIR) ### Make tests if(enable_memcheck_xml)