paradiseo/problems/DTLZ/application/CMakeLists.txt

77 lines
3.1 KiB
CMake

######################################################################################
### 1) Include the sources
######################################################################################
INCLUDE_DIRECTORIES(${PARADISEO_EO_SRC_DIR}/src
${PARADISEO_MO_SRC_DIR}/src
${PARADISEO_MOEO_SRC_DIR}/src
${DTLZ_SOURCE_DIR}/src)
######################################################################################
######################################################################################
### 2) Specify where CMake can find the libraries
######################################################################################
LINK_DIRECTORIES(${PARADISEO_DIR}/build/lib)
LINK_DIRECTORIES(${PARADISEO_EO_BIN_DIR}/lib)
LINK_DIRECTORIES(${PARADISEO_MOEO_BIN_DIR}/lib)
LINK_DIRECTORIES(${DTLZ_BINARY_DIR}/lib)
######################################################################################
######################################################################################
### 3) Define your target: just an executable here
######################################################################################
ADD_EXECUTABLE(DTLZ_SPEA2 DTLZ_SPEA2.cpp)
ADD_EXECUTABLE(DTLZ_NSGAII DTLZ_NSGAII.cpp)
ADD_EXECUTABLE(DTLZ_IBEA DTLZ_IBEA.cpp)
ADD_DEPENDENCIES(DTLZ_SPEA2 lDTLZ)
ADD_DEPENDENCIES(DTLZ_NSGAII lDTLZ)
ADD_DEPENDENCIES(DTLZ_IBEA lDTLZ)
######################################################################################
######################################################################################
### 4) Link the librairies for your executable
######################################################################################
# Only if you need to link libraries
TARGET_LINK_LIBRARIES(DTLZ_SPEA2 moeo eo eoutils lDTLZ)
TARGET_LINK_LIBRARIES(DTLZ_NSGAII moeo eo eoutils lDTLZ)
TARGET_LINK_LIBRARIES(DTLZ_IBEA moeo eo eoutils lDTLZ)
######################################################################################
######################################################################################
### 5) Copy the instances and the "param" file in the build path for an easy use.
###
### --> run the "make install" target to copy the parameter file / instances
### in the directory where you build the application
######################################################################################
ADD_CUSTOM_TARGET(install DEPENDS ${DTLZ_SOURCE_DIR}/application/IBEA.param
${DTLZ_SOURCE_DIR}/application/NSGAII.param
${DTLZ_SOURCE_DIR}/application/SPEA2.param
${DTLZ_SOURCE_DIR}/application)
ADD_CUSTOM_COMMAND(
TARGET install
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different
${DTLZ_SOURCE_DIR}/application/IBEA.param
${DTLZ_BINARY_DIR}/application
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different
${DTLZ_SOURCE_DIR}/application/NSGAII.param
${DTLZ_BINARY_DIR}/application
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different
${DTLZ_SOURCE_DIR}/application/SPEA2.param
${DTLZ_BINARY_DIR}/application)
######################################################################################