find_path(VALGRIND_PATH NAMES valgrind PATHS NO_DEFAULT_PATHS)
### AUTO DETECT THE PROJECT_DIRECTORY
-exec_program("${PWD_EXE}" ARGS "| ${SED_EXE} 's/\\/Cmake//g'" OUTPUT_VARIABLE PROJECT_DIRECTORY)
+message("Project_BINARY_DIR : ${Project_BINARY_DIR}")
+message("CMAKE_HOME_DIRECTORY : ${CMAKE_HOME_DIRECTORY}")
### SET THE PROJECT_DIRECTORY
-#SET(PROJECT_DIRECTORY "/home/navarrop/Bureau/simgrid-trunk")
+SET(PROJECT_DIRECTORY "${CMAKE_HOME_DIRECTORY}")
### Set some variables for Cmake
SET(PROJECT_SOURCE_DIRECTORY "${PROJECT_DIRECTORY}/src")
${PROJECT_DIRECTORY}/buildtools/Cmake/prog_test/prog_AC_CHECK_MCSC.c
COMPILE_DEFINITIONS "${mcsc_flags}"
)
-file(READ "${PROJECT_DIRECTORY}/conftestval" mcsc)
-if(mcsc MATCHES "yes")
+file(READ "${Project_BINARY_DIR}/conftestval" mcsc)
+STRING(REPLACE "\n" "" mcsc ${mcsc})
+if(mcsc)
set(mcsc "yes")
-elseif(mcsc MATCHES "yes")
+elseif(mcsc)
set(mcsc "no")
-endif(mcsc MATCHES "yes")
+endif(mcsc)
if(mcsc MATCHES "no" AND pthread)
if(HAVE_WINDOWS_H)
if(with_context MATCHES "ucontext")
set(with_context_ok 1)
- if(mcsc MATCHES "yes")
+ if(mcsc)
set(CONTEXT_UCONTEXT 1)
- else(mcsc MATCHES "yes")
+ else(mcsc)
if(windows_context MATCHES "yes")
set(with_context "windows")
message("with_context ucontext change to windows")
set(with_context "pthread")
message("with_context ucontext change to pthread")
endif(windows_context MATCHES "yes")
- endif(mcsc MATCHES "yes")
+ endif(mcsc)
endif(with_context MATCHES "ucontext")
if(with_context MATCHES "pthread")
COMPILE_DEFINITIONS "${makecontext_CPPFLAGS} ${makecontext_CPPFLAGS_2}"
)
-
- exec_program("${SED_EXE}" ARGS "-e 's;,.*$;;' ${PROJECT_DIRECTORY}/conftestval" OUTPUT_VARIABLE "makecontext_addr")
- exec_program("${SED_EXE}" ARGS "-e 's;^.*,;;' ${PROJECT_DIRECTORY}/conftestval" OUTPUT_VARIABLE "makecontext_size")
+ file(READ ${Project_BINARY_DIR}/conftestval MAKECONTEXT_ADDR_SIZE)
+ string(REPLACE "\n" "" MAKECONTEXT_ADDR_SIZE "${MAKECONTEXT_ADDR_SIZE}")
+ string(REGEX MATCH ;^.*,;MAKECONTEXT_ADDR "${MAKECONTEXT_ADDR_SIZE}")
+ string(REGEX MATCH ;,.*$; MAKECONTEXT_SIZE "${MAKECONTEXT_ADDR_SIZE}")
+ string(REPLACE "," "" makecontext_addr "${MAKECONTEXT_ADDR}")
+ string(REPLACE "," "" makecontext_size "${MAKECONTEXT_SIZE}")
set(pth_skaddr_makecontext "#define pth_skaddr_makecontext(skaddr,sksize) (${makecontext_addr})")
set(pth_sksize_makecontext "#define pth_sksize_makecontext(skaddr,sksize) (${makecontext_size})")
${PROJECT_DIRECTORY}
${PROJECT_DIRECTORY}/buildtools/Cmake/prog_test/prog_stackgrowth.c
)
-file(READ "${PROJECT_DIRECTORY}/conftestval" stack)
+file(READ "${Project_BINARY_DIR}/conftestval" stack)
if(stack MATCHES "down")
set(PTH_STACKGROWTH "-1")
endif(stack MATCHES "down")