Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Replace usleep for nanosleep
[simgrid.git] / buildtools / Cmake / MakeLibWin.cmake
1 ### Make Libs\r
2 #>gcc c:\simgrid-trunk\examples\msg\icomms\peer.c -static -Lc:\simgrid-trunk\lib -lsimgrid -Ic:\simgrid-trunk\include -lwsock32 \r
3 add_library(simgrid SHARED ${simgrid_sources})\r
4 add_library(gras SHARED ${gras_sources})\r
5 \r
6 set_target_properties(gras     PROPERTIES COMPILE_FLAGS "-D_XBT_DLL_EXPORT -DDLL_EXPORT" VERSION ${libgras_version}    OUTPUT_NAME "gras")\r
7 set_target_properties(simgrid  PROPERTIES COMPILE_FLAGS "-D_XBT_DLL_EXPORT -DDLL_EXPORT" VERSION ${libsimgrid_version} OUTPUT_NAME "simgrid")\r
8 \r
9 # libpthreadGC2.dll\r
10 if(ARCH_32_BITS)\r
11     find_library(PATH_PTHREAD_LIB \r
12         NAMES pthreadGC2.dll\r
13         HINTS\r
14         $ENV{PATH}\r
15         PATH_SUFFIXES bin/ c/bin\r
16         )\r
17 else(ARCH_32_BITS)\r
18     find_library(PATH_PTHREAD_LIB \r
19         NAMES pthreadGC2-w64.dll\r
20         HINTS\r
21         $ENV{PATH}\r
22         PATH_SUFFIXES bin/ c/bin\r
23         )\r
24 endif(ARCH_32_BITS)\r
25 \r
26 set(GRAS_DEP "ws2_32 ${PATH_PTHREAD_LIB}")\r
27 set(SIMGRID_DEP "ws2_32 ${PATH_PCRE_LIB} ${PATH_PTHREAD_LIB}")\r
28 \r
29 if(ARCH_32_BITS)\r
30     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32 -march=i486")\r
31 else(ARCH_32_BITS)\r
32     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64")\r
33 #        message(FATAL_ERROR "Sorry, Simgrid fails with full 64bits for now! Please contact us.")
34 endif(ARCH_32_BITS)\r
35 \r
36 target_link_libraries(gras      ${GRAS_DEP})\r
37 target_link_libraries(simgrid   ${SIMGRID_DEP})\r
38 \r
39 find_path(PEXPORTS_PATH NAMES pexports.exe PATHS NO_DEFAULT_PATHS)\r
40 message(STATUS "pexports: ${PEXPORTS_PATH}")\r
41 if(PEXPORTS_PATH)\r
42 add_custom_command(TARGET simgrid POST_BUILD\r
43 COMMAND ${PEXPORTS_PATH}/pexports.exe ${CMAKE_BINARY_DIR}/lib/libsimgrid.dll > ${CMAKE_BINARY_DIR}/lib/libsimgrid.def)\r
44 endif(PEXPORTS_PATH)