Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
627820e5bf65da94534f5f6d5d469732595dd320
[simgrid.git] / buildtools / CPACK / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.6)
2
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)
7
8 ### DETECT AUTO. THE PROJECT_DIRECTORY
9 exec_program("${PWD_EXE}" ARGS "| ${SED_EXE} 's/\\/CPACK//g'" OUTPUT_VARIABLE "PROJECT_DIRECTORY")
10
11 ### DETECT MANUAL. THE PROJECT_DIRECTORY
12 #SET(PROJECT_DIRECTORY "/home/navarrop/Bureau/simgrid-trunk")
13
14 ### Get the hostname of current machine :
15 exec_program(${HOSTNAME_CMD} OUTPUT_VARIABLE HOSTNAME)
16
17 ### Get the system information of current machine
18 exec_program("${UNAME}" OUTPUT_VARIABLE "SYSTEM")
19
20 message("Project_Directory : ${PROJECT_DIRECTORY}")
21 message("HOSTNAME : ${HOSTNAME}")
22 message("SYSTEM : ${SYSTEM}")
23
24 ### ARGs use -D[var]=[ON/OFF] or [1/0] or [true/false](see after)
25 ### ex: cmake -Ddisable_java=ON -Ddisable_gtnets=ON ./
26
27 SET(disable_java OFF) #default value
28 SET(disable_threads ON)
29 SET(disable_gtnets ON)
30
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.")
34
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 #--------------------------------------------------------------------------------------------------
44
45 ### Set some variables for Cmake
46 SET(PROJECT_NAME "Simgrid_cmake")
47 SET(LANGUAGE "Cxx")
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")
52
53 ### Define source packages for Libs 
54 include(${PROJECT_DIRECTORY}/CPACK/CMakeDefinePackages.txt OPTIONAL NO_POLICY_SCOPE)
55
56 ### Make the *.h files with *.h.in files
57 include(${PROJECT_DIRECTORY}/CPACK/CMakeCompleteInFiles.txt OPTIONAL NO_POLICY_SCOPE)
58
59 ### Make Libs
60 add_definitions("${INCLUDES}")
61
62 add_library(simgrid SHARED ${simgrid_sources})
63 add_library(gras SHARED ${gras_sources})
64
65 ### Make the distrib
66
67 include(${PROJECT_DIRECTORY}/CPACK/CMakeDistrib.txt OPTIONAL NO_POLICY_SCOPE)
68
69