1 cmake_minimum_required(VERSION 2.6)
3 find_program(SED_EXE NAMES sed)
4 find_program(PWD_EXE NAMES pwd)
5 find_program(UNAME NAMES uname)
6 find_program(HOSTNAME_CMD NAMES hostname)
8 ### DETECT AUTO. THE PROJECT_DIRECTORY
9 exec_program("${PWD_EXE}" ARGS "| ${SED_EXE} 's/\\/CPACK//g'" OUTPUT_VARIABLE "PROJECT_DIRECTORY")
11 ### DETECT MANUAL. THE PROJECT_DIRECTORY
12 #SET(PROJECT_DIRECTORY "/home/navarrop/Bureau/simgrid-trunk")
14 ### Get the hostname of current machine :
15 exec_program(${HOSTNAME_CMD} OUTPUT_VARIABLE HOSTNAME)
17 ### Get the system information of current machine
18 exec_program("${UNAME}" OUTPUT_VARIABLE "SYSTEM")
20 message("Project_Directory : ${PROJECT_DIRECTORY}")
21 message("HOSTNAME : ${HOSTNAME}")
22 message("SYSTEM : ${SYSTEM}")
24 ### ARGs use -D[var]=[ON/OFF] or [1/0] or [true/false](see after)
25 ### ex: cmake -Ddisable_java=ON -Ddisable_gtnets=ON ./
27 SET(disable_java OFF) #default value
28 SET(disable_threads ON)
29 SET(disable_gtnets ON)
31 option(disable_java "This variable set the java context.")
32 option(disable_gtnets "This variable set the gtnets context.")
33 option(disable_threads "This variable set the thread context.")
35 message("\n________ARGS_________")
36 message("disable_java ${disable_java}")
37 message("disable_gtnets ${disable_gtnets}")
38 if(NOT disable_gtnets)
39 message("gtnets_path \"${gtnets_path}\"")
40 endif(NOT disable_gtnets)
41 message("disable_threads ${disable_threads}")
42 message("_______END_ARGS_______")
43 #--------------------------------------------------------------------------------------------------
45 ### Set some variables for Cmake
46 SET(PROJECT_NAME "Simgrid_cmake")
48 SET(PROJECT_SOURCE_DIRECTORY "${PROJECT_DIRECTORY}/src")
49 set(EXECUTABLE_OUTPUT_PATH "${PROJECT_DIRECTORY}/bin")
50 set(LIBRARY_OUTPUT_PATH "${PROJECT_DIRECTORY}/lib")
51 set(INCLUDES "-I${PROJECT_DIRECTORY}/include -I${PROJECT_DIRECTORY}/src/include -I${PROJECT_DIRECTORY}/src")
53 ### Define source packages for Libs
54 include(${PROJECT_DIRECTORY}/CPACK/CMakeDefinePackages.txt OPTIONAL NO_POLICY_SCOPE)
56 ### Make the *.h files with *.h.in files
57 include(${PROJECT_DIRECTORY}/CPACK/CMakeCompleteInFiles.txt OPTIONAL NO_POLICY_SCOPE)
60 add_definitions("${INCLUDES}")
62 add_library(simgrid SHARED ${simgrid_sources})
63 add_library(gras SHARED ${gras_sources})
67 include(${PROJECT_DIRECTORY}/CPACK/CMakeDistrib.txt OPTIONAL NO_POLICY_SCOPE)