cmake_minimum_required(VERSION 2.8)
cmake_policy(SET CMP0015 OLD)
list(APPEND CMAKE_MODULE_PATH "cmake")
##### BUILD ############################################################
project(sampler)
set(EXECUTABLE_OUTPUT_PATH ./bin)
find_package(Boost 1.42.0 COMPONENTS program_options REQUIRED)
find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGl REQUIRED)
find_package(OpenGL REQUIRED)
Find_Package (SDL REQUIRED )
Find_Package (SDL_image REQUIRED )
include(${QT_USE_FILE})
include_directories(
${PROJECT_SOURCE_DIR}/src
${Boost_INCLUDE_DIR}
${QT_QTOPENGL_INCLUDE_DIR}
${OPENGL_INCLUDE_DIR}
${PROJECT_BINARY_DIR}
)
link_directories(
${Boost_LIBRARY_DIRS}
${OPENGL_LIBRARY_DIRS}
)
######## External Data for production/barycenter/lut files######
##
## Data files will be located in the {build-folder}/data/lut/
##
include(ExternalData)
set (ExternalData_TIMEOUT_ABSOLUTE 0)
list(APPEND ExternalData_URL_TEMPLATES
"http://liris.cnrs.fr/polyhex/data/%(algo)-%(hash)")
ExternalData_Expand_Arguments(
GetData
OUT-data
DATA{data/lut/production_rules.dat}
DATA{data/lut/barycenters.dat}
)
MESSAGE(STATUS "PATH to the data files: ${OUT-data}")
ExternalData_Add_Target(GetData)
ExternalData_Expand_Arguments(
GetLUT
OUT-LUT
DATA{data/lut/offsets_bnot.dat}
)
MESSAGE(STATUS "PATH to the LUT file: ${OUT-LUT}")
ExternalData_Add_Target(GetLUT)
set_target_properties(GetLUT PROPERTIES EXCLUDE_FROM_ALL "TRUE")
##########"
file(GLOB sampler-core-src ${PROJECT_SOURCE_DIR}/src/*.cpp )
file(GLOB sampler-gui-src ${PROJECT_SOURCE_DIR}/src/gui/*.cpp )
file(GLOB sampler-gui-hdr ${PROJECT_SOURCE_DIR}/src/gui/*.hpp )
add_executable(sampler-cli ${PROJECT_SOURCE_DIR}/src/main/cli.cpp ${sampler-core-src})
target_link_libraries(
sampler-cli
${Boost_LIBRARIES}
${SDL_LIBRARY}
${SDLIMAGE_LIBRARY}
)
qt4_wrap_cpp(sampler-gui-moc ${sampler-gui-hdr})
add_executable(sampler-gui src/main/gui.cpp ${sampler-gui-moc} ${sampler-gui-src} ${sampler-core-src})
target_link_libraries(
sampler-gui
${Boost_LIBRARIES}
${QT_LIBRARIES}
${OPENGL_LIBRARY}
${SDL_LIBRARY}
${SDLIMAGE_LIBRARY}
)
add_executable(sampler-test src/main/test.cpp ${sampler-core-src})
target_link_libraries(
sampler-test
${Boost_LIBRARIES}
${SDL_LIBRARY}
${SDLIMAGE_LIBRARY}
)
install(
PROGRAMS
./bin/sampler-cli
./bin/sampler-gui
DESTINATION bin
)
#------------------------------------------------------------------------------
# Configuration of the Config.h
#------------------------------------------------------------------------------
CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/src/config.h.in
${PROJECT_BINARY_DIR}/config.h)