cmake_minimum_required( VERSION 2.6 ) #------------------------------------------------------------------------------ # Options # option( DEBUG_XILINX "XILINX debug mode" OFF ) option( DEBUG_WRITEBUFFER "Display data written to the send buffer" OFF ) option( DEBUG_READBACK "Display TDO output" OFF ) option( DEBUG_FLAGS "Display command count and iXSDRCflag debug information" OFF ) if( DEBUG_XILINX ) add_definitions( -DDEBUG_MODE ) endif( DEBUG_XILINX ) if( DEBUG_WRITEBUFFER ) add_definitions( -DDEBUG_WRITEBUFFER ) endif( DEBUG_WRITEBUFFER ) if( DEBUG_READBACK ) add_definitions( -DDEBUG_READBACK ) endif( DEBUG_READBACK ) if( DEBUG_FLAGS ) add_definitions( -DDEBUG_FLAGS ) endif( DEBUG_FLAGS ) add_definitions( -O3 ) #------------------------------------------------------------------------------ # Build # set( playxsvf_SOURCES defs lenval micro ports ) add_library( xsvf ${playxsvf_SOURCES} ) add_executable( playxsvf playxsvf.c ) target_link_libraries( playxsvf xsvf pthread ) #------------------------------------------------------------------------------ # Build ipkg for DCS board only # -> use absolute paths! # -> produce CONTROL file # -> install everything in fstree under ${PROJECT_BINARY_DIR}/IPKG # if( CMAKE_PACKAGE_FOR_SYSTEM STREQUAL "dcsboard" ) include( ipkg_macros ) set( CMAKE_IPKG_WORKING_DIR ${CMAKE_CURRENT_BINARY_DIR} ) set( CMAKE_IPKG_ROOT_DIR ${CMAKE_CURRENT_BINARY_DIR}/ipkg ) install( TARGETS xsvf DESTINATION ${CMAKE_IPKG_ROOT_DIR}/${CMAKE_IPKG_INSTALL_PREFIX}/lib ) install( TARGETS playxsvf DESTINATION ${CMAKE_IPKG_ROOT_DIR}/${CMAKE_IPKG_INSTALL_PREFIX}/bin ) set( CMAKE_IPKG_NAME "playxsvf" ) set( CMAKE_IPKG_DEPENDS "" ) set( CMAKE_IPKG_PACKAGE_DESCRIPTION "XSVF player library and executable for DCS board" ) # # update ipkg control file with target 'playxsvf' update_IPKG_CONTROL( playxsvf ) # add_custom_command( TARGET playxsvf POST_BUILD # COMMAND ${CMAKE_COMMAND} # -D CMAKE_MODULE_PATH:PATH=${CMAKE_MODULE_PATH} # -D CMAKE_CURRENT_SOURCE_DIR:PATH=${CMAKE_CURRENT_SOURCE_DIR} # -D CMAKE_IPKG_ROOT_DIR:PATH=${CMAKE_IPKG_ROOT_DIR} # -D CMAKE_IPKG_NAME:STRING=${CMAKE_IPKG_NAME} # -D CMAKE_IPKG_ARCHITECTURE:STRING=${CMAKE_SYSTEM_PROCESSOR} # -D CMAKE_IPKG_DEPENDS:STRING=${CMAKE_IPKG_DEPENDS} # -D CMAKE_IPKG_PACKAGE_DESCRIPTION:STRING=${CMAKE_IPKG_PACKAGE_DESCRIPTION} # -P ${CMAKE_MODULE_PATH}/ipkg_control.cmake # COMMENT "Updating ipkg for ${CMAKE_IPKG_NAME}" # WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} # ) # # make it possible to install control file in DESTDIR install( DIRECTORY ${CMAKE_IPKG_ROOT_DIR}/CONTROL DESTINATION ${CMAKE_IPKG_ROOT_DIR} ) # no package scripts for playxsvf # # add target to package the file update_IPKG_PACKAGE() # add_custom_target( ${CMAKE_IPKG_NAME}_ipkg # COMMAND ${CMAKE_COMMAND} # -D CMAKE_MODULE_PATH:PATH=${CMAKE_MODULE_PATH} # -D CMAKE_IPKG_PACKAGE_DIR:PATH=${CMAKE_IPKG_PACKAGE_DIR} # -D CMAKE_IPKG_WORKING_DIR:PATH=${CMAKE_IPKG_WORKING_DIR} # -P ${CMAKE_MODULE_PATH}/ipkg_package.cmake # COMMENT "Packaging ipkg ${CMAKE_IPKG_NAME}" # ) endif( CMAKE_PACKAGE_FOR_SYSTEM STREQUAL "dcsboard" )