cmake_minimum_required(VERSION 2.8) project(chill) set(CHILL_VERSION 0.2.1) # 2.8 doesn't support project version clause if(NOT DEFINED ROSEHOME) message( FATAL_ERROR "ROSEHOME is not set, try use -DROSEHOME" ) endif() if (NOT DEFINED BOOSTHOME) message( FATAL_ERROR "BOOSTHOME is not set, try use -DBOOSTHOME" ) endif() find_package(PythonLibs 2.7 REQUIRED) string(TIMESTAMP build_date "\\\"%m/%d/%Y\\\"") set(CORE_LIBS m rose rt util omega codegen rosecg dl parseRel boost_date_time boost_filesystem boost_program_options boost_regex boost_system boost_wave boost_iostreams) set(CORE_SRC src/dep.cc src/irtools.cc src/loop.cc src/loop_basic.cc src/loop_datacopy.cc src/loop_extra.cc src/loop_tile.cc src/loop_unroll.cc src/omegatools.cc ) set(IR_CHILL_SRC src/ir_rose.cc src/ir_rose_utils.cc ) set(PYTHON_SRC src/chillmodule.cc ) set(COMMON_FLAGS "-DCHILL_BUILD_DATE=\"${build_date}\" -DCHILL_BUILD_VERSION=\"\\\"${CHILL_VERSION}\\\"\"") set(CMAKE_CXX_FLAGS "${COMMON_FLAGS} ${CMAKE_CXX_FLAGS}") if (DEFINED OMEGAHOME) link_directories(${OMEGAHOME}/lib) set(OMEGA_INC ${OMEGAHOME}/include) else() set(OMEGA_INC ${CMAKE_CURRENT_SOURCE_DIR}/lib/omega/include ${CMAKE_CURRENT_SOURCE_DIR}/lib/parserel/include ${CMAKE_CURRENT_SOURCE_DIR}/lib/codegen/include ) endif() link_directories(${ROSEHOME}/lib ${BOOSTOME}/lib) include_directories( include lib/rosecg/include ${OMEGA_INC} ${ROSEHOME}/include ${ROSEHOME}/include/rose ${BOOSTHOME}/include ${PYTHON_INCLUDE_DIRS}) add_executable(chill src/chill.cc ${CORE_SRC} ${PYTHON_SRC} ${IR_CHILL_SRC}) target_link_libraries(chill ${CORE_LIBS} ${PYTHON_LIBRARY}) add_dependencies(chill omega codegen rosecg parseRel) install(TARGETS chill RUNTIME DESTINATION bin) add_subdirectory(lib/omega) add_subdirectory(lib/codegen) add_subdirectory(lib/rosecg) add_subdirectory(lib/parserel) add_subdirectory(doc)