### SET THE PROJECT_DIRECTORY
SET(PROJECT_DIRECTORY "${CMAKE_HOME_DIRECTORY}")
+### SET THE LIBRARY EXTENSION
+if(APPLE)
+ set(LIB_EXE "dylib")
+else(APPLE)
+ set(LIB_EXE "so")
+endif(APPLE)
+
### Set some variables for Cmake
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
set(INCLUDES "-I${PROJECT_DIRECTORY} -I${PROJECT_DIRECTORY}/include -I${PROJECT_DIRECTORY}/src/include -I${PROJECT_DIRECTORY}/src -I${CMAKE_CURRENT_BINARY_DIR}/src")
find_library(PATH_PCRE_LIB pcre "/usr/lib/")
set(HAVE_PCRE_LIB 0)
if(PATH_PCRE_LIB)
- string(REGEX REPLACE "/libpcre.*[.]so$" "" PATHLIBPCRE "${PATH_PCRE_LIB}")
+ string(REGEX REPLACE "/libpcre.*[.]${LIB_EXE}$" "" PATHLIBPCRE "${PATH_PCRE_LIB}")
string(REGEX MATCH "-L${PATHLIBPCRE} " operation "${CMAKE_C_FLAGS}")
if(NOT operation)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-L${PATHLIBPCRE} ")
if(HAVE_LUA)
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/lib/lua/5.1")
add_custom_target(simgrid_lua ALL
- COMMAND ${CMAKE_COMMAND} -E create_symlink ../../libsimgrid.so ${CMAKE_BINARY_DIR}/lib/lua/5.1/simgrid.so
+ COMMAND ${CMAKE_COMMAND} -E create_symlink ../../libsimgrid.${LIB_EXE} ${CMAKE_BINARY_DIR}/lib/lua/5.1/simgrid.${LIB_EXE}
DEPENDS simgrid
)
- install(FILES ${CMAKE_BINARY_DIR}/lib/lua/5.1/simgrid.so
+ install(FILES ${CMAKE_BINARY_DIR}/lib/lua/5.1/simgrid.${LIB_EXE}
DESTINATION $ENV{DESTDIR}${prefix}/lib/lua/5.1
)
endif(HAVE_LUA)
string(REGEX REPLACE "^.*ruby/" "" install_link_ruby "${RUBY_ARCH_DIR}")
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/lib/ruby/${install_link_ruby}")
add_custom_target(ruby_simgrid ALL
- COMMAND ${CMAKE_COMMAND} -E create_symlink ../../../libsimgrid.so ${CMAKE_BINARY_DIR}/lib/ruby/${install_link_ruby}/libsimgrid.so
+ COMMAND ${CMAKE_COMMAND} -E create_symlink ../../../libsimgrid.${LIB_EXE} ${CMAKE_BINARY_DIR}/lib/ruby/${install_link_ruby}/libsimgrid.${LIB_EXE}
DEPENDS simgrid
)
- install(FILES ${CMAKE_BINARY_DIR}/lib/ruby/${install_link_ruby}/libsimgrid.so
+ install(FILES ${CMAKE_BINARY_DIR}/lib/ruby/${install_link_ruby}/libsimgrid.${LIB_EXE}
DESTINATION $ENV{DESTDIR}${prefix}/lib/ruby/${install_link_ruby}/
)
install(FILES ${PROJECT_DIRECTORY}/src/bindings/ruby/simgrid.rb
if(HAVE_LUA)
add_custom_command(TARGET uninstall
COMMAND ${CMAKE_COMMAND} -E echo "uninstall binding lua ok"
- COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/lib/lua/5.1/simgrid.so
+ COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/lib/lua/5.1/simgrid.${LIB_EXE}
WORKING_DIRECTORY "${PROJECT_DIRECTORY}/"
)
endif(HAVE_LUA)
string(REGEX REPLACE "^.*ruby/" "" install_link_ruby "${RUBY_ARCH_DIR}")
add_custom_command(TARGET uninstall
COMMAND ${CMAKE_COMMAND} -E echo "uninstall binding ruby ok"
- COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/lib/ruby/${install_link_ruby}/libsimgrid.so
+ COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/lib/ruby/${install_link_ruby}/libsimgrid.${LIB_EXE}
COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/lib/ruby/${install_link_ruby}/simgrid.rb
WORKING_DIRECTORY "${PROJECT_DIRECTORY}/"
)
set(SIMGRID_DEP "${SIMGRID_DEP} -l${RUBY_LIBRARY_NAME} -module")
ADD_CUSTOM_TARGET(link_simgrid_ruby ALL
DEPENDS simgrid
- COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.so ${PROJECT_DIRECTORY}/src/bindings/ruby/libsimgrid.so
- COMMENT "Generating libsimgrid.so link for binding ruby..."
+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.${LIB_EXE} ${PROJECT_DIRECTORY}/src/bindings/ruby/libsimgrid.${LIB_EXE}
+ COMMENT "Generating libsimgrid.${LIB_EXE} link for binding ruby..."
)
endif(HAVE_RUBY)
ADD_CUSTOM_TARGET(link_simgrid_lua ALL
DEPENDS simgrid
- COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.so ${PROJECT_DIRECTORY}/examples/lua/simgrid.so #for test
- COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.so ${PROJECT_DIRECTORY}/examples/msg/masterslave/simgrid.so #for test
- COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.so ${PROJECT_DIRECTORY}/examples/simdag/simgrid.so #for test
- COMMENT "Generating libsimgrid.so link for binding lua..."
+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.${LIB_EXE} ${PROJECT_DIRECTORY}/examples/lua/simgrid.${LIB_EXE} #for test
+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.${LIB_EXE} ${PROJECT_DIRECTORY}/examples/msg/masterslave/simgrid.${LIB_EXE} #for test
+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.${LIB_EXE} ${PROJECT_DIRECTORY}/examples/simdag/simgrid.${LIB_EXE} #for test
+ COMMENT "Generating libsimgrid.${LIB_EXE} link for binding lua..."
)
endif(HAVE_LUA)
message("LIBPCRE : ${PATH_PCRE_LIB}")
message("PATH_LIBPCRE : ${PATHLIBPCRE}")
endif(HAVE_PCRE_LIB)
+ message("")
+ message("LIB_EXE : ${LIB_EXE}")
message("________________________________________________________________________________")
message("________________________________________________________________________________ DEBUG END")
message("")
sudo fink -y install wget
sudo fink -y install perl
sudo fink -y install graphviz-dev graphviz
- sudo fink -y install libpcre3-dev
+ sudo fink -y install pcre
fi
which_svn=`which svn` #svn necessary
add_executable(ping_server_console ${CMAKE_CURRENT_SOURCE_DIR}/_ping_server.c
${CMAKE_CURRENT_SOURCE_DIR}/ping_server.c
${CMAKE_CURRENT_SOURCE_DIR}/ping_common.c)
-
+
add_custom_command(
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/_ping_simulator.c
${CMAKE_CURRENT_SOURCE_DIR}/_ping_client.c
${CMAKE_CURRENT_SOURCE_DIR}/_ping_server.c
- COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.so ${CMAKE_HOME_DIRECTORY}/examples/gras/console/simgrid.so
+ ${CMAKE_HOME_DIRECTORY}/examples/gras/console/simgrid.${LIB_EXE}
+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.${LIB_EXE} ${CMAKE_HOME_DIRECTORY}/examples/gras/console/simgrid.${LIB_EXE}
COMMAND lua ${CMAKE_CURRENT_SOURCE_DIR}/ping_generator.lua
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} #needed to find simgrid.so. By default CMAKE_CURRENT_BINARY_DIR
)
+
+
+
### Add definitions for compile
target_link_libraries(ping_simulator_console simgrid pthread m )
target_link_libraries(ping_client_console gras simgrid pthread m )