2 # Note that not all .c files are compiled directly: some of them
3 # are #included (some multiple times) from other source files.
4 set(THREAD_MPI_LIB_SOURCE
5 alltoall.c hwinfo.c reduce.c
6 barrier.c list.c reduce_fast.c
7 bcast.c lock.c scatter.c
8 collective.c once.c tmpi_init.c
9 comm.c p2p_protocol.c topology.c
10 errhandler.c p2p_send_recv.c type.c
17 set(THREAD_MPI_LIB_SOURCE pthreads.c ${THREAD_MPI_LIB_SOURCE})
18 else (THREAD_PTHREADS)
20 set(THREAD_MPI_LIB_SOURCE winthreads.c ${THREAD_MPI_LIB_SOURCE})
21 endif (THREAD_WINDOWS)
22 endif(THREAD_PTHREADS)
25 add_library(thread_mpi STATIC ${THREAD_MPI_LIB_SOURCE})
27 # make it link to the threads library (-lpthreads, for example)
28 target_link_libraries(thread_mpi ${THREAD_LIB})
31 #configure_file(tmpi_config.h.cmakein tmpi_config.h)
32 #add_definitions(-DHAVE_TMPI_CONFIG_H)
33 #include_directories( . )
35 # this configure file only works here. If you include the source
36 # files into your project, insert the contest of the tmpi_config.h.cmakein
37 # into your config.h.cmakein file
38 configure_file(tmpi_config.h.cmakein ${CMAKE_CURRENT_BINARY_DIR}/tmpi_config.h)
39 include_directories(${CMAKE_CURRENT_BINARY_DIR})
40 add_definitions(-DHAVE_TMPI_CONFIG_H)