WIP for Build automation Ticket #1069
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@7574 30fe4595-0a0c-4342-8851-515496e4dcbd
This commit is contained in:
parent
ac58668c3d
commit
6b73e22695
|
@ -185,6 +185,8 @@ SD_SETUP_SETTINGS_VERSION()
|
|||
|
||||
# Setup empty GLOBAL lists for robots and modules
|
||||
SET_PROPERTY(GLOBAL PROPERTY SD_MODULE_LIST "")
|
||||
SET_PROPERTY(GLOBAL PROPERTY SD_CAR_LIST "")
|
||||
SET_PROPERTY(GLOBAL PROPERTY SD_TRACK_LIST "")
|
||||
SET_PROPERTY(GLOBAL PROPERTY SD_ROBOT_LIST "")
|
||||
SET_PROPERTY(GLOBAL PROPERTY SD_OSG_PLUGIN_LIST "")
|
||||
SET_PROPERTY(GLOBAL PROPERTY SD_EXE_LIST "")
|
||||
|
@ -229,6 +231,10 @@ ELSE(MSVC)
|
|||
ENDIF(MSVC)
|
||||
ADD_CUSTOM_TARGET(${_UNINST_TGT_NAME} "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/uninstall.cmake" )
|
||||
|
||||
IF(OPTION_CHECK_CONTENTS)
|
||||
INCLUDE(cmake/prerelease.cmake)
|
||||
ENDIF(OPTION_CHECK_CONTENTS)
|
||||
|
||||
IF(OPTION_PACKAGING)
|
||||
INCLUDE(cmake/packagemaker.cmake)
|
||||
IF(MSVC)
|
||||
|
|
|
@ -504,6 +504,7 @@ MACRO(SD_INSTALL_CAR CARNAME)
|
|||
${RGB_FILES} ${PNG_FILES} ${DDS_FILES} ${JPG_FILES} ${WAV_FILES})
|
||||
|
||||
SD_INSTALL_FILES(DATA cars/models/${CARNAME} FILES ${SDIC_FILES})
|
||||
SET_PROPERTY(GLOBAL APPEND PROPERTY SD_CAR_LIST "${CARNAME}")
|
||||
|
||||
ENDMACRO(SD_INSTALL_CAR CARNAME)
|
||||
|
||||
|
@ -535,5 +536,6 @@ MACRO(SD_INSTALL_TRACK TRACKNAME CATEGORY)
|
|||
${RGB_FILES} ${PNG_FILES} ${JPG_FILES} ${DDS_FILES})
|
||||
|
||||
SD_INSTALL_FILES(DATA tracks/${CATEGORY}/${TRACKNAME} FILES ${SDIT_FILES})
|
||||
SET_PROPERTY(GLOBAL APPEND PROPERTY SD_TRACK_LIST "${CATEGORY}/${TRACKNAME}")
|
||||
|
||||
ENDMACRO(SD_INSTALL_TRACK TRACKNAME CATEGORY)
|
||||
|
|
|
@ -254,7 +254,7 @@ MACRO(SD_ADD_LIBRARY TARGET_NAME TARGET_TYPE)
|
|||
ELSEIF(${TARGET_TYPE} STREQUAL "ROBOT")
|
||||
|
||||
SET(_TGT_DIR "${CMAKE_BINARY_DIR}/${SD_LIBDIR}/drivers/${TARGET_NAME}")
|
||||
SET_PROPERTY(GLOBAL APPEND PROPERTY SD_ROBOT_LIST "${SD_LIBDIR}/drivers/${TARGET_NAME}/${TARGET_NAME}${CMAKE_SHARED_MODULE_SUFFIX}")
|
||||
SET_PROPERTY(GLOBAL APPEND PROPERTY SD_ROBOT_LIST "${TARGET_NAME}")
|
||||
|
||||
ELSEIF(NOT ${TARGET_TYPE} STREQUAL "STATIC")
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ MACRO(ADD_SD_COMPILE_OPTIONS)
|
|||
ENDIF(NOT MSVC)
|
||||
|
||||
# CMake options.
|
||||
SET(OPTION_CHECK_CONTENTS false CACHE BOOL "Set to On if you don't want the build to be stopped by missing optional contents folders")
|
||||
SET(OPTION_CHECK_CONTENTS false CACHE BOOL "Set to off if you don't want the build to be stopped by missing optional contents folders")
|
||||
MARK_AS_ADVANCED(OPTION_CHECK_CONTENTS)
|
||||
|
||||
SET(OPTION_OFFICIAL_ONLY false CACHE BOOL "Build / install only officially released contents")
|
||||
|
|
|
@ -0,0 +1,71 @@
|
|||
#==============================================================================
|
||||
#
|
||||
# file : prerelease.cmake
|
||||
# copyright : (C) 2021 Joe Thompson
|
||||
# email : beaglejoe@users.sourceforge.net
|
||||
# web : www.speed-dreams.org
|
||||
# version : $Id:$
|
||||
#
|
||||
#==============================================================================
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
#==============================================================================
|
||||
INCLUDE(cmake/prereleaseutils.cmake)
|
||||
|
||||
GET_PROPERTY(SD_TRACK_LIST_ITEMS GLOBAL PROPERTY SD_TRACK_LIST)
|
||||
GET_PROPERTY(SD_CAR_LIST_ITEMS GLOBAL PROPERTY SD_CAR_LIST)
|
||||
GET_PROPERTY(SD_ROBOT_LIST_ITEMS GLOBAL PROPERTY SD_ROBOT_LIST)
|
||||
|
||||
string(REGEX REPLACE ";" "\n" _tracks_contents "${SD_TRACK_LIST_ITEMS}")
|
||||
string(REGEX REPLACE ";" "\n" _cars_contents "${SD_CAR_LIST_ITEMS}")
|
||||
string(REGEX REPLACE ";" "\n" _robots_contents "${SD_ROBOT_LIST_ITEMS}")
|
||||
|
||||
|
||||
message("\n")
|
||||
message("======= Pre-Release checks =======")
|
||||
#message("\n")
|
||||
|
||||
if(OPTION_OFFICIAL_ONLY)
|
||||
set(PRE "official")
|
||||
else()
|
||||
set(PRE "unofficial")
|
||||
message("OPTION_OFFICIAL_ONLY NOT set")
|
||||
endif()
|
||||
|
||||
IF(VERSION_IS_TAG)
|
||||
message(STATUS "VERSION_IS_TAG = ${VERSION_IS_TAG}")
|
||||
else()
|
||||
message("working copy is NOT from a tag")
|
||||
endif()
|
||||
|
||||
|
||||
message(STATUS "SVN_REV = ${SVN_REV}")
|
||||
message(STATUS "VERSION = ${VERSION}")
|
||||
#message(STATUS "NSIS_MAKE_EXE = ${NSIS_MAKE_EXE}")
|
||||
|
||||
|
||||
FILE(WRITE "${PROJECT_BINARY_DIR}/${PRE}-tracklist.txt" ${_tracks_contents})
|
||||
FILE(WRITE "${PROJECT_BINARY_DIR}/${PRE}-carlist.txt" ${_cars_contents})
|
||||
FILE(WRITE "${PROJECT_BINARY_DIR}/${PRE}-robotlist.txt" ${_robots_contents})
|
||||
|
||||
message("==== Checking cars ====")
|
||||
check_cars("${SD_CAR_LIST_ITEMS}")
|
||||
|
||||
message("==== Checking tracks ====")
|
||||
check_tracks("${SD_TRACK_LIST_ITEMS}")
|
||||
|
||||
message("==== Checking robots ====")
|
||||
check_robots("${SD_ROBOT_LIST_ITEMS}")
|
||||
|
|
@ -0,0 +1,361 @@
|
|||
|
||||
#==============================================================================
|
||||
#
|
||||
# file : prereleaseutils.cmake
|
||||
# copyright : (C) 2021 Joe Thompson
|
||||
# email : beaglejoe@users.sourceforge.net
|
||||
# web : www.speed-dreams.org
|
||||
# version : $Id:$
|
||||
#
|
||||
#==============================================================================
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# ================================================
|
||||
function(check_cars carlist)
|
||||
|
||||
#file(STRINGS carlist.txt _installed_cars)
|
||||
set(_installed_cars ${carlist})
|
||||
list(TRANSFORM _installed_cars STRIP)
|
||||
|
||||
cars_from_lst_file("${CMAKE_SOURCE_DIR}/packaging/sources/sd-src-base.lst" base_car_lst)
|
||||
cars_from_lst_file("${CMAKE_SOURCE_DIR}/packaging/sources/sd-src-hq-cars-and-tracks.lst" hq_car_lst)
|
||||
cars_from_lst_file("${CMAKE_SOURCE_DIR}/packaging/sources/sd-src-more-hq-cars-and-tracks.lst" more_hq_car_lst)
|
||||
cars_from_lst_file("${CMAKE_SOURCE_DIR}/packaging/sources/sd-src-wip-cars-and-tracks.lst" wip_car_lst)
|
||||
cars_from_lst_file("${CMAKE_SOURCE_DIR}/packaging/sources/sd-src-unmaintained.lst" unmaintained_car_lst)
|
||||
|
||||
set(_packaged_cars )
|
||||
list(APPEND _packaged_cars ${base_car_lst} ${hq_car_lst} ${more_hq_car_lst} ${wip_car_lst} ${unmaintained_car_lst})
|
||||
|
||||
# Verify that a car is only in one package
|
||||
|
||||
#message(STATUS "Checking for duplicate entries...")
|
||||
|
||||
list_get_duplicates(_packaged_cars _ret_duplicates)
|
||||
list(LENGTH _ret_duplicates _length)
|
||||
if(_length)
|
||||
message("Duplicate car(s) in .lst file(s)")
|
||||
dump_list("${_ret_duplicates}")
|
||||
else()
|
||||
message(STATUS "No duplicate car(s) in .lst file(s)")
|
||||
endif()
|
||||
#message("\n")
|
||||
|
||||
# Verify that all installed cars are in a package
|
||||
#message(STATUS "Checking for installed cars that are NOT packaged...")
|
||||
|
||||
compare_lists(_installed_cars _packaged_cars _ret_installed _ret_packaged)
|
||||
list(LENGTH _ret_installed _length)
|
||||
if(_length)
|
||||
message("${_length} Installed car(s) missing from .lst file(s)")
|
||||
dump_list("${_ret_installed}")
|
||||
else()
|
||||
message(STATUS "No installed car(s) missing from .lst file(s)")
|
||||
endif()
|
||||
#message("\n")
|
||||
|
||||
# Verify that packages contain no uninstalled cars
|
||||
#message(STATUS "Checking packing lists for cars that are NOT installed...")
|
||||
|
||||
list(LENGTH _ret_packaged _length)
|
||||
if(_length)
|
||||
message(".lst file(s) have car(s) that are NOT installed")
|
||||
dump_list("${_ret_packaged}")
|
||||
else()
|
||||
message(STATUS "No missing car(s) in .lst file(s)")
|
||||
endif()
|
||||
#message("\n")
|
||||
|
||||
endfunction()
|
||||
# ================================================
|
||||
function(check_tracks tracklist)
|
||||
|
||||
set(_installed ${tracklist})
|
||||
list(TRANSFORM _installed STRIP)
|
||||
|
||||
tracks_from_lst_file("${CMAKE_SOURCE_DIR}/packaging/sources/sd-src-base.lst" base_track_lst)
|
||||
tracks_from_lst_file("${CMAKE_SOURCE_DIR}/packaging/sources/sd-src-hq-cars-and-tracks.lst" hq_track_lst)
|
||||
tracks_from_lst_file("${CMAKE_SOURCE_DIR}/packaging/sources/sd-src-more-hq-cars-and-tracks.lst" more_hq_track_lst)
|
||||
tracks_from_lst_file("${CMAKE_SOURCE_DIR}/packaging/sources/sd-src-wip-cars-and-tracks.lst" wip_track_lst)
|
||||
tracks_from_lst_file("${CMAKE_SOURCE_DIR}/packaging/sources/sd-src-unmaintained.lst" unmaintained_track_lst)
|
||||
|
||||
#dump_list("${base_track_lst}")
|
||||
#dump_list("${_installed}")
|
||||
|
||||
set(_packaged )
|
||||
list(APPEND _packaged ${base_track_lst} ${hq_track_lst} ${more_hq_track_lst} ${wip_track_lst} ${unmaintained_track_lst})
|
||||
|
||||
# Verify that a track is only in one package
|
||||
|
||||
#message(STATUS "Checking for duplicate entries...")
|
||||
|
||||
list_get_duplicates(_packaged _ret_duplicates)
|
||||
list(LENGTH _ret_duplicates _length)
|
||||
if(_length)
|
||||
message("Duplicate track(s) in .lst file(s)")
|
||||
dump_list("${_ret_duplicates}")
|
||||
else()
|
||||
message(STATUS "No duplicate track(s) in .lst file(s)")
|
||||
endif()
|
||||
#message("\n")
|
||||
|
||||
# Verify that all installed tracks are in a package
|
||||
#message(STATUS "Checking for installed tracks that are NOT packaged...")
|
||||
|
||||
compare_lists(_installed _packaged _ret_installed _ret_packaged)
|
||||
list(LENGTH _ret_installed _length)
|
||||
if(_length)
|
||||
message( "${_length} Installed track(s) missing from .lst file(s)")
|
||||
dump_list("${_ret_installed}")
|
||||
else()
|
||||
message(STATUS "No installed track(s) missing from .lst file(s)")
|
||||
endif()
|
||||
#message("\n")
|
||||
|
||||
# Verify that packages contain no uninstalled tracks
|
||||
#message(STATUS "Checking packing lists for tracks that are NOT installed...")
|
||||
|
||||
list(LENGTH _ret_packaged _length)
|
||||
if(_length)
|
||||
message(".lst file(s) have track(s) that are NOT installed")
|
||||
dump_list("${_ret_packaged}")
|
||||
else()
|
||||
message(STATUS "No missing track(s) in .lst file(s)")
|
||||
endif()
|
||||
#message("\n")
|
||||
|
||||
|
||||
endfunction()
|
||||
# ================================================
|
||||
function(check_robots robotlist)
|
||||
|
||||
set(_installed ${robotlist})
|
||||
list(TRANSFORM _installed STRIP)
|
||||
|
||||
robots_from_lst_file("${CMAKE_SOURCE_DIR}/packaging/sources/sd-src-base.lst" base_lst)
|
||||
robots_from_lst_file("${CMAKE_SOURCE_DIR}/packaging/sources/sd-src-hq-cars-and-tracks.lst" hq_lst)
|
||||
robots_from_lst_file("${CMAKE_SOURCE_DIR}/packaging/sources/sd-src-more-hq-cars-and-tracks.lst" more_hq_lst)
|
||||
robots_from_lst_file("${CMAKE_SOURCE_DIR}/packaging/sources/sd-src-wip-cars-and-tracks.lst" wip_lst)
|
||||
robots_from_lst_file("${CMAKE_SOURCE_DIR}/packaging/sources/sd-src-unmaintained.lst" unmaintained_lst)
|
||||
|
||||
#dump_list("${base_lst}")
|
||||
#dump_list("${_installed}")
|
||||
|
||||
set(_packaged )
|
||||
list(APPEND _packaged ${base_lst} ${hq_lst} ${more_hq_lst} ${wip_lst} ${unmaintained_lst})
|
||||
|
||||
# Verify that a robot is only in one package
|
||||
|
||||
#message(STATUS "Checking for duplicate entries...")
|
||||
|
||||
list_get_duplicates(_packaged _ret_duplicates)
|
||||
list(LENGTH _ret_duplicates _length)
|
||||
if(_length)
|
||||
message("Duplicate robot(s) in .lst file(s)")
|
||||
dump_list("${_ret_duplicates}")
|
||||
else()
|
||||
message(STATUS "No duplicate robot(s) in .lst file(s)")
|
||||
endif()
|
||||
#message("\n")
|
||||
|
||||
# Verify that all installed robots are in a package
|
||||
#message(STATUS "Checking for installed robots that are NOT packaged...")
|
||||
|
||||
compare_lists(_installed _packaged _ret_installed _ret_packaged)
|
||||
list(LENGTH _ret_installed _length)
|
||||
if(_length)
|
||||
message("${_length} Installed robot(s) missing from .lst file(s)")
|
||||
dump_list("${_ret_installed}")
|
||||
else()
|
||||
message(STATUS "No installed robot(s) missing from .lst file(s)")
|
||||
endif()
|
||||
#message("\n")
|
||||
|
||||
# Verify that packages contain no uninstalled robots
|
||||
#message(STATUS "Checking packing lists for robots that are NOT installed...")
|
||||
|
||||
list(LENGTH _ret_packaged _length)
|
||||
if(_length)
|
||||
message(".lst file(s) have robot(s) that are NOT installed")
|
||||
dump_list("${_ret_packaged}")
|
||||
else()
|
||||
message(STATUS "No missing robot(s) in .lst file(s)")
|
||||
endif()
|
||||
#message("\n")
|
||||
|
||||
|
||||
endfunction()
|
||||
# ================================================
|
||||
function(cars_from_lst_file lst_file outlist)
|
||||
file(STRINGS ${lst_file} _file_content)
|
||||
foreach(_line ${_file_content})
|
||||
#message(STATUS "${_line}")
|
||||
string(STRIP "${_line}" _line)
|
||||
#message(STATUS "${_line}")
|
||||
string(TOLOWER "${_line}" _line)
|
||||
#message(STATUS "${_line}")
|
||||
string(FIND "${_line}" "data/cars/models/" _index)
|
||||
if(NOT ${_index} EQUAL -1)
|
||||
string(REPLACE "data/cars/models/" "" _car "${_line}")
|
||||
list(APPEND _car_list "${_car}")
|
||||
#message(STATUS "${_car}")
|
||||
endif()
|
||||
#message(STATUS "${_line}")
|
||||
endforeach()
|
||||
list(REMOVE_ITEM _car_list "cmakelists.txt")
|
||||
|
||||
set(${outlist} ${_car_list} PARENT_SCOPE)
|
||||
#foreach(_car ${_car_list})
|
||||
# message(STATUS "${_car}")
|
||||
#endforeach()
|
||||
|
||||
endfunction()
|
||||
# ================================================
|
||||
function(tracks_from_lst_file lst_file outlist)
|
||||
file(STRINGS ${lst_file} _file_content)
|
||||
foreach(_line ${_file_content})
|
||||
#message(STATUS "${_line}")
|
||||
string(STRIP "${_line}" _line)
|
||||
#message(STATUS "${_line}")
|
||||
string(TOLOWER "${_line}" _line)
|
||||
#message(STATUS "${_line}")
|
||||
string(FIND "${_line}" "data/tracks/" _index)
|
||||
if(NOT ${_index} EQUAL -1)
|
||||
string(REPLACE "data/tracks/" "" _track "${_line}")
|
||||
string(FIND "${_line}" "cmakelists.txt" _index)
|
||||
if(${_index} EQUAL -1)
|
||||
list(APPEND _track_list "${_track}")
|
||||
#message(STATUS "${_track}")
|
||||
endif()
|
||||
endif()
|
||||
#message(STATUS "${_line}")
|
||||
endforeach()
|
||||
list(REMOVE_ITEM _track_list "cmakelists.txt")
|
||||
|
||||
set(${outlist} ${_track_list} PARENT_SCOPE)
|
||||
#foreach(_track ${_track_list})
|
||||
# message(STATUS "${_track}")
|
||||
#endforeach()
|
||||
|
||||
endfunction()
|
||||
# ================================================
|
||||
function(robots_from_lst_file lst_file outlist)
|
||||
file(STRINGS ${lst_file} _file_content)
|
||||
foreach(_line ${_file_content})
|
||||
#message(STATUS "${_line}")
|
||||
string(STRIP "${_line}" _line)
|
||||
#message(STATUS "${_line}")
|
||||
string(TOLOWER "${_line}" _line)
|
||||
#message(STATUS "${_line}")
|
||||
string(FIND "${_line}" "src/drivers/" _index)
|
||||
if(NOT ${_index} EQUAL -1)
|
||||
string(REPLACE "src/drivers/" "" _robot "${_line}")
|
||||
string(FIND "${_robot}" "/" _index)
|
||||
if(${_index} EQUAL -1)
|
||||
list(APPEND _robot_list "${_robot}")
|
||||
#message(STATUS "\t${_robot}")
|
||||
endif()
|
||||
string(FIND "${_robot}" "/src" _index)
|
||||
if(NOT ${_index} EQUAL -1)
|
||||
# TODO These need to go to Customizable robots binaries (Section /o "Basic mod Tools" SEC02)
|
||||
string(REPLACE "/src" "" _robot "${_robot}")
|
||||
list(APPEND _robot_list "${_robot}")
|
||||
#message(STATUS "\t\t${_robot}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
string(FIND "${_line}" "data/drivers/" _index)
|
||||
if(NOT ${_index} EQUAL -1)
|
||||
string(REPLACE "data/drivers/" "" _robot "${_line}")
|
||||
string(FIND "${_line}" "cmakelists.txt" _index)
|
||||
if(${_index} EQUAL -1)
|
||||
list(APPEND _robot_list "${_robot}")
|
||||
#message(STATUS "\t\t\t${_robot}")
|
||||
endif()
|
||||
endif()
|
||||
#message(STATUS "${_line}")
|
||||
endforeach()
|
||||
list(REMOVE_ITEM _robot_list "cmakelists.txt")
|
||||
#[[
|
||||
foreach(_robot ${_robot_list})
|
||||
message(STATUS "${_robot}")
|
||||
endforeach()
|
||||
message("\n")
|
||||
]]
|
||||
list(REMOVE_DUPLICATES _robot_list)
|
||||
#message("\n")
|
||||
set(${outlist} ${_robot_list} PARENT_SCOPE)
|
||||
#[[
|
||||
foreach(_robot ${_robot_list})
|
||||
message(STATUS "${_robot}")
|
||||
endforeach()
|
||||
message("\n")
|
||||
]]
|
||||
|
||||
endfunction()
|
||||
# ================================================
|
||||
function(list_get_duplicates list_in ret_list_duplicates)
|
||||
set(_duplicates )
|
||||
list(TRANSFORM ${list_in} TOLOWER OUTPUT_VARIABLE _lc_list)
|
||||
list(SORT _lc_list)
|
||||
|
||||
set(_prev_item "???")
|
||||
foreach(_item ${_lc_list})
|
||||
string(COMPARE EQUAL ${_item} ${_prev_item} _result)
|
||||
if(_result)
|
||||
list(APPEND _duplicates "${_item}")
|
||||
endif()
|
||||
set(_prev_item ${_item})
|
||||
endforeach()
|
||||
|
||||
set(${ret_list_duplicates} ${_duplicates} PARENT_SCOPE)
|
||||
|
||||
endfunction()
|
||||
# ================================================
|
||||
# compares 2 lists and returns Lists with ONLY the
|
||||
# the unique items from each list
|
||||
#
|
||||
# example:
|
||||
# compare_lists(list_installed_cars list_packaged_cars _ret_installed _ret_packaged)
|
||||
#
|
||||
# ${_ret_installed} will contain the cars that were in ${list_installed_cars}
|
||||
# AND NOT in ${list_packaged_cars}
|
||||
# ${_ret_packaged} will contain the cars that were in ${list_packaged_cars}
|
||||
# AND NOT in ${list_installed_cars}
|
||||
#
|
||||
# If both ${_ret_installed} and ${_ret_packaged} are empty
|
||||
# the list were identical
|
||||
# ================================================
|
||||
function(compare_lists list_a list_b ret_list_a ret_list_b)
|
||||
|
||||
list(TRANSFORM ${list_a} TOLOWER OUTPUT_VARIABLE _lc_a)
|
||||
list(TRANSFORM ${list_a} TOLOWER OUTPUT_VARIABLE _lc_a_2)
|
||||
list(TRANSFORM ${list_b} TOLOWER OUTPUT_VARIABLE _lc_b)
|
||||
|
||||
list(REMOVE_ITEM _lc_a ${_lc_b})
|
||||
list(REMOVE_ITEM _lc_b ${_lc_a_2})
|
||||
|
||||
#dump_list("${_lc_a}")
|
||||
#dump_list("${_lc_b}")
|
||||
|
||||
set(${ret_list_a} ${_lc_a} PARENT_SCOPE)
|
||||
set(${ret_list_b} ${_lc_b} PARENT_SCOPE)
|
||||
|
||||
endfunction()
|
||||
# ================================================
|
||||
function(dump_list _list)
|
||||
foreach(_item ${_list})
|
||||
message("${_item}")
|
||||
endforeach()
|
||||
endfunction()
|
|
@ -185,7 +185,7 @@ MACRO(ROBOT_MODULE)
|
|||
|
||||
SET(CLONE_MODDIR "${CMAKE_BINARY_DIR}/${SD_LIBDIR}/drivers/${CLONENAME}")
|
||||
SET(CLONE_MODLOC "${CLONE_MODDIR}/${CLONENAME}${CMAKE_SHARED_MODULE_SUFFIX}")
|
||||
SET_PROPERTY(GLOBAL APPEND PROPERTY SD_ROBOT_LIST "${SD_LIBDIR}/drivers/${CLONENAME}/${CLONENAME}${CMAKE_SHARED_MODULE_SUFFIX}")
|
||||
SET_PROPERTY(GLOBAL APPEND PROPERTY SD_ROBOT_LIST "${CLONENAME}")
|
||||
IF(FALSE) #IF(UNIX)
|
||||
# Might not work with GCC 4.5 or + (see above)
|
||||
ADD_CUSTOM_COMMAND(TARGET ${RBM_NAME} POST_BUILD
|
||||
|
|
|
@ -65,7 +65,7 @@ IF((APPLE) AND ("${CMAKE_INSTALL_PREFIX}" MATCHES "\\.app$"))
|
|||
endforeach()
|
||||
|
||||
foreach(_ROBOT ${SD_ROBOT_LIST_ITEMS})
|
||||
LIST(APPEND _loadables "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_PREFIX}/${_ROBOT}")
|
||||
LIST(APPEND _loadables "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_PREFIX}/${SD_LIBDIR}/drivers/${_ROBOT}/${_ROBOT}${CMAKE_SHARED_MODULE_SUFFIX}")
|
||||
endforeach()
|
||||
|
||||
foreach(_PLUGIN ${SD_OSG_PLUGIN_LIST_ITEMS})
|
||||
|
|
Loading…
Reference in New Issue