lyx_mirror/development/cmake/PyCompile.cmake
Kornel Benko 63f86623cc Backport of chanes made in trunk.
The main differecies to trunk is: Project name branchlyx.
        This is so, to be able to install trunk and branch (rpm or debian) package
        simultaneously. As they do not share the same directories it is
        now easy.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@28878 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-20 14:54:54 +00:00

45 lines
1.4 KiB
CMake

# This file is part of LyX, the document processor.
# Licence details can be found in the file COPYING.
#
# Copyright (c) 2009, Peter Kümmel, <syntheticpp@gmx.net>
# , Kornel Benko, <Kornel.Benko@berlin.de>
#
# _project has to be set before adding
# #include(../PyCompile)
project(${_project})
include(FindPythonInterp)
file(GLOB _py_files ${TOP_SRC_DIR}/lib/${_project}/*.py)
set(py_compile ${TOP_SRC_DIR}/config/py-compile)
set(_generated)
set(ENV{PYTHON} ${PYTHON_EXECUTABLE})
foreach(_orig_py ${_py_files})
get_filename_component(_base_we_py ${_orig_py} NAME_WE)
set(_compiled_py_ "${CMAKE_CURRENT_BINARY_DIR}/${_base_we_py}.pyc" "${CMAKE_CURRENT_BINARY_DIR}/${_base_we_py}.pyo")
set(_copied_py "${CMAKE_CURRENT_BINARY_DIR}/${_base_we_py}.py")
# we need that file really local first, due to the "py_compile"-script
# because the creation will be in the directory of .py-file
add_custom_command(
OUTPUT ${_copied_py}
PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E copy "${_orig_py}" ${_copied_py}
DEPENDS ${_orig_py}
)
add_custom_command(
OUTPUT ${_compiled_py_}
PRE_BUILD
COMMAND ${py_compile} ${_copied_py}
DEPENDS ${_copied_py}
)
SET_SOURCE_FILES_PROPERTIES(${_copied_py} ${_created_py_} GENERATED)
install(FILES ${_compiled_py_} DESTINATION ${_project})
LIST(APPEND _generated ${_compiled_py_})
endforeach(_orig_py)
ADD_CUSTOM_TARGET(${_project} ALL DEPENDS ${_generated})