1 cmake_minimum_required (VERSION 2.6)
5 # set _CMAKE_OSX_MACHINE to umame -m
6 EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE _CMAKE_OSX_MACHINE)
7 # check for Power PC and change to ppc
8 IF("${_CMAKE_OSX_MACHINE}" MATCHES "Power")
9 SET(_CMAKE_OSX_MACHINE ppc)
10 ENDIF("${_CMAKE_OSX_MACHINE}" MATCHES "Power")
11 SET(CMAKE_OSX_ARCHITECTURES ${_CMAKE_OSX_MACHINE})
14 # Build the external object file.
15 TRY_COMPILE(EXTERNAL_OBJECT_BUILT
16 ${ExternalOBJ_BINARY_DIR}/Object
17 ${ExternalOBJ_SOURCE_DIR}/Object
20 OUTPUT_VARIABLE OUTPUT
22 IF(EXTERNAL_OBJECT_BUILT)
24 "Building external_object.cxx succeeded with the following output:\n"
27 ELSE(EXTERNAL_OBJECT_BUILT)
29 "Building external_object.cxx failed with the following output:\n"
32 ENDIF(EXTERNAL_OBJECT_BUILT)
34 # Find the external object file.
35 SET(DIR ${ExternalOBJ_BINARY_DIR}/Object)
36 FILE(GLOB_RECURSE EXTERNAL_OBJECT
37 "${DIR}/external_object*${CMAKE_CXX_OUTPUT_EXTENSION}")
39 LIST (GET EXTERNAL_OBJECT 0 EXTERNAL_OBJECT)
40 MESSAGE("Found \"${EXTERNAL_OBJECT}\".")
42 MESSAGE(FATAL_ERROR "Could not find external object.")
43 ENDIF(EXTERNAL_OBJECT)
45 # Test creation of external objects by custom commands.
47 ${CMAKE_CURRENT_BINARY_DIR}/custom_object${CMAKE_C_OUTPUT_EXTENSION})
49 OUTPUT ${CUSTOM_OBJECT}
50 COMMAND ${CMAKE_COMMAND} -E copy ${EXTERNAL_OBJECT} ${CUSTOM_OBJECT}
51 DEPENDS ${EXTERNAL_OBJECT}
54 # Build an executable using the external object file.
55 ADD_EXECUTABLE(ExternalOBJ executable.cxx ${CUSTOM_OBJECT})