X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/01229eb154b0c1264a6406b673e8ed18126da812..5e2ce1830eff0e63727766e31388bcbea6bb6a29:/buildtools/Cmake/MakeLibWin.cmake diff --git a/buildtools/Cmake/MakeLibWin.cmake b/buildtools/Cmake/MakeLibWin.cmake index 733f6ca075..f596b1f901 100644 --- a/buildtools/Cmake/MakeLibWin.cmake +++ b/buildtools/Cmake/MakeLibWin.cmake @@ -1,30 +1,46 @@ -### 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 STATIC ${simgrid_sources}) -add_library(gras STATIC ${gras_sources}) - -if(MSVC) - set_target_properties(gras PROPERTIES COMPILE_FLAGS "/D _XBT_DLL_STATIC" - OUTPUT_NAME "gras") - set_target_properties(simgrid PROPERTIES COMPILE_FLAGS "/D _XBT_DLL_STATIC" - OUTPUT_NAME "simgrid") -else(MSVC) - if(CMAKE_COMPILER_IS_GNUCC) - set_target_properties(gras PROPERTIES COMPILE_FLAGS "-D_XBT_DLL_STATIC" - OUTPUT_NAME "gras") - set_target_properties(simgrid PROPERTIES COMPILE_FLAGS "-D_XBT_DLL_STATIC" - OUTPUT_NAME "simgrid") - else(CMAKE_COMPILER_IS_GNUCC) - message(FATAL_ERROR "Compilateur non connu!!!") - endif(CMAKE_COMPILER_IS_GNUCC) -endif(MSVC) - -set(GRAS_DEP "wsock32") -set(SIMGRID_DEP "wsock32") - -if(HAVE_PCRE_LIB) - SET(SIMGRID_DEP "${SIMGRID_DEP} -lpcre") -endif(HAVE_PCRE_LIB) - -target_link_libraries(simgrid ${SIMGRID_DEP}) -target_link_libraries(gras ${GRAS_DEP}) +### Make Libs +#>gcc c:\simgrid-trunk\examples\msg\icomms\peer.c -static -Lc:\simgrid-trunk\lib -lsimgrid -Ic:\simgrid-trunk\include -lwsock32 + +if(enable_java) + include(${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/MakeJava.cmake) +endif() + +add_library(simgrid SHARED ${simgrid_sources}) + +set_target_properties(simgrid PROPERTIES COMPILE_FLAGS "-D_XBT_DLL_EXPORT -DDLL_EXPORT" LINK_FLAGS "-shared" VERSION ${libsimgrid_version} PREFIX "lib" SUFFIX ".dll" IMPORT_PREFIX "lib" IMPORT_SUFFIX ".dll") + + +# libpthreadGC2.dll +if(ARCH_32_BITS) + find_library(PATH_PTHREAD_LIB + NAMES pthreadGC2.dll + HINTS + $ENV{PATH} + PATH_SUFFIXES bin/ c/bin + ) +else() + find_library(PATH_PTHREAD_LIB + NAMES pthreadGC2-w64.dll + HINTS + $ENV{PATH} + PATH_SUFFIXES bin/ c/bin + ) +endif() + +set(SIMGRID_DEP "-lws2_32 -L${PATH_PTHREAD_LIB} -lm -lpthreadGC2") + +if(ARCH_32_BITS) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32 -march=i486") +else() + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64") + # message(FATAL_ERROR "Sorry, Simgrid fails with full 64bits for now! Please contact us.") +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()