Skip to content

Commit

Permalink
custom rules files
Browse files Browse the repository at this point in the history
  • Loading branch information
Troy Straszheim committed Dec 1, 2011
1 parent 02131e0 commit 2550691
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 47 deletions.
4 changes: 3 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,6 @@ install(PROGRAMS
)

catkin_package(catkin)
enable_python(catkin)
enable_python(catkin)

stamp(cmake/catkin_generate_debian.py)
18 changes: 15 additions & 3 deletions cmake/catkin_generate_debian.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
#!/usr/bin/env python

from __future__ import print_function
import sys, yaml, pprint, em, os.path, datetime, dateutil.tz, platform
import sys, yaml, pprint, em, os.path, datetime, dateutil.tz, platform, catkin

cache = catkin.load_cmake_cache(sys.argv[5])

ctxfile = sys.argv[1]
ctx = {}
execfile(ctxfile, ctx)
cache.update(ctx)

infile = sys.argv[2]
templatedir = sys.argv[3]
outdir = sys.argv[4]
Expand All @@ -15,13 +19,21 @@

stackyaml = open(infile)


d = yaml.load(stackyaml)
d.update(ctx)
d.update(cache)
srcdir = d[d['Catkin-ProjectName'] + '_SOURCE_DIR']
def debexpand(name, d, filetype=''):
ifilename = os.path.join(templatedir, name)

if filetype != '':
ifilename += ('.' + filetype)
ifilename += '.em'
if filetype.startswith('custom:'):
ifilename = os.path.join(srcdir, filetype[7:])
else:
ifilename += ('.' + filetype + '.em')
else:
ifilename += '.em'
file_em = open(ifilename).read()

s = em.expand(file_em, **d)
Expand Down
50 changes: 7 additions & 43 deletions cmake/debian-util.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,63 +12,27 @@ function(catkin_package PKGNAME)
return()
endif()

# file(GLOB EMFILES ${CMAKE_CURRENT_SOURCE_DIR}/debian/*.em)
# foreach(file ${EMFILES})
# get_filename_component(basename ${file} NAME_WE)
# assert(catkin_DIR)
# assert_file_exists(${CATKIN_CONTEXT_FILE} "catkin context file, while in package ${PKGNAME}")
# log(2 "Expanding ${file} to ${basename}")
#
# safe_execute_process(COMMAND ${EMPY_EXECUTABLE} --raw-errors -F
# ${CATKIN_CONTEXT_FILE} -o ${CMAKE_CURRENT_SOURCE_DIR}/debian/${basename} ${file}
# )
# assert_file_exists(${CMAKE_CURRENT_SOURCE_DIR}/debian/${basename}
# "in package ${PKGNAME}: Should have been generated by empy")
# endforeach()
#
# foreach(f control control.em changelog changelog.em rules)
# if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/debian/${f})
# configure_file(${CMAKE_CURRENT_SOURCE_DIR}/debian/${f}
# ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/debian/${f}.stamp
# @ONLY
# )
# endif()
# endforeach()

# see http://www.mail-archive.com/cmake@cmake.org/msg03461.html
# add_custom_target(${PKGNAME}-install
# COMMAND ${CMAKE_COMMAND} -DCOMPONENT=${PACKAGE_NAME} -P cmake_install.cmake
# WORKING_DIRECTORY ${${PACKAGE_NAME}_BINARY_DIR}
# COMMENT "making binary deb for package ${PKGNAME}"
# )
#
# log(1 "${PROJECT_NAME}: Enabling deb target since directory 'debian' exists")
# safe_execute_process(COMMAND /bin/mkdir -p ${CMAKE_BINARY_DIR}/debs)
# add_custom_target(${PROJECT_NAME}-dsc
# COMMAND dpkg-source -b ${CMAKE_CURRENT_SOURCE_DIR}
# WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/debs
# )
# add_dependencies(debs ${PROJECT_NAME}-deb)

#
# Generate control file
#
#
add_custom_command(

OUTPUT
OUTPUT
${PROJECT_SOURCE_DIR}/debian/control
${PROJECT_SOURCE_DIR}/debian/rules
${PROJECT_SOURCE_DIR}/debian/changelog
${PROJECT_SOURCE_DIR}/debian/copyright

COMMAND
COMMAND
${CATKIN_ENV}
${catkin_EXTRAS_DIR}/catkin_generate_debian.py
${CATKIN_CONTEXT_FILE}
${PROJECT_SOURCE_DIR}/stack.yaml # input
${catkin_EXTRAS_DIR}/em # templates
${PROJECT_SOURCE_DIR}/debian # outdir
${CMAKE_BINARY_DIR}

DEPENDS
DEPENDS
${PROJECT_SOURCE_DIR}/stack.yaml
${catkin_EXTRAS_DIR}/catkin_generate_debian.py
${catkin_EXTRAS_DIR}/em/control.em
Expand All @@ -80,7 +44,7 @@ function(catkin_package PKGNAME)
add_custom_target(
${PROJECT_NAME}-gendebian

DEPENDS
DEPENDS
${PROJECT_SOURCE_DIR}/debian/control
${PROJECT_SOURCE_DIR}/debian/rules
${PROJECT_SOURCE_DIR}/debian/changelog
Expand Down

0 comments on commit 2550691

Please sign in to comment.