From a1b212cabcd5cd345a1bc383a8bc063502f72b67 Mon Sep 17 00:00:00 2001 From: legrand Date: Thu, 5 Jul 2007 08:26:33 +0000 Subject: [PATCH] new cmake config git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@516 331e1502-861f-0410-8da2-ba01fb791d7f --- trunk/paradiseo-mo/CMakeLists.txt | 12 ++++-------- trunk/paradiseo-mo/mo-conf.cmake | 17 ++++------------- trunk/paradiseo-mo/tutorial/CMakeLists.txt | 5 +++-- .../tutorial/Lesson1/CMakeLists.txt | 11 ++++------- .../tutorial/Lesson2/CMakeLists.txt | 10 ++++------ .../tutorial/Lesson3/CMakeLists.txt | 10 ++++------ .../tutorial/examples/CMakeLists.txt | 3 +++ .../tutorial/examples/tsp/CMakeLists.txt | 17 ++++++++++++++++- 8 files changed, 42 insertions(+), 43 deletions(-) diff --git a/trunk/paradiseo-mo/CMakeLists.txt b/trunk/paradiseo-mo/CMakeLists.txt index 2bcf20db3..bea386899 100644 --- a/trunk/paradiseo-mo/CMakeLists.txt +++ b/trunk/paradiseo-mo/CMakeLists.txt @@ -12,12 +12,8 @@ INCLUDE(mo-conf.cmake OPTIONAL) ### 1) Main project config ###################################################################################### -IF(NOT DEFINED ${PROJECT_NAME} OR ${PROJECT_NAME} STREQUAL "Project") - SET(PROJECT_NAME "ParadisEO-MO") -ENDIF(NOT DEFINED ${PROJECT_NAME} OR ${PROJECT_NAME} STREQUAL "Project") - # set the project name -PROJECT(${PROJECT_NAME}) +PROJECT(ParadisEO-MO) # check cmake version compatibility CMAKE_MINIMUM_REQUIRED(VERSION 2.4 FATAL_ERROR) @@ -52,7 +48,7 @@ INCLUDE(CheckLibraryExists) ###################################################################################### IF(NOT DEFINED MO_DIR) - SET(MO_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH "ParadisEO-MO main directory") + SET(MO_DIR ${ParadisEO-MO_SOURCE_DIR} CACHE PATH "ParadisEO-MO main directory") ENDIF(NOT DEFINED MO_DIR) # Need main EO directory path @@ -68,11 +64,11 @@ IF(NOT DEFINED EO_SRC_DIR) ENDIF(NOT DEFINED EO_SRC_DIR) IF(NOT DEFINED MO_SRC_DIR) - SET(MO_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src) + SET(MO_SRC_DIR ${MO_DIR}/src) ENDIF(NOT DEFINED MO_SRC_DIR) IF(NOT DEFINED MO_DOC_DIR) - SET(MO_DOC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/doc) + SET(MO_DOC_DIR ${MO_DIR}/doc) ENDIF(NOT DEFINED MO_DOC_DIR) ###################################################################################### diff --git a/trunk/paradiseo-mo/mo-conf.cmake b/trunk/paradiseo-mo/mo-conf.cmake index df724469e..af8513804 100755 --- a/trunk/paradiseo-mo/mo-conf.cmake +++ b/trunk/paradiseo-mo/mo-conf.cmake @@ -3,31 +3,22 @@ ###################################################################################### ### In this file, you can specify many CMake variables used to build paradisEO-MO. ### For example, if you don't want ot give the EO path each time on the command line, -### uncomment the line the "SET(PROJECT_NAME...)" and set your favorite name. +### uncomment the line the "SET(EO_DIR...)" and set your path. ### The section numbers are the same as those used in the CMakeLists.txt file. ###################################################################################### ###################################################################################### -###################################################################################### -### 0) OPTIONNAL - Overwrite project default config -###################################################################################### - -# SET(PROJECT_NAME "ParadisEO-MO") - -###################################################################################### - - ###################################################################################### ### 3) OPTIONNAL - Overwrite default paths ###################################################################################### -# SET(MOEO_DIR "" CACHE PATH "ParadisEO-MO main directory") +# SET(MO_DIR "" CACHE PATH "ParadisEO-MO main directory") # SET(EO_DIR "" CACHE PATH "ParadisEO-EO main directory") # SET(EO_SRC_DIR "") -# SET(MOEO_SRC_DIR "") -# SET(MOEO_DOC_DIR "") +# SET(MO_SRC_DIR "") +# SET(MO_DOC_DIR "") ###################################################################################### diff --git a/trunk/paradiseo-mo/tutorial/CMakeLists.txt b/trunk/paradiseo-mo/tutorial/CMakeLists.txt index e006efb8a..0bc6daac1 100644 --- a/trunk/paradiseo-mo/tutorial/CMakeLists.txt +++ b/trunk/paradiseo-mo/tutorial/CMakeLists.txt @@ -1,9 +1,10 @@ ###################################################################################### -### 2) Definitions (required for tsp target) +### 1) Definitions (required for tsp target) ###################################################################################### -SET(TSP_EXAMPLE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/examples/tsp CACHE PATH "TSP example directory") +SET(TSP_SRC_DIR ${ParadisEO-MO_SOURCE_DIR}/tutorial/examples/tsp CACHE PATH "TSP src directory") +SET(TSP_BINARY_DIR ${ParadisEO-MO_BINARY_DIR}/tutorial/examples/tsp CACHE PATH "TSP binary directory") ###################################################################################### diff --git a/trunk/paradiseo-mo/tutorial/Lesson1/CMakeLists.txt b/trunk/paradiseo-mo/tutorial/Lesson1/CMakeLists.txt index 689edd330..c9411d93c 100644 --- a/trunk/paradiseo-mo/tutorial/Lesson1/CMakeLists.txt +++ b/trunk/paradiseo-mo/tutorial/Lesson1/CMakeLists.txt @@ -7,7 +7,7 @@ INCLUDE_DIRECTORIES(${EO_SRC_DIR}) INCLUDE_DIRECTORIES(${EO_SRC_DIR}/utils) INCLUDE_DIRECTORIES(${MO_SRC_DIR}) -INCLUDE_DIRECTORIES(${TSP_EXAMPLE_DIR}/src) +INCLUDE_DIRECTORIES(${TSP_SRC_DIR}) ###################################################################################### @@ -18,8 +18,7 @@ INCLUDE_DIRECTORIES(${TSP_EXAMPLE_DIR}/src) # --> UNIX IF(UNIX) - LINK_DIRECTORIES(${EO_SRC_DIR} ${EO_SRC_DIR}/utils ${TSP_EXAMPLE_DIR}/build) - + LINK_DIRECTORIES(${EO_SRC_DIR} ${EO_SRC_DIR}/utils ${TSP_BINARY_DIR}/lib) # --> WIN ELSEIF(WIN32) # "CMAKE_BUILD_TYPE" supposed to be given on the command line, default=Debug @@ -28,10 +27,10 @@ ELSEIF(WIN32) ENDIF (NOT DEFINED CMAKE_BUILD_TYPE) IF (CMAKE_BUILD_TYPE STREQUAL Debug) - LINK_DIRECTORIES(${TSP_EXAMPLE_DIR}\\build\\debug) + LINK_DIRECTORIES(${TSP_BINARY_DIR}\\debug) LINK_DIRECTORIES(${EO_LIB_DIR}\\debug) ELSEIF(CMAKE_BUILD_TYPE STREQUAL Release) - LINK_DIRECTORIES(${TSP_EXAMPLE_DIR}\\build\\release) + LINK_DIRECTORIES(${TSP_BINARY_DIR}\\release) LINK_DIRECTORIES(${EO_LIB_DIR}\\release) ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug) @@ -49,8 +48,6 @@ ENDIF(UNIX) ADD_EXECUTABLE(hill_climbing hill_climbing.cpp) ADD_DEPENDENCIES(hill_climbing tsp) - -SET(EXECUTABLE_OUTPUT_PATH ${TUTORIAL_LESSON1_DIR}/build) ###################################################################################### diff --git a/trunk/paradiseo-mo/tutorial/Lesson2/CMakeLists.txt b/trunk/paradiseo-mo/tutorial/Lesson2/CMakeLists.txt index dee048c1f..ca7dbfd4d 100644 --- a/trunk/paradiseo-mo/tutorial/Lesson2/CMakeLists.txt +++ b/trunk/paradiseo-mo/tutorial/Lesson2/CMakeLists.txt @@ -7,7 +7,7 @@ INCLUDE_DIRECTORIES(${EO_SRC_DIR}) INCLUDE_DIRECTORIES(${EO_SRC_DIR}/utils) INCLUDE_DIRECTORIES(${MO_SRC_DIR}) -INCLUDE_DIRECTORIES(${TSP_EXAMPLE_DIR}/src) +INCLUDE_DIRECTORIES(${TSP_SRC_DIR}) ###################################################################################### @@ -18,7 +18,7 @@ INCLUDE_DIRECTORIES(${TSP_EXAMPLE_DIR}/src) # --> UNIX IF(UNIX) - LINK_DIRECTORIES(${EO_SRC_DIR} ${EO_SRC_DIR}/utils ${TSP_EXAMPLE_DIR}/build) + LINK_DIRECTORIES(${EO_SRC_DIR} ${EO_SRC_DIR}/utils ${TSP_BINARY_DIR}/lib) # --> WIN ELSEIF(WIN32) @@ -28,10 +28,10 @@ ELSEIF(WIN32) ENDIF (NOT DEFINED CMAKE_BUILD_TYPE) IF (CMAKE_BUILD_TYPE STREQUAL Debug) - LINK_DIRECTORIES(${TSP_EXAMPLE_DIR}\\build\\debug) + LINK_DIRECTORIES(${TSP_BINARY_DIR}\\debug) LINK_DIRECTORIES(${EO_LIB_DIR}\\debug) ELSEIF(CMAKE_BUILD_TYPE STREQUAL Release) - LINK_DIRECTORIES(${TSP_EXAMPLE_DIR}\\build\\release) + LINK_DIRECTORIES(${TSP_BINARY_DIR}\\release) LINK_DIRECTORIES(${EO_LIB_DIR}\\release) ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug) @@ -49,8 +49,6 @@ ENDIF(UNIX) ADD_EXECUTABLE(tabu_search tabu_search.cpp) ADD_DEPENDENCIES(tabu_search tsp) - -SET(EXECUTABLE_OUTPUT_PATH ${TUTORIAL_LESSON2_DIR}/build) ###################################################################################### diff --git a/trunk/paradiseo-mo/tutorial/Lesson3/CMakeLists.txt b/trunk/paradiseo-mo/tutorial/Lesson3/CMakeLists.txt index 9a1e23689..905745977 100644 --- a/trunk/paradiseo-mo/tutorial/Lesson3/CMakeLists.txt +++ b/trunk/paradiseo-mo/tutorial/Lesson3/CMakeLists.txt @@ -7,7 +7,7 @@ INCLUDE_DIRECTORIES(${EO_SRC_DIR}) INCLUDE_DIRECTORIES(${EO_SRC_DIR}/utils) INCLUDE_DIRECTORIES(${MO_SRC_DIR}) -INCLUDE_DIRECTORIES(${TSP_EXAMPLE_DIR}/src) +INCLUDE_DIRECTORIES(${TSP_SRC_DIR}) ###################################################################################### @@ -18,7 +18,7 @@ INCLUDE_DIRECTORIES(${TSP_EXAMPLE_DIR}/src) # --> UNIX IF(UNIX) - LINK_DIRECTORIES(${EO_SRC_DIR} ${EO_SRC_DIR}/utils ${TSP_EXAMPLE_DIR}/build) + LINK_DIRECTORIES(${EO_SRC_DIR} ${EO_SRC_DIR}/utils ${TSP_BINARY_DIR}/lib) # --> WIN ELSEIF(WIN32) @@ -28,10 +28,10 @@ ELSEIF(WIN32) ENDIF (NOT DEFINED CMAKE_BUILD_TYPE) IF (CMAKE_BUILD_TYPE STREQUAL Debug) - LINK_DIRECTORIES(${TSP_EXAMPLE_DIR}\\build\\debug) + LINK_DIRECTORIES(${TSP_BINARY_DIR}\\debug) LINK_DIRECTORIES(${EO_LIB_DIR}\\debug) ELSEIF(CMAKE_BUILD_TYPE STREQUAL Release) - LINK_DIRECTORIES(${TSP_EXAMPLE_DIR}\\build\\release) + LINK_DIRECTORIES(${TSP_BINARY_DIR}\\release) LINK_DIRECTORIES(${EO_LIB_DIR}\\release) ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug) @@ -49,8 +49,6 @@ ENDIF(UNIX) ADD_EXECUTABLE(simulated_annealing simulated_annealing.cpp) ADD_DEPENDENCIES(simulated_annealing tsp) - -SET(EXECUTABLE_OUTPUT_PATH ${TUTORIAL_LESSON3_DIR}/build) ###################################################################################### diff --git a/trunk/paradiseo-mo/tutorial/examples/CMakeLists.txt b/trunk/paradiseo-mo/tutorial/examples/CMakeLists.txt index 033b9a594..7d024ee3a 100644 --- a/trunk/paradiseo-mo/tutorial/examples/CMakeLists.txt +++ b/trunk/paradiseo-mo/tutorial/examples/CMakeLists.txt @@ -1,4 +1,5 @@ + ###################################################################################### ### 1) Where must cmake go now ? ###################################################################################### @@ -6,3 +7,5 @@ SUBDIRS(tsp) ###################################################################################### + + diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/CMakeLists.txt b/trunk/paradiseo-mo/tutorial/examples/tsp/CMakeLists.txt index af8fe6133..647b83540 100755 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/CMakeLists.txt +++ b/trunk/paradiseo-mo/tutorial/examples/tsp/CMakeLists.txt @@ -1,4 +1,19 @@ +###################################################################################### +### 0) Copy the "benchs" directory in the build directory to easily run the lessons +###################################################################################### + +ADD_CUSTOM_TARGET(copy_tsp_benchmarks ALL) +ADD_CUSTOM_COMMAND( + TARGET copy_tsp_benchmarks + POST_BUILD + COMMAND ${CMAKE_COMMAND} + ARGS -E copy_directory + ${ParadisEO-MO_SOURCE_DIR}/tutorial/examples/tsp/benchs + ${ParadisEO-MO_BINARY_DIR}/tutorial/examples/tsp/benchs) + +###################################################################################### + ###################################################################################### ### 1) Include the sources @@ -14,7 +29,7 @@ INCLUDE_DIRECTORIES(${MO_SRC_DIR}) ### 2) Define your target(s): just the tsp here ###################################################################################### -SET(TSP_LIB_OUTPUT_PATH ${TSP_EXAMPLE_DIR}/build) +SET(TSP_LIB_OUTPUT_PATH ${TSP_BINARY_DIR}/lib) SET(LIBRARY_OUTPUT_PATH ${TSP_LIB_OUTPUT_PATH}) SET (TSP_SOURCES graph.cpp