From ed4023aee70008c47831c34e66fc16581ae024de Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Tue, 8 Nov 2011 18:33:53 -0800 Subject: cmake: tweaks for swig generation module Also use deprecated python inc dirs variable to support older systems. Add current binary and source dir to include paths for dependency searcher. --- gr-howto-write-a-block-cmake/cmake/Modules/GrSwig.cmake | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'gr-howto-write-a-block-cmake') diff --git a/gr-howto-write-a-block-cmake/cmake/Modules/GrSwig.cmake b/gr-howto-write-a-block-cmake/cmake/Modules/GrSwig.cmake index 4be583aa1..51d9203dd 100644 --- a/gr-howto-write-a-block-cmake/cmake/Modules/GrSwig.cmake +++ b/gr-howto-write-a-block-cmake/cmake/Modules/GrSwig.cmake @@ -38,10 +38,18 @@ include(GrPython) macro(GR_SWIG_MAKE name) set(ifiles ${ARGN}) + #append additional include directories + find_package(PythonLibs) + list(APPEND GR_SWIG_INCLUDE_DIRS ${PYTHON_INCLUDE_PATH}) #deprecated name (now dirs) + list(APPEND GR_SWIG_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS}) + list(APPEND GR_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}) + list(APPEND GR_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}) + #determine include dependencies for swig file execute_process( - COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_BINARY_DIR}/get_swig_deps.py - "${ifiles}" "${GR_SWIG_INCLUDE_DIRS}" + COMMAND ${PYTHON_EXECUTABLE} + ${CMAKE_BINARY_DIR}/get_swig_deps.py + "${ifiles}" "${GR_SWIG_INCLUDE_DIRS}" OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE SWIG_MODULE_${name}_EXTRA_DEPS WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} @@ -61,9 +69,6 @@ macro(GR_SWIG_MAKE name) include_directories(${GR_SWIG_INCLUDE_DIRS}) list(APPEND SWIG_MODULE_${name}_EXTRA_DEPS ${tag_file}) - find_package(PythonLibs) - include_directories(${PYTHON_INCLUDE_DIRS}) - #setup the swig flags with flags and include directories set(CMAKE_SWIG_FLAGS -fvirtual -modern -keyword -w511 -module ${name} ${GR_SWIG_FLAGS}) foreach(dir ${GR_SWIG_INCLUDE_DIRS}) -- cgit From 9a25332b706b1ffadf8cdf9b405e89c37a1e2278 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Wed, 9 Nov 2011 06:50:50 -0800 Subject: cmake: only rely on target trick when not cross --- gr-howto-write-a-block-cmake/cmake/Modules/GrMiscUtils.cmake | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gr-howto-write-a-block-cmake') diff --git a/gr-howto-write-a-block-cmake/cmake/Modules/GrMiscUtils.cmake b/gr-howto-write-a-block-cmake/cmake/Modules/GrMiscUtils.cmake index 540b97b93..0e1f40027 100644 --- a/gr-howto-write-a-block-cmake/cmake/Modules/GrMiscUtils.cmake +++ b/gr-howto-write-a-block-cmake/cmake/Modules/GrMiscUtils.cmake @@ -164,6 +164,7 @@ function(GR_LIBRARY_FOO target) POST_BUILD COMMAND ${CMAKE_COMMAND} -E create_symlink ${target_name} ${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so COMMAND ${CMAKE_COMMAND} -E create_symlink ${target_name} ${CMAKE_CURRENT_BINARY_DIR}/lib${target}-${LIBVER}.so.0 + COMMAND ${CMAKE_COMMAND} -E touch ${target_name} #so the symlinks point to something valid so cmake 2.6 will install ) #and install the extra symlinks @@ -200,5 +201,10 @@ function(GR_GEN_TARGET_DEPS name var) if(ARGN) add_dependencies(${name} ${ARGN}) endif(ARGN) - set(${var} "DEPENDS;${name};COMMAND;${name}" PARENT_SCOPE) + + if(CMAKE_CROSSCOMPILING) + set(${var} "DEPENDS;${name}" PARENT_SCOPE) #cant call command when cross + else() + set(${var} "DEPENDS;${name};COMMAND;${name}" PARENT_SCOPE) + endif() endfunction(GR_GEN_TARGET_DEPS) -- cgit