reduce compile time after each time cmake configure is executed (swig)
This commit is contained in:
@@ -90,7 +90,27 @@ generate_from_xml(UnitPy)
|
||||
generate_from_xml(QuantityPy)
|
||||
|
||||
if(SWIG_FOUND)
|
||||
execute_process(COMMAND ${SWIG_EXECUTABLE} -python -external-runtime ${CMAKE_CURRENT_BINARY_DIR}/swigpyrun.h)
|
||||
# Create the file swigpyrun.hh and then compare with the file swigpyrun.h.
|
||||
# If the files are different or if swigpyrun.h doesn't exist then copy swigpyrun.hh.
|
||||
# This is to avoid to having to build the target each time cmake configure is executed.
|
||||
execute_process(COMMAND ${SWIG_EXECUTABLE} -python -external-runtime ${CMAKE_CURRENT_BINARY_DIR}/swigpyrun.hh)
|
||||
if (EXISTS "${CMAKE_CURRENT_BINARY_DIR}/swigpyrun.h")
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${CMAKE_CURRENT_BINARY_DIR}/swigpyrun.hh
|
||||
${CMAKE_CURRENT_BINARY_DIR}/swigpyrun.h
|
||||
RESULT_VARIABLE DIFFERENT_FILES
|
||||
OUTPUT_QUIET
|
||||
ERROR_QUIET
|
||||
)
|
||||
|
||||
if (DIFFERENT_FILES)
|
||||
execute_process(COMMAND "${CMAKE_COMMAND}" -E copy "${CMAKE_CURRENT_BINARY_DIR}/swigpyrun.hh"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/swigpyrun.h")
|
||||
endif()
|
||||
else()
|
||||
execute_process(COMMAND "${CMAKE_COMMAND}" -E copy "${CMAKE_CURRENT_BINARY_DIR}/swigpyrun.hh"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/swigpyrun.h")
|
||||
endif()
|
||||
add_definitions(-DHAVE_SWIG=1)
|
||||
endif(SWIG_FOUND)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user