Squashed 'cmake/' changes from de83fed..3ea43dc

3ea43dc Fix program files osg search
14e987f Fix lua and file copy targets

git-subtree-dir: cmake
git-subtree-split: 3ea43dc726d289f72f4fc4c35b8d8acc47b17ab0
This commit is contained in:
Ryan Pavlik
2011-03-28 13:56:57 -05:00
parent 7eb712f9de
commit 468beb30aa
3 changed files with 47 additions and 32 deletions

View File

@@ -47,29 +47,36 @@ function(add_file_copy_target _target _dest)
endif() endif()
set(ALLFILES) set(ALLFILES)
set(SOURCES)
foreach(fn ${ARGN}) foreach(fn ${ARGN})
# Produce an absolute path to the input file
if(IS_ABSOLUTE "${fn}") if(IS_ABSOLUTE "${fn}")
set(fullpath "${fn}") get_filename_component(fullpath "${fn}" ABSOLUTE)
get_filename_component(fn "${fn}" NAME) get_filename_component(fn "${fn}" NAME)
else() else()
get_filename_component(fullpath "${CMAKE_CURRENT_SOURCE_DIR}/${fn}" ABSOLUTE) get_filename_component(fullpath "${CMAKE_CURRENT_SOURCE_DIR}/${fn}" ABSOLUTE)
endif() endif()
add_custom_command(OUTPUT "${_dest}/${fn}"
COMMAND # Clean up output file name
${CMAKE_COMMAND} get_filename_component(absout "${_dest}/${fn}" ABSOLUTE)
ARGS -E make_directory "${_dest}"
COMMAND add_custom_command(OUTPUT "${absout}"
${CMAKE_COMMAND} COMMAND
ARGS -E copy "${fullpath}" "${_dest}" ${CMAKE_COMMAND}
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" ARGS -E make_directory "${_dest}"
DEPENDS "${fullpath}" COMMAND
COMMENT "Copying ${fullpath} to ${_dest}/${fn}") ${CMAKE_COMMAND}
list(APPEND ALLFILES "${_dest}/${fn}") ARGS -E copy "${fullpath}" "${_dest}"
MAIN_DEPENDENCY "${fn}"
VERBATIM
COMMENT "Copying ${fn} to ${absout}")
list(APPEND SOURCES "${fullpath}")
list(APPEND ALLFILES "${absout}")
endforeach() endforeach()
# Custom target depending on all the file copy commands # Custom target depending on all the file copy commands
add_custom_target(${_target} add_custom_target(${_target}
SOURCES ${ARGN} SOURCES ${SOURCES}
DEPENDS ${ALLFILES}) DEPENDS ${ALLFILES})
set_property(TARGET ${_target} PROPERTY FILE_COPY_TARGET YES) set_property(TARGET ${_target} PROPERTY FILE_COPY_TARGET YES)

View File

@@ -39,7 +39,6 @@ function(add_lua_target _target _dest)
if(NOT LUA_TARGET_LUAC_EXECUTABLE) if(NOT LUA_TARGET_LUAC_EXECUTABLE)
if(TARGET luac) if(TARGET luac)
message(STATUS "luac target found, using that in add_lua_target")
set(LUA_TARGET_LUAC_EXECUTABLE luac) set(LUA_TARGET_LUAC_EXECUTABLE luac)
else() else()
find_executable(LUA_TARGET_LUAC_EXECUTABLE find_executable(LUA_TARGET_LUAC_EXECUTABLE
@@ -53,32 +52,39 @@ function(add_lua_target _target _dest)
endif() endif()
set(ALLFILES) set(ALLFILES)
set(SOURCES)
foreach(fn ${ARGN}) foreach(fn ${ARGN})
# Produce an absolute path to the input file
if(IS_ABSOLUTE "${fn}") if(IS_ABSOLUTE "${fn}")
set(fullpath "${fn}") get_filename_component(fullpath "${fn}" ABSOLUTE)
get_filename_component(fn "${fn}" NAME) get_filename_component(fn "${fn}" NAME)
else() else()
get_filename_component(fullpath "${CMAKE_CURRENT_SOURCE_DIR}/${fn}" ABSOLUTE) get_filename_component(fullpath "${CMAKE_CURRENT_SOURCE_DIR}/${fn}" ABSOLUTE)
endif() endif()
add_custom_command(OUTPUT "${_dest}/${fn}"
COMMAND # Clean up output file name
${CMAKE_COMMAND} get_filename_component(absout "${_dest}/${fn}" ABSOLUTE)
ARGS -E make_directory "${_dest}"
COMMAND add_custom_command(OUTPUT "${absout}"
${CMAKE_COMMAND} COMMAND
ARGS -E copy "${fullpath}" "${_dest}" ${CMAKE_COMMAND}
COMMAND ARGS -E make_directory "${_dest}"
"${LUA_TARGET_LUAC_EXECUTABLE}" COMMAND
ARGS -p "${fullpath}" ${CMAKE_COMMAND}
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" ARGS -E copy "${fullpath}" "${_dest}"
DEPENDS "${fullpath}" COMMAND
COMMENT "Copying ${fullpath} to ${_dest}/${fn} and parsing...") "${LUA_TARGET_LUAC_EXECUTABLE}"
list(APPEND ALLFILES "${_dest}/${fn}") ARGS -p "${fullpath}"
MAIN_DEPENDENCY "${fn}"
VERBATIM
COMMENT "Copying ${fn} to ${absout} and parsing...")
list(APPEND SOURCES "${fullpath}")
list(APPEND ALLFILES "${absout}")
endforeach() endforeach()
# Custom target depending on all the file copy commands # Custom target depending on all the file copy commands
add_custom_target(${_target} add_custom_target(${_target}
SOURCES ${ARGN} SOURCES ${SOURCES}
DEPENDS ${ALLFILES}) DEPENDS ${ALLFILES})
if(TARGET "${LUA_TARGET_LUAC_EXECUTABLE}") if(TARGET "${LUA_TARGET_LUAC_EXECUTABLE}")
get_property(_luac_imported TARGET "${LUA_TARGET_LUAC_EXECUTABLE}" PROPERTY IMPORTED) get_property(_luac_imported TARGET "${LUA_TARGET_LUAC_EXECUTABLE}" PROPERTY IMPORTED)

View File

@@ -33,8 +33,10 @@ if(WIN32)
elseif(MSVC90) elseif(MSVC90)
list_filter_out(_osgpaths "[vV][cC]8" ${_osgpaths}) list_filter_out(_osgpaths "[vV][cC]8" ${_osgpaths})
endif() endif()
list(SORT _osgpaths) if(_osgpaths)
list(REVERSE _osgpaths) list(SORT _osgpaths)
list(REVERSE _osgpaths)
endif()
endif() endif()
else() else()
prefix_list_glob(_osgpaths "/OpenSceneGraph*" /usr /usr/local /opt) prefix_list_glob(_osgpaths "/OpenSceneGraph*" /usr /usr/local /opt)