From: <and...@us...> - 2009-03-03 11:06:37
|
Revision: 9665 http://plplot.svn.sourceforge.net/plplot/?rev=9665&view=rev Author: andrewross Date: 2009-03-03 11:06:31 +0000 (Tue, 03 Mar 2009) Log Message: ----------- Minor changes to cmake files to allow cross-compilation. This change enables executables used as part of the build process to be picked up from a separate native build. I will put instructions on how to actually run this on the wiki. Modified Paths: -------------- trunk/CMakeLists.txt trunk/drivers/CMakeLists.txt trunk/include/CMakeLists.txt trunk/lib/qsastime/CMakeLists.txt Modified: trunk/CMakeLists.txt =================================================================== --- trunk/CMakeLists.txt 2009-03-03 07:21:21 UTC (rev 9664) +++ trunk/CMakeLists.txt 2009-03-03 11:06:31 UTC (rev 9665) @@ -227,3 +227,10 @@ ) #message("CPACK_SOURCE_IGNORE_FILES = ${CPACK_SOURCE_IGNORE_FILES}") include(CPack) + +# Path to native build for executables required in the build process. +# This is only required for cross compiling +if (CMAKE_CROSSCOMPILING) + set(CMAKE_NATIVE_BINARY_DIR NATIVEDIR-NOTFOUND CACHE FILEPATH "Point to the native build directory") +endif (CMAKE_CROSSCOMPILING) + Modified: trunk/drivers/CMakeLists.txt =================================================================== --- trunk/drivers/CMakeLists.txt 2009-03-03 07:21:21 UTC (rev 9664) +++ trunk/drivers/CMakeLists.txt 2009-03-03 11:06:31 UTC (rev 9665) @@ -37,6 +37,7 @@ ${CMAKE_BINARY_DIR}/include ) + if(NOT CMAKE_CROSSCOMPILING) add_executable(get-drv-info get-drv-info.c) target_link_libraries(get-drv-info plplot${LIB_TAG} @@ -57,9 +58,15 @@ INSTALL_RPATH "${get-drv-info_RPATH}" BUILD_WITH_INSTALL_RPATH ON ) + else(NOT CMAKE_CROSSCOMPILING) + set(IMPORT_EXECUTABLES ${CMAKE_NATIVE_BINARY_DIR}/drivers/ImportExecutables.cmake) + include(${IMPORT_EXECUTABLES}) + endif(NOT CMAKE_CROSSCOMPILING) + + if(NOT CMAKE_CROSSCOMPILING) + export(TARGETS get-drv-info FILE ${CMAKE_CURRENT_BINARY_DIR}/ImportExecutables.cmake ) + endif(NOT CMAKE_CROSSCOMPILING) - get_target_property(get-drv-info_LOCATION get-drv-info LOCATION) - foreach(SOURCE_ROOT_NAME ${DRIVERS_LIST}) #message("${SOURCE_ROOT_NAME}_SOURCE = ${${SOURCE_ROOT_NAME}_SOURCE}") if(${SOURCE_ROOT_NAME}_COMPILE_FLAGS) @@ -140,11 +147,10 @@ ) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${SOURCE_ROOT_NAME}.rc - COMMAND ${get-drv-info_LOCATION} + COMMAND get-drv-info ${SOURCE_ROOT_NAME} > ${CMAKE_CURRENT_BINARY_DIR}/${SOURCE_ROOT_NAME}.rc DEPENDS - ${get-drv-info_LOCATION} ${${SOURCE_ROOT_NAME}_LOCATION} ) add_custom_target( Modified: trunk/include/CMakeLists.txt =================================================================== --- trunk/include/CMakeLists.txt 2009-03-03 07:21:21 UTC (rev 9664) +++ trunk/include/CMakeLists.txt 2009-03-03 11:06:31 UTC (rev 9665) @@ -33,17 +33,16 @@ ${CMAKE_SOURCE_DIR}/fonts/plhershey-unicode-gen.c ) +if(NOT CMAKE_CROSSCOMPILING) add_executable(plhershey-unicode-gen ${plhershey-unicode-gen_SRCS}) +else(NOT CMAKE_CROSSCOMPILING) + SET(IMPORT_EXECUTABLES ${CMAKE_NATIVE_BINARY_DIR}/include/ImportExecutables.cmake) + INCLUDE(${IMPORT_EXECUTABLES}) +endif(NOT CMAKE_CROSSCOMPILING) -get_target_property( -plhershey-unicode-gen_LOCATION -plhershey-unicode-gen -LOCATION -) - add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/plhershey-unicode.h -COMMAND ${plhershey-unicode-gen_LOCATION} +COMMAND plhershey-unicode-gen ${CMAKE_SOURCE_DIR}/fonts/plhershey-unicode.csv ${CMAKE_CURRENT_BINARY_DIR}/plhershey-unicode.h DEPENDS @@ -51,6 +50,10 @@ ${CMAKE_SOURCE_DIR}/fonts/plhershey-unicode.csv ) +if(NOT CMAKE_CROSSCOMPILING) + export(TARGETS plhershey-unicode-gen FILE ${CMAKE_CURRENT_BINARY_DIR}/ImportExecutables.cmake ) +endif(NOT CMAKE_CROSSCOMPILING) + # For cross-directory dependencies.... add_custom_target( plhershey-unicode.h_built Modified: trunk/lib/qsastime/CMakeLists.txt =================================================================== --- trunk/lib/qsastime/CMakeLists.txt 2009-03-03 07:21:21 UTC (rev 9664) +++ trunk/lib/qsastime/CMakeLists.txt 2009-03-03 11:06:31 UTC (rev 9665) @@ -114,27 +114,31 @@ # Routine for generating a header of data to be used by the # TAI-UTC transformation code. -add_executable(tai-utc-gen ${CMAKE_CURRENT_SOURCE_DIR}/tai-utc-gen.c) -if(MATH_LIB) - target_link_libraries(tai-utc-gen ${MATH_LIB}) -endif(MATH_LIB) -get_target_property( - tai-utc-gen_LOCATION - tai-utc-gen - LOCATION - ) +if(NOT CMAKE_CROSSCOMPILING) + add_executable(tai-utc-gen ${CMAKE_CURRENT_SOURCE_DIR}/tai-utc-gen.c) + if(MATH_LIB) + target_link_libraries(tai-utc-gen ${MATH_LIB}) + endif(MATH_LIB) +else(NOT CMAKE_CROSSCOMPILING) + set(IMPORT_EXECUTABLES ${CMAKE_NATIVE_BINARY_DIR}/lib/qsastime/ImportExecutables.cmake) + include(${IMPORT_EXECUTABLES}) +endif(NOT CMAKE_CROSSCOMPILING) + add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/tai-utc.h - COMMAND ${tai-utc-gen_LOCATION} + COMMAND tai-utc-gen ${CMAKE_CURRENT_SOURCE_DIR}/tai-utc.dat ${CMAKE_CURRENT_BINARY_DIR}/tai-utc.h DEPENDS - ${tai-utc-gen_LOCATION} ${CMAKE_CURRENT_SOURCE_DIR}/tai-utc.dat ) +if(NOT CMAKE_CROSSCOMPILING) + export(TARGETS tai-utc-gen FILE ${CMAKE_CURRENT_BINARY_DIR}/ImportExecutables.cmake ) +endif(NOT CMAKE_CROSSCOMPILING) + # This target-level dependency needed below. add_custom_target( tai-utc.h_built This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |