find_program(PYTHON "python") set(update_target update) set(generate_target generate) if(PYTHON) message(STATUS "Command update") message(STATUS "Command generate") add_custom_target(${update_target}) add_custom_target(${generate_target}) add_custom_command( TARGET ${update_target} PRE_BUILD WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND ${PYTHON} scripts/update.py -f gl.xml -r gl.revision COMMENT "Updating gl.xml from public SVN." ) add_custom_command( TARGET ${generate_target} PRE_BUILD WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND ${PYTHON} scripts/generate.py -s gl.xml -p patch.xml -d ../source/glbinding -r gl.revision COMMENT "Generating OpenGL binding code." ) # Declare target set_target_properties(${update_target} PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD 1) set_target_properties(${generate_target} PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD 1) else() message("Command update skipped: python not found") message("Command generate skipped: python not found") endif()