From ce25317042935b2621bf84d5fcb79d9368d14234 Mon Sep 17 00:00:00 2001 From: navarrop Date: Mon, 13 Sep 2010 08:23:54 +0000 Subject: [PATCH] Windows implementation git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8176 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- CMakeLists.txt | 22 +++++-- Devcpp.bat | 17 +++--- borland.bat | 25 ++++---- buildtools/Cmake/CompleteInFiles.cmake | 1 + buildtools/Cmake/MakeExeLibWin.cmake | 79 ++++++++++++++++++++++++-- buildtools/Cmake/PrintArgs.cmake | 1 + 6 files changed, 117 insertions(+), 28 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 333be68663..96722714d3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,7 +17,10 @@ SET(PROJECT_DIRECTORY "${CMAKE_HOME_DIRECTORY}") ### 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/") +set(INCLUDES "-I${PROJECT_DIRECTORY} -I${PROJECT_DIRECTORY}/include -I${PROJECT_DIRECTORY}/src/include -I${PROJECT_DIRECTORY}/src -I${CMAKE_CURRENT_BINARY_DIR}/src") +if(WIN32) + set(INCLUDES "${INCLUDES} -I${PROJECT_DIRECTORY}/include/xbt -I${PROJECT_DIRECTORY}/src/xbt") #for win32_ucontext.[ch] +endif(WIN32) set(CMAKE_SOURCE_DIR ${PROJECT_SOURCE_DIRECTORY}) if(EXISTS /usr/include/) @@ -38,9 +41,18 @@ if(WIN32) set(INCLUDES_MORE $ENV{INCLUDE}) string(REPLACE "\\" "/" INCLUDES_MORE "${INCLUDES_MORE}") foreach(include_dir ${INCLUDES_MORE}) - set(INCLUDES "${INCLUDES} -I\"${include_dir}\"") + if(IS_DIRECTORY ${include_dir}) + string(REGEX MATCH ".*[ ].*" testoki "${include_dir}") + if(testoki) + string(REPLACE " " "\\ " include_dir "${include_dir}") + set(INCLUDES "${INCLUDES} -I\"${include_dir}\"") + else(testoki) + set(INCLUDES "${INCLUDES} -I${include_dir}") + endif(testoki) + else(IS_DIRECTORY ${include_dir}) + message(FATAL_ERROR "${include_dir} not find") + endif(IS_DIRECTORY ${include_dir}) endforeach(include_dir ${INCLUDES_MORE}) - set(INCLUDES "${INCLUDES} -I${PROJECT_DIRECTORY}/include/xbt -I${PROJECT_DIRECTORY}/src/xbt") #for win32_ucontext.[ch] if(BORLAND) ### BORLAND COMPILER set(__BORLANDC__ 1) @@ -76,7 +88,6 @@ if(WIN32) message("Be sure all those variables are correctely set.") message(" -- C_COMPILER $ENV{CC}") message(" -- CXX_COMPILER $ENV{CXX}") - message(" -- RC_COMPILER $ENV{RC}") message(" -- INCLUDE $ENV{INCLUDE}") message(" -- LIB $ENV{LIB}") message(" -- MAKE_PROGRAM ${CMAKE_MAKE_PROGRAM}") @@ -136,9 +147,10 @@ endif(HAVE_JAVA) ### Make tests if(NOT WIN32) include(${PROJECT_DIRECTORY}/buildtools/Cmake/AddTests.cmake) -include(${PROJECT_DIRECTORY}/buildtools/Cmake/CTestConfig.cmake) endif(NOT WIN32) +include(${PROJECT_DIRECTORY}/buildtools/Cmake/CTestConfig.cmake) + ### Setup the distrib include(${PROJECT_DIRECTORY}/buildtools/Cmake/Distrib.cmake) diff --git a/Devcpp.bat b/Devcpp.bat index 5e83004e9f..e7c56e1030 100644 --- a/Devcpp.bat +++ b/Devcpp.bat @@ -2,14 +2,15 @@ echo off set CC=C:\Dev-Cpp\bin\gcc set CXX=C:\Dev-Cpp\bin\g++ -set INCLUDE=C:\Dev-Cpp\include;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include -set LIB=C:\Dev-Cpp\lib;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib +set INCLUDE=C:\Dev-Cpp\include +set LIB=C:\Dev-Cpp\lib -set RC=C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\RC +set Path=%Path%;C:\Dev-Cpp\bin -set Path=%Path%;C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin -set Path=%Path%;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib -set Path=%Path%;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include +echo on -set Path=%Path%;C:\Borland\BCC55 -set Path=%Path%;C:\Dev-Cpp\bin \ No newline at end of file +del CMakeCache.txt + +cmake -G"Unix Makefiles" -Wno-dev -Denable_tracing=on -Denable_print_message=on . + +make clean \ No newline at end of file diff --git a/borland.bat b/borland.bat index 4a032af9c3..09e9dd8a97 100644 --- a/borland.bat +++ b/borland.bat @@ -1,11 +1,16 @@ echo off -set CC=C:\Borland\BCC55\Bin\bcc32 -set CXX=C:\Borland\BCC55\Bin\bcc32 -set INCLUDE=C:\Borland\BCC55\Include;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include -set LIB=C:\Borland\BCC55\Lib;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib -set RC=C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\RC -set Path=%Path%;C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin -set Path=%Path%;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib -set Path=%Path%;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include -set Path=%Path%;C:\Borland\BCC55 -set Path=%Path%;C:\Borland\BCC55\Bin \ No newline at end of file +set CC=D:\Borland\BCC55\Bin\bcc32 +set CXX=D:\Borland\BCC55\Bin\bcc32 + +set INCLUDE=D:\Borland\BCC55\Include +set LIB=D:\Borland\BCC55\Lib + +set path=%path%;D:\Borland\BCC55;D:\Borland\BCC55\Bin;D:\Borland\BCC55\Lib;D:\Borland\BCC55\Include + +set PATHEXT=%PATHEXT%;.OBJ + +echo on + +del CMakeCache.txt + +cmake -G"Borland Makefiles" -Wno-dev \ No newline at end of file diff --git a/buildtools/Cmake/CompleteInFiles.cmake b/buildtools/Cmake/CompleteInFiles.cmake index 84fe86f374..88751cdd51 100644 --- a/buildtools/Cmake/CompleteInFiles.cmake +++ b/buildtools/Cmake/CompleteInFiles.cmake @@ -41,6 +41,7 @@ CHECK_INCLUDE_FILE("stdlib.h" HAVE_STDLIB_H) CHECK_INCLUDE_FILE("strings.h" HAVE_STRINGS_H) CHECK_INCLUDE_FILE("string.h" HAVE_STRING_H) CHECK_INCLUDE_FILE("ucontext.h" HAVE_UCONTEXT_H) +CHECK_INCLUDE_FILE("stdio.h" HAVE_STDIO_H) CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY) CHECK_FUNCTION_EXISTS(usleep HAVE_USLEEP) diff --git a/buildtools/Cmake/MakeExeLibWin.cmake b/buildtools/Cmake/MakeExeLibWin.cmake index df0fc0596a..f0f6e40890 100644 --- a/buildtools/Cmake/MakeExeLibWin.cmake +++ b/buildtools/Cmake/MakeExeLibWin.cmake @@ -10,9 +10,9 @@ if(MSVC) OUTPUT_NAME "simgrid") else(MSVC) if(CMAKE_COMPILER_IS_GNUCC) - set_target_properties(gras PROPERTIES COMPILE_FLAGS "-D _XBT_DLL_STATIC" + set_target_properties(gras PROPERTIES COMPILE_FLAGS "-D_XBT_DLL_STATIC" OUTPUT_NAME "gras") - set_target_properties(simgrid PROPERTIES COMPILE_FLAGS "-D _XBT_DLL_STATIC" + set_target_properties(simgrid PROPERTIES COMPILE_FLAGS "-D_XBT_DLL_STATIC" OUTPUT_NAME "simgrid") else(CMAKE_COMPILER_IS_GNUCC) message(FATAL_ERROR "Compilateur non connu!!!") @@ -30,11 +30,80 @@ target_link_libraries(gras ${GRAS_DEP}) #src/testall add_subdirectory(${PROJECT_DIRECTORY}/src) -#examples -add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/icomms) +#tools/gras +add_subdirectory(${PROJECT_DIRECTORY}/tools/gras) + +#tools/tesh +#add_subdirectory(${PROJECT_DIRECTORY}/tools/tesh) #testsuite/xbt add_subdirectory(${PROJECT_DIRECTORY}/testsuite/xbt) +#testsuite/surf +#add_subdirectory(${PROJECT_DIRECTORY}/testsuite/surf) + #testsuite/simdag -add_subdirectory(${PROJECT_DIRECTORY}/testsuite/simdag) \ No newline at end of file +add_subdirectory(${PROJECT_DIRECTORY}/testsuite/simdag) + +#teshsuite +add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/xbt) +#add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/gras/datadesc) +add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/gras/msg_handle) +add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/gras/empty_main) +add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/gras/small_sleep) +add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/simdag) +add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/simdag/network) +add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/simdag/network/p2p) +add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/simdag/network/mxn) +add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/simdag/partask) +add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/simdag/platforms) +add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/msg) + +#examples +add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/ping) +add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/rpc) +add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/spawn) +add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/timer) +add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/chrono) +add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/mutual_exclusion/simple_token) +add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/mmrpc) +add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/all2all) +add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/pmm) +add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/synchro) +add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/properties) + +add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/properties) +add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/actions) +add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/migration) +add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/sendrecv) +add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/suspend) +add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/parallel_task) +add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/priority) +add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/masterslave) +add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/trace) +add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/tracing) +add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/icomms) + +if(HAVE_MC) + add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/mc) +endif(HAVE_MC) + +if(HAVE_GTNETS) + add_definitions("-lgtnets -L${gtnets_path}/lib -I${gtnets_path}/include/gtnets") + add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/gtnets) +endif(HAVE_GTNETS) + +add_subdirectory(${PROJECT_DIRECTORY}/examples/amok/bandwidth) +add_subdirectory(${PROJECT_DIRECTORY}/examples/amok/saturate) + +add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag) +add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/dax) +if(HAVE_CGRAPH_H) +add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/dot) +endif(HAVE_CGRAPH_H) +add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/metaxml) +add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/properties) +add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/scheduling) +if(enable_smpi) + add_subdirectory(${PROJECT_DIRECTORY}/examples/smpi) +endif(enable_smpi) \ No newline at end of file diff --git a/buildtools/Cmake/PrintArgs.cmake b/buildtools/Cmake/PrintArgs.cmake index f45cbd5eb8..2b46b72375 100644 --- a/buildtools/Cmake/PrintArgs.cmake +++ b/buildtools/Cmake/PrintArgs.cmake @@ -70,6 +70,7 @@ if(enable_print_message) message("HAVE_STDLIB_H ${HAVE_STDLIB_H}") message("HAVE_STRINGS_H ${HAVE_STRINGS_H}") message("HAVE_STRING_H ${HAVE_STRING_H}") + message("HAVE_STDIO_H ${HAVE_STDIO_H}") message("") message("HAVE_GETTIMEOFDAY ${HAVE_GETTIMEOFDAY}") -- 2.20.1