### Make Libs
-#>gcc c:\simgrid-trunk\examples\msg\icomms\peer.c -static -Lc:\simgrid-trunk\lib -lsimgrid -Ic:\simgrid-trunk\include -lwsock32
add_library(simgrid SHARED ${simgrid_sources})
if(MSVC)
- set_target_properties(simgrid PROPERTIES
- COMPILE_FLAGS "/D_XBT_DLL_EXPORT /DDLL_EXPORT"
+ set_target_properties(simgrid PROPERTIES
+ COMPILE_FLAGS "/DDLL_EXPORT"
VERSION ${libsimgrid_version} )
-# PREFIX "lib" SUFFIX ".dll"
-# IMPORT_PREFIX "lib"
-# IMPORT_SUFFIX ".dll")
-# ${CMAKE_COMMAND} -E make_directory ${CMAKE_HOME_DIRECTORY}/lib/Debug
else()
- set_target_properties(simgrid PROPERTIES
- COMPILE_FLAGS "-D_XBT_DLL_EXPORT -DDLL_EXPORT"
- LINK_FLAGS "-shared"
- VERSION ${libsimgrid_version}
- PREFIX "lib" SUFFIX ".dll"
+ set_target_properties(simgrid PROPERTIES
+ COMPILE_FLAGS "-DDLL_EXPORT"
+ LINK_FLAGS "-shared"
+ VERSION ${libsimgrid_version}
+ PREFIX "lib" SUFFIX ".dll"
IMPORT_PREFIX "lib" IMPORT_SUFFIX ".dll")
- set(SIMGRID_DEP "-lws2_32 -lm")
+ set(SIMGRID_DEP "-lm")
- if (HAVE_PTHREAD)
- set(SIMGRID_DEP "${SIMGRID_DEP} -lpthread")
+ if (HAVE_BOOST_CONTEXTS)
+ target_link_libraries(simgrid ${Boost_CONTEXT_LIBRARY})
endif()
- if(ARCH_32_BITS)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32 -march=i486 -D_I_X86_")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32 -march=i486 -D_I_X86_")
- else()
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64 -D_AMD64_")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64 -D_AMD64_")
- # message(FATAL_ERROR "Sorry, Simgrid fails with full 64bits for now! Please contact us.")
+ if (HAVE_BOOST_STACKTRACE_BACKTRACE)
+ target_link_libraries(simgrid ${Boost_STACKTRACE_BACKTRACE_LIBRARY})
+ endif()
+
+ if (HAVE_BOOST_ADDR2LINE_BACKTRACE)
+ target_link_libraries(simgrid ${Boost_STACKTRACE_ADDR2LINE_LIBRARY})
endif()
endif()
target_link_libraries(simgrid ${SIMGRID_DEP})
-find_path(PEXPORTS_PATH NAMES pexports.exe PATHS NO_DEFAULT_PATHS)
-message(STATUS "pexports: ${PEXPORTS_PATH}")
-if(PEXPORTS_PATH)
- add_custom_command(TARGET simgrid POST_BUILD
- COMMAND ${PEXPORTS_PATH}/pexports.exe ${CMAKE_BINARY_DIR}/lib/libsimgrid.dll > ${CMAKE_BINARY_DIR}/lib/libsimgrid.def)
-endif()
+# The library can obviously use the internal headers
+set_property(TARGET simgrid
+ APPEND PROPERTY INCLUDE_DIRECTORIES "${INTERNAL_INCLUDES}")