Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Typo.
[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 add_library(simgrid SHARED ${simgrid_sources})
4
5 set_target_properties(simgrid  PROPERTIES COMPILE_FLAGS "-D_XBT_DLL_EXPORT -DDLL_EXPORT" VERSION ${libsimgrid_version} OUTPUT_NAME "simgrid")
6
7 if(enable_smpi)
8   add_library(smpi SHARED ${SMPI_SRC})
9   set_target_properties(smpi PROPERTIES COMPILE_FLAGS "-D_XBT_DLL_EXPORT -DDLL_EXPORT" VERSION ${libsmpi_version} OUTPUT_NAME "smpi")
10 endif()
11
12 # libpthreadGC2.dll
13 if(ARCH_32_BITS)
14   find_library(PATH_PTHREAD_LIB
15     NAMES pthreadGC2.dll
16     HINTS
17     $ENV{PATH}
18     PATH_SUFFIXES bin/ c/bin
19     )
20 else()
21   find_library(PATH_PTHREAD_LIB
22     NAMES pthreadGC2-w64.dll
23     HINTS
24     $ENV{PATH}
25     PATH_SUFFIXES bin/ c/bin
26     )
27 endif()
28
29 set(SIMGRID_DEP "ws2_32 ${PATH_PCRE_LIB} ${PATH_PTHREAD_LIB}")
30 set(SMPI_DEP "${LIBRARY_OUTPUT_PATH}/libsimgrid.dll")
31
32 if(ARCH_32_BITS)
33   set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32 -march=i486")
34 else()
35   set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64")
36   #        message(FATAL_ERROR "Sorry, Simgrid fails with full 64bits for now! Please contact us.")
37 endif()
38
39 target_link_libraries(simgrid   ${SIMGRID_DEP})
40 if(enable_smpi)
41 add_dependencies(smpi simgrid)
42 target_link_libraries(smpi      ${SMPI_DEP})
43 endif()
44
45 find_path(PEXPORTS_PATH NAMES pexports.exe PATHS NO_DEFAULT_PATHS)
46 message(STATUS "pexports: ${PEXPORTS_PATH}")
47 if(PEXPORTS_PATH)
48   add_custom_command(TARGET simgrid POST_BUILD
49     COMMAND ${PEXPORTS_PATH}/pexports.exe ${CMAKE_BINARY_DIR}/lib/libsimgrid.dll > ${CMAKE_BINARY_DIR}/lib/libsimgrid.def)
50 endif()
51
52 if(enable_smpi)
53   add_library(smpi SHARED ${SMPI_SRC})
54   set_target_properties(smpi PROPERTIES VERSION ${libsmpi_version} OUTPUT_NAME "smpi")
55
56   set(SMPI_LDEP "")
57   target_link_libraries(smpi    simgrid ${SMPI_LDEP})
58 endif()