Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : new tesh example for liveness model checking with visited state reduction
[simgrid.git] / buildtools / Cmake / MakeLibWin.cmake
1 ### Make Libs
2 #>gcc c:\simgrid-trunk\examples\msg\icomms\peer.c -static -Lc:\simgrid-trunk\lib -lsimgrid -Ic:\simgrid-trunk\include -lwsock32
3
4
5 add_library(simgrid SHARED ${simgrid_sources})
6
7 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")
8
9
10 # libpthreadGC2.dll
11 if(ARCH_32_BITS)
12   find_library(PATH_PTHREAD_LIB
13     NAMES pthreadGC2.dll
14     HINTS
15     $ENV{PATH}
16     PATH_SUFFIXES bin/ c/bin
17     )
18 else()
19   find_library(PATH_PTHREAD_LIB
20     NAMES pthreadGC2-w64.dll
21     HINTS
22     $ENV{PATH}
23     PATH_SUFFIXES bin/ c/bin
24     )
25 endif()
26
27 set(SIMGRID_DEP "-lws2_32 -L${PATH_PTHREAD_LIB} -lm -lpthreadGC2")
28
29 if(ARCH_32_BITS)
30   set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32 -march=i486")
31 else()
32   set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64")
33   #        message(FATAL_ERROR "Sorry, Simgrid fails with full 64bits for now! Please contact us.")
34 endif()
35
36 target_link_libraries(simgrid   ${SIMGRID_DEP})
37
38 find_path(PEXPORTS_PATH NAMES pexports.exe PATHS NO_DEFAULT_PATHS)
39 message(STATUS "pexports: ${PEXPORTS_PATH}")
40 if(PEXPORTS_PATH)
41   add_custom_command(TARGET simgrid POST_BUILD
42     COMMAND ${PEXPORTS_PATH}/pexports.exe ${CMAKE_BINARY_DIR}/lib/libsimgrid.dll > ${CMAKE_BINARY_DIR}/lib/libsimgrid.def)
43 endif()