include(CheckIncludeFile)
include(CheckIncludeFiles)
include(CheckLibraryExists)
+
+find_program(SET_MAKE NAMES make)
+find_program(CAT_EXE NAMES cat)
+
set(CONTEXT_UCONTEXT 0)
SET(CONTEXT_THREADS 0)
-SET(RUBY_PATH "non")
-find_program(FIND_EXE NAMES find)
-exec_program("${FIND_EXE} /usr/lib -name ruby.h" OUTPUT_VARIABLE RUBY_PATH)
-string(REPLACE "/ruby.h" "" RUBY_PATH ${RUBY_PATH})
-message("RUBY_PATH ${RUBY_PATH}")
-CHECK_INCLUDE_FILE(${RUBY_PATH}/ruby.h HAVE_RUBY_H)
-message("HAVE_RUBY_H ${HAVE_RUBY_H}")
-
-if(HAVE_RUBY_H)
- set(INCLUDES
- ${INCLUDES}
- "-I${RUBY_PATH} -I${${PROJECT_DIRECTORY}}/src/bindings/ruby"
- )
-endif(HAVE_RUBY_H)
+SET(HAVE_RUBY_H 0)
+
+if(NOT disable_ruby)
+ include(FindRuby)
+ set(OKITOKI no)
+ foreach(path ${RUBY_INCLUDE_PATH})
+ if(NOT OKITOKI)
+ set(RUBY_INCLUDE_PATH ${path})
+ set(OKITOKI yes)
+ endif(NOT OKITOKI)
+ endforeach(path ${RUBY_INCLUDE_PATH})
+ if(RUBY_INCLUDE_PATH)
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${RUBY_INCLUDE_PATH} -I${PROJECT_DIRECTORY}/src/bindings/ruby -I${PROJECT_DIRECTORY}/src/simix -fPIC ")
+ SET(HAVE_RUBY_H 1)
+ endif(RUBY_INCLUDE_PATH)
+endif(NOT disable_ruby)
#--------------------------------------------------------------------------------------------------
### Initialize of CONTEXT JAVA
SET(HAVE_GTNETS 0)
else(disable_gtnets)
SET(BUILDNAME "GTNETS" CACHE TYPE INTERNAL FORCE)
- set(GTNETS_LDFLAGS "-lgtnets -L${gtnets_path}/lib")
+ set(GTNETS_LDFLAGS "-L${gtnets_path}/lib")
set(GTNETS_CPPFLAGS "-I${gtnets_path}/include/gtnets")
- exec_program("${CMAKE_CXX_COMPILER} ${GTNETS_CPPFLAGS} ${GTNETS_LDFLAGS} ${PROJECT_DIRECTORY}/CPACK/prog_test/prog_gtnets.cpp" OUTPUT_VARIABLE COMPILE_GTNETS_VAR)
+ exec_program("${CMAKE_CXX_COMPILER} ${GTNETS_CPPFLAGS} -lgtnets ${GTNETS_LDFLAGS} ${PROJECT_DIRECTORY}/buildtools/CPACK/prog_test/prog_gtnets.cpp " OUTPUT_VARIABLE COMPILE_GTNETS_VAR)
if(COMPILE_GTNETS_VAR)
SET(HAVE_GTNETS 0)
message("GTnetS doesn't works : set -Ddisable_gtnets=on")
else(COMPILE_GTNETS_VAR)
SET(HAVE_GTNETS 1)
- set(INCLUDES
- ${INCLUDES}
- ${GTNETS_CPPFLAGS}
- )
- add_definitions(${GTNETS_LDFLAGS})
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GTNETS_LDFLAGS} ${GTNETS_CPPFLAGS} ")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GTNETS_LDFLAGS} ${GTNETS_CPPFLAGS} ")
endif(COMPILE_GTNETS_VAR)
endif(disable_gtnets)
#message("HAVE_GTNETS ${HAVE_GTNETS}")
### HAVE_SEM_INIT
CHECK_LIBRARY_EXISTS(pthread sem_init NO_DEFAULT_PATHS HAVE_SEM_INIT_LIB)
if(HAVE_SEM_INIT_LIB)
- exec_program("${CMAKE_C_COMPILER} -lpthread ${PROJECT_DIRECTORY}/CPACK/prog_test/prog_sem_init.c" OUTPUT_VARIABLE HAVE_SEM_INIT_run)
+ exec_program("${CMAKE_C_COMPILER} -lpthread ${PROJECT_DIRECTORY}/buildtools/CPACK/prog_test/prog_sem_init.c" OUTPUT_VARIABLE HAVE_SEM_INIT_run)
if(HAVE_SEM_INIT_run)
set(HAVE_SEM_INIT 0)
else(HAVE_SEM_INIT_run)
### HAVE_SEM_TIMEDWAIT
CHECK_LIBRARY_EXISTS(pthread sem_timedwait NO_DEFAULT_PATHS HAVE_SEM_TIMEDWAIT_LIB)
if(HAVE_SEM_TIMEDWAIT_LIB)
- exec_program("${CMAKE_C_COMPILER} -lpthread ${PROJECT_DIRECTORY}/CPACK/prog_test/prog_sem_timedwait.c" OUTPUT_VARIABLE HAVE_SEM_TIMEDWAIT_run)
+ exec_program("${CMAKE_C_COMPILER} -lpthread ${PROJECT_DIRECTORY}/buildtools/CPACK/prog_test/prog_sem_timedwait.c" OUTPUT_VARIABLE HAVE_SEM_TIMEDWAIT_run)
if(HAVE_SEM_TIMEDWAIT_run)
set(HAVE_SEM_TIMEDWAIT 0)
else(HAVE_SEM_TIMEDWAIT_run)
### HAVE_MUTEX_TIMEDLOCK
CHECK_LIBRARY_EXISTS(pthread pthread_mutex_timedlock NO_DEFAULT_PATHS HAVE_MUTEX_TIMEDLOCK_LIB)
if(HAVE_MUTEX_TIMEDLOCK_LIB)
- exec_program("${CMAKE_C_COMPILER} -lpthread ${PROJECT_DIRECTORY}/CPACK/prog_test/prog_mutex_timedlock.c" OUTPUT_VARIABLE HAVE_SEM_TIMEDWAIT_run)
+ exec_program("${CMAKE_C_COMPILER} -lpthread ${PROJECT_DIRECTORY}/buildtools/CPACK/prog_test/prog_mutex_timedlock.c" OUTPUT_VARIABLE HAVE_SEM_TIMEDWAIT_run)
if(HAVE_MUTEX_TIMEDLOCK_run)
set(HAVE_MUTEX_TIMEDLOCK 0)
else(HAVE_MUTEX_TIMEDLOCK_run)
try_run(RUN_mcsc_VAR COMPILE_mcsc_VAR
${PROJECT_DIRECTORY}
- ${PROJECT_DIRECTORY}/CPACK/prog_test/prog_AC_CHECK_MCSC.c
+ ${PROJECT_DIRECTORY}/buildtools/CPACK/prog_test/prog_AC_CHECK_MCSC.c
COMPILE_DEFINITIONS "${mcsc_flags}"
)
file(READ "${PROJECT_DIRECTORY}/conftestval" mcsc)
# Check architecture signature begin
try_run(RUN_GRAS_VAR COMPILE_GRAS_VAR
${PROJECT_DIRECTORY}
- ${PROJECT_DIRECTORY}/CPACK/prog_test/prog_GRAS_ARCH.c
+ ${PROJECT_DIRECTORY}/buildtools/CPACK/prog_test/prog_GRAS_ARCH.c
RUN_OUTPUT_VARIABLE var1
)
if(BIGENDIAN)
# Check architecture signature end
try_run(RUN_GRAS_VAR COMPILE_GRAS_VAR
${PROJECT_DIRECTORY}
- ${PROJECT_DIRECTORY}/CPACK/prog_test/prog_GRAS_CHECK_STRUCT_COMPACTION.c
+ ${PROJECT_DIRECTORY}/buildtools/CPACK/prog_test/prog_GRAS_CHECK_STRUCT_COMPACTION.c
RUN_OUTPUT_VARIABLE var2
)
separate_arguments(var2)
# Check for [SIZEOF_MAX]
try_run(RUN_SM_VAR COMPILE_SM_VAR
${PROJECT_DIRECTORY}
- ${PROJECT_DIRECTORY}/CPACK/prog_test/prog_max_size.c
+ ${PROJECT_DIRECTORY}/buildtools/CPACK/prog_test/prog_max_size.c
RUN_OUTPUT_VARIABLE var3
)
SET(SIZEOF_MAX ${var3})
try_run(RUN_makecontext_VAR COMPILE_makecontext_VAR
${PROJECT_DIRECTORY}
- ${PROJECT_DIRECTORY}/CPACK/prog_test/prog_stacksetup.c
+ ${PROJECT_DIRECTORY}/buildtools/CPACK/prog_test/prog_stacksetup.c
COMPILE_DEFINITIONS "${makecontext_CPPFLAGS} ${makecontext_CPPFLAGS_2}"
)
- find_program(CAT_EXE NAMES cat)
+
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")
try_run(RUN_makecontext_VAR COMPILE_makecontext_VAR
${PROJECT_DIRECTORY}
- ${PROJECT_DIRECTORY}/CPACK/prog_test/prog_stackgrowth.c
+ ${PROJECT_DIRECTORY}/buildtools/CPACK/prog_test/prog_stackgrowth.c
)
file(READ "${PROJECT_DIRECTORY}/conftestval" stack)
if(stack MATCHES "down")
#AM_SANITY_CHECK -auto
#AC_PROG_MAKE_SET
-find_program(SET_MAKE NAMES make)
+
#AC_PRINTF_NULL
try_run(RUN_PRINTF_NULL_VAR COMPILE_PRINTF_NULL_VAR
${PROJECT_DIRECTORY}
- ${PROJECT_DIRECTORY}/CPACK/prog_test/prog_printf_null.c
+ ${PROJECT_DIRECTORY}/buildtools/CPACK/prog_test/prog_printf_null.c
)
if(RUN_PRINTF_NULL_VAR MATCHES "FAILED_TO_RUN")
)
foreach(fct ${diff_va})
- write_file("${PROJECT_DIRECTORY}/CPACK/prog_test/prog_va_copy.c" "#include <stdlib.h>
+ write_file("${PROJECT_DIRECTORY}/buildtools/CPACK/prog_test/prog_va_copy.c" "#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#define DO_VA_COPY(d,s) ${fct}
)
try_run(RUN_VA_NULL_VAR COMPILE_VA_NULL_VAR
${PROJECT_DIRECTORY}
- ${PROJECT_DIRECTORY}/CPACK/prog_test/prog_va_copy.c
+ ${PROJECT_DIRECTORY}/buildtools/CPACK/prog_test/prog_va_copy.c
)
if(RUN_VA_NULL_VAR MATCHES "FAILED_TO_RUN")
else(RUN_VA_NULL_VAR MATCHES "FAILED_TO_RUN")
### Try execut getline command
try_run(RUN_RESULT_VAR COMPILE_RESULT_VAR
${PROJECT_DIRECTORY}
- ${PROJECT_DIRECTORY}/CPACK/prog_test/prog_getline.c
+ ${PROJECT_DIRECTORY}/buildtools/CPACK/prog_test/prog_getline.c
OUTPUT_VARIABLE GETLINE_OUTPUT
)
try_run(RUN_SNPRINTF_FUNC_VAR COMPILE_SNPRINTF_FUNC_VAR
${PROJECT_DIRECTORY}
- ${PROJECT_DIRECTORY}/CPACK/prog_test/prog_snprintf.c
+ ${PROJECT_DIRECTORY}/buildtools/CPACK/prog_test/prog_snprintf.c
)
if(CMAKE_CROSSCOMPILING)
#message("SNPRINTF_FUNC CROSSCOMPILING")
try_run(RUN_VSNPRINTF_FUNC_VAR COMPILE_VSNPRINTF_FUNC_VAR
${PROJECT_DIRECTORY}
- ${PROJECT_DIRECTORY}/CPACK/prog_test/prog_vsnprintf.c
+ ${PROJECT_DIRECTORY}/buildtools/CPACK/prog_test/prog_vsnprintf.c
)
if(CMAKE_CROSSCOMPILING)
#message("VSNPRINTF_FUNC CROSSCOMPILING")
if(ADDR2LINE)
set(ADDR2LINE "${ADDR2LINE}/addr2line")
endif(ADDR2LINE)
-find_program(ADDR2LINE NAMES addr2line)
### check for include files and fct
CHECK_INCLUDE_FILE(dlfcn.h HAVE_DLFCN_H)
configure_file(${PROJECT_DIRECTORY}/src/context_sysv_config.h.in ${PROJECT_DIRECTORY}/src/context_sysv_config.h)
SET( CMAKEDEFINE "#cmakedefine" )
-configure_file("${PROJECT_DIRECTORY}/CPACK/src/gras_config.h.in" "${PROJECT_DIRECTORY}/CPACK/src/tmp_gras_config.h.in" @ONLY IMMEDIATE)
-configure_file("${PROJECT_DIRECTORY}/CPACK/src/tmp_gras_config.h.in" "${PROJECT_DIRECTORY}/src/gras_config.h" @ONLY IMMEDIATE)
+configure_file("${PROJECT_DIRECTORY}/buildtools/CPACK/src/gras_config.h.in" "${PROJECT_DIRECTORY}/buildtools/CPACK/src/tmp_gras_config.h.in" @ONLY IMMEDIATE)
+configure_file("${PROJECT_DIRECTORY}/buildtools/CPACK/src/tmp_gras_config.h.in" "${PROJECT_DIRECTORY}/src/gras_config.h" @ONLY IMMEDIATE)
configure_file(${PROJECT_DIRECTORY}/include/simgrid_config.h.in ${PROJECT_DIRECTORY}/include/simgrid_config.h)
if(NOT prefix)
set(includedir ${prefix}/include)
set(top_builddir ${PROJECT_DIRECTORY})
set(libdir ${exec_prefix}/lib)
-configure_file(${PROJECT_DIRECTORY}/CPACK/src/smpicc.in ${PROJECT_DIRECTORY}/src/smpi/smpicc @ONLY)
-configure_file(${PROJECT_DIRECTORY}/CPACK/src/smpirun.in ${PROJECT_DIRECTORY}/src/smpi/smpirun @ONLY)
+configure_file(${PROJECT_DIRECTORY}/buildtools/CPACK/src/smpicc.in ${PROJECT_DIRECTORY}/src/smpi/smpicc @ONLY)
+configure_file(${PROJECT_DIRECTORY}/buildtools/CPACK/src/smpirun.in ${PROJECT_DIRECTORY}/src/smpi/smpirun @ONLY)
#message("__END_GRAS_&_SIMGRID____\n")