Line
Link Here
|
0 |
-- cmake/modules/PythonMacros.cmake |
0 |
++ cmake/modules/PythonMacros.cmake |
Lines 23-62
Link Here
|
23 |
# Install the source file. |
23 |
# Install the source file. |
24 |
INSTALL(FILES ${SOURCE_FILE} DESTINATION ${DESINATION_DIR}) |
24 |
INSTALL(FILES ${SOURCE_FILE} DESTINATION ${DESINATION_DIR}) |
25 |
|
25 |
|
26 |
# Byte compile and install the .pyc file. |
26 |
# Byte compile and install the .pyc file. |
27 |
GET_FILENAME_COMPONENT(_absfilename ${SOURCE_FILE} ABSOLUTE) |
27 |
IF("$ENV{PYTHONDONTWRITEBYTECODE}" STREQUAL "") |
28 |
GET_FILENAME_COMPONENT(_filename ${SOURCE_FILE} NAME) |
28 |
GET_FILENAME_COMPONENT(_absfilename ${SOURCE_FILE} ABSOLUTE) |
29 |
GET_FILENAME_COMPONENT(_filenamebase ${SOURCE_FILE} NAME_WE) |
29 |
GET_FILENAME_COMPONENT(_filename ${SOURCE_FILE} NAME) |
30 |
GET_FILENAME_COMPONENT(_basepath ${SOURCE_FILE} PATH) |
30 |
GET_FILENAME_COMPONENT(_filenamebase ${SOURCE_FILE} NAME_WE) |
31 |
|
31 |
GET_FILENAME_COMPONENT(_basepath ${SOURCE_FILE} PATH) |
32 |
if(WIN32) |
32 |
|
33 |
string(REGEX REPLACE ".:/" "/" _basepath "${_basepath}") |
33 |
if(WIN32) |
34 |
endif(WIN32) |
34 |
string(REGEX REPLACE ".:/" "/" _basepath "${_basepath}") |
35 |
|
35 |
endif(WIN32) |
36 |
SET(_bin_py ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filename}) |
36 |
|
37 |
SET(_bin_pyc ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filenamebase}.pyc) |
37 |
SET(_bin_py ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filename}) |
38 |
|
38 |
SET(_bin_pyc ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filenamebase}.pyc) |
39 |
FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}) |
39 |
|
40 |
|
40 |
FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}) |
41 |
SET(_message "-DMESSAGE=Byte-compiling ${_bin_py}") |
41 |
|
42 |
|
42 |
SET(_message "-DMESSAGE=Byte-compiling ${_bin_py}") |
43 |
GET_FILENAME_COMPONENT(_abs_bin_py ${_bin_py} ABSOLUTE) |
43 |
|
44 |
IF(_abs_bin_py STREQUAL ${_absfilename}) # Don't copy the file onto itself. |
44 |
GET_FILENAME_COMPONENT(_abs_bin_py ${_bin_py} ABSOLUTE) |
45 |
ADD_CUSTOM_COMMAND( |
45 |
IF(_abs_bin_py STREQUAL ${_absfilename}) # Don't copy the file onto itself. |
46 |
TARGET compile_python_files |
46 |
ADD_CUSTOM_COMMAND( |
47 |
COMMAND ${CMAKE_COMMAND} -E echo ${message} |
47 |
TARGET compile_python_files |
48 |
COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py} |
48 |
COMMAND ${CMAKE_COMMAND} -E echo ${message} |
49 |
DEPENDS ${_absfilename} |
49 |
COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py} |
50 |
) |
50 |
DEPENDS ${_absfilename} |
51 |
ELSE(_abs_bin_py STREQUAL ${_absfilename}) |
51 |
) |
52 |
ADD_CUSTOM_COMMAND( |
52 |
ELSE(_abs_bin_py STREQUAL ${_absfilename}) |
53 |
TARGET compile_python_files |
53 |
ADD_CUSTOM_COMMAND( |
54 |
COMMAND ${CMAKE_COMMAND} -E echo ${message} |
54 |
TARGET compile_python_files |
55 |
COMMAND ${CMAKE_COMMAND} -E copy ${_absfilename} ${_bin_py} |
55 |
COMMAND ${CMAKE_COMMAND} -E echo ${message} |
56 |
COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py} |
56 |
COMMAND ${CMAKE_COMMAND} -E copy ${_absfilename} ${_bin_py} |
57 |
DEPENDS ${_absfilename} |
57 |
COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py} |
58 |
) |
58 |
DEPENDS ${_absfilename} |
59 |
ENDIF(_abs_bin_py STREQUAL ${_absfilename}) |
59 |
) |
|
|
60 |
ENDIF(_abs_bin_py STREQUAL ${_absfilename}) |
60 |
|
61 |
|
61 |
INSTALL(FILES ${_bin_pyc} DESTINATION ${DESINATION_DIR}) |
62 |
INSTALL(FILES ${_bin_pyc} DESTINATION ${DESINATION_DIR}) |
|
|
63 |
ENDIF("$ENV{PYTHONDONTWRITEBYTECODE}" STREQUAL "") |
62 |
ENDMACRO(PYTHON_INSTALL) |
64 |
ENDMACRO(PYTHON_INSTALL) |