From 56634156c33c9d551211a57579d526f8f35d9911 Mon Sep 17 00:00:00 2001 From: navarrop Date: Thu, 14 Oct 2010 14:48:39 +0000 Subject: [PATCH] Auto set the library extension for links. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8423 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- CMakeLists.txt | 7 +++++++ buildtools/Cmake/CompleteInFiles.cmake | 2 +- buildtools/Cmake/Distrib.cmake | 12 ++++++------ buildtools/Cmake/MakeExeLib.cmake | 12 ++++++------ buildtools/Cmake/PrintArgs.cmake | 2 ++ buildtools/pipol/liste_install.sh | 2 +- examples/gras/console/CMakeLists.txt | 8 ++++++-- 7 files changed, 29 insertions(+), 16 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 776d29c4e1..a66e616ecd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,6 +15,13 @@ FIND_PROGRAM(VALGRIND_PATH valgrind) ### 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") diff --git a/buildtools/Cmake/CompleteInFiles.cmake b/buildtools/Cmake/CompleteInFiles.cmake index 828615aaac..4814c9aaa6 100644 --- a/buildtools/Cmake/CompleteInFiles.cmake +++ b/buildtools/Cmake/CompleteInFiles.cmake @@ -204,7 +204,7 @@ endif(HAVE_CGRAPH_LIB AND HAVE_CGRAPH_H) 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} ") diff --git a/buildtools/Cmake/Distrib.cmake b/buildtools/Cmake/Distrib.cmake index fc9818aec5..2508f976e2 100755 --- a/buildtools/Cmake/Distrib.cmake +++ b/buildtools/Cmake/Distrib.cmake @@ -65,10 +65,10 @@ endif(HAVE_JAVA) 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) @@ -77,10 +77,10 @@ if(HAVE_RUBY) 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 @@ -131,7 +131,7 @@ endif(HAVE_JAVA) 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) @@ -140,7 +140,7 @@ if(HAVE_RUBY) 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}/" ) diff --git a/buildtools/Cmake/MakeExeLib.cmake b/buildtools/Cmake/MakeExeLib.cmake index 99fd1e0a75..2e5bc00c54 100644 --- a/buildtools/Cmake/MakeExeLib.cmake +++ b/buildtools/Cmake/MakeExeLib.cmake @@ -31,8 +31,8 @@ if(HAVE_RUBY) 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) @@ -56,10 +56,10 @@ if(HAVE_LUA) 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) diff --git a/buildtools/Cmake/PrintArgs.cmake b/buildtools/Cmake/PrintArgs.cmake index b34b70e5c5..908f6522e1 100644 --- a/buildtools/Cmake/PrintArgs.cmake +++ b/buildtools/Cmake/PrintArgs.cmake @@ -142,6 +142,8 @@ if(enable_print_message) message("LIBPCRE : ${PATH_PCRE_LIB}") message("PATH_LIBPCRE : ${PATHLIBPCRE}") endif(HAVE_PCRE_LIB) + message("") + message("LIB_EXE : ${LIB_EXE}") message("________________________________________________________________________________") message("________________________________________________________________________________ DEBUG END") message("") diff --git a/buildtools/pipol/liste_install.sh b/buildtools/pipol/liste_install.sh index 75d7acfcc0..c7bd21ce3a 100644 --- a/buildtools/pipol/liste_install.sh +++ b/buildtools/pipol/liste_install.sh @@ -46,7 +46,7 @@ if [ x$arch = xDarwin ] ; then 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 diff --git a/examples/gras/console/CMakeLists.txt b/examples/gras/console/CMakeLists.txt index 72bfb7f8ef..65c8f532fd 100644 --- a/examples/gras/console/CMakeLists.txt +++ b/examples/gras/console/CMakeLists.txt @@ -20,15 +20,19 @@ add_executable(ping_client_console ${CMAKE_CURRENT_SOURCE_DIR}/_ping_client. 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 ) -- 2.20.1