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}"
# Clean up output file name
get_filename_component(absout "${_dest}/${fn}" ABSOLUTE)
add_custom_command(OUTPUT "${absout}"
COMMAND COMMAND
${CMAKE_COMMAND} ${CMAKE_COMMAND}
ARGS -E make_directory "${_dest}" ARGS -E make_directory "${_dest}"
COMMAND COMMAND
${CMAKE_COMMAND} ${CMAKE_COMMAND}
ARGS -E copy "${fullpath}" "${_dest}" ARGS -E copy "${fullpath}" "${_dest}"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" MAIN_DEPENDENCY "${fn}"
DEPENDS "${fullpath}" VERBATIM
COMMENT "Copying ${fullpath} to ${_dest}/${fn}") COMMENT "Copying ${fn} to ${absout}")
list(APPEND ALLFILES "${_dest}/${fn}") 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,14 +52,20 @@ 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}"
# Clean up output file name
get_filename_component(absout "${_dest}/${fn}" ABSOLUTE)
add_custom_command(OUTPUT "${absout}"
COMMAND COMMAND
${CMAKE_COMMAND} ${CMAKE_COMMAND}
ARGS -E make_directory "${_dest}" ARGS -E make_directory "${_dest}"
@@ -70,15 +75,16 @@ function(add_lua_target _target _dest)
COMMAND COMMAND
"${LUA_TARGET_LUAC_EXECUTABLE}" "${LUA_TARGET_LUAC_EXECUTABLE}"
ARGS -p "${fullpath}" ARGS -p "${fullpath}"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" MAIN_DEPENDENCY "${fn}"
DEPENDS "${fullpath}" VERBATIM
COMMENT "Copying ${fullpath} to ${_dest}/${fn} and parsing...") COMMENT "Copying ${fn} to ${absout} and parsing...")
list(APPEND ALLFILES "${_dest}/${fn}") 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,9 +33,11 @@ if(WIN32)
elseif(MSVC90) elseif(MSVC90)
list_filter_out(_osgpaths "[vV][cC]8" ${_osgpaths}) list_filter_out(_osgpaths "[vV][cC]8" ${_osgpaths})
endif() endif()
if(_osgpaths)
list(SORT _osgpaths) list(SORT _osgpaths)
list(REVERSE _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)
if(_osgpaths) if(_osgpaths)