###################################################################################### ### 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) ######################################################################################