diff --git a/cmake/macros.cmake b/cmake/macros.cmake index 0a5066023..bde00c401 100644 --- a/cmake/macros.cmake +++ b/cmake/macros.cmake @@ -155,19 +155,19 @@ ENDMACRO(GENERATE_ROBOT_DEF_FILE ROBOTNAME DEF_FILE) # SOURCES : List of files to use as build sources if any ; not needed if MODULE used # CLONENAMES : The names of the clones to generate MACRO(ROBOT_MODULE) - SET(ROBOT_SYNTAX "NAME,1,1,HAS_ROBOTNAME,ROBOTNAME") - SET(ROBOT_SYNTAX ${ROBOT_SYNTAX} "INTERFACE,0,-1,HAS_INTERFACE,INTERFACE") - SET(ROBOT_SYNTAX ${ROBOT_SYNTAX} "SOURCES,0,-1,HAS_SOURCES,SOURCES") - SET(ROBOT_SYNTAX ${ROBOT_SYNTAX} "CLONENAMES,0,-1,HAS_CLONENAMES,CLONENAMES") + SET(RBM_SYNTAX "NAME,1,1,RBM_HAS_NAME,ROBOTNAME") + SET(RBM_SYNTAX ${RBM_SYNTAX} "INTERFACE,0,-1,RBM_HAS_INTERFACE,RBM_INTERFACE") + SET(RBM_SYNTAX ${RBM_SYNTAX} "SOURCES,0,-1,RBM_HAS_SOURCES,RBM_SOURCES") + SET(RBM_SYNTAX ${RBM_SYNTAX} "CLONENAMES,0,-1,RBM_HAS_CLONENAMES,RBM_CLONENAMES") - SPLIT_ARGN(${ROBOT_SYNTAX} ARGUMENTS ${ARGN}) + SPLIT_ARGN(${RBM_SYNTAX} ARGUMENTS ${ARGN}) - IF(NOT HAS_ROBOTNAME) + IF(NOT RBM_HAS_NAME) MESSAGE(FATAL_ERROR "Cannot build a robot module with no specified name") - ENDIF(NOT HAS_ROBOTNAME) - IF(NOT HAS_SOURCES) + ENDIF(NOT RBM_HAS_NAME) + IF(NOT RBM_HAS_SOURCES) MESSAGE(FATAL_ERROR "Cannot build a robot module without sources / module to copy") - ENDIF(NOT HAS_SOURCES) + ENDIF(NOT RBM_HAS_SOURCES) PROJECT("robot_${ROBOTNAME}") @@ -178,12 +178,12 @@ MACRO(ROBOT_MODULE) # Generate / add .def file for Windows IF(WIN32) - IF(NOT HAS_INTERFACE) - SET(INTERFACE "LEGACY_MIN") - ENDIF(NOT HAS_INTERFACE) + IF(NOT RBM_HAS_INTERFACE) + SET(RBM_INTERFACE "LEGACY_MIN") + ENDIF(NOT RBM_HAS_INTERFACE) SET(ROBOT_DEF_FILE ${CMAKE_CURRENT_BINARY_DIR}/${ROBOTNAME}_gen.def) - GENERATE_ROBOT_DEF_FILE(${ROBOTNAME} ${ROBOT_DEF_FILE} ${INTERFACE}) - SET(SOURCES ${SOURCES} ${ROBOT_DEF_FILE}) + GENERATE_ROBOT_DEF_FILE(${ROBOTNAME} ${ROBOT_DEF_FILE} ${RBM_INTERFACE}) + SET(RBM_SOURCES ${RBM_SOURCES} ${ROBOT_DEF_FILE}) ENDIF(WIN32) #disable developer warning @@ -196,7 +196,7 @@ MACRO(ROBOT_MODULE) SET(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:msvcrt.lib") ENDIF(WIN32) - ADD_LIBRARY(${ROBOTNAME} SHARED ${SOURCES}) + ADD_LIBRARY(${ROBOTNAME} SHARED ${RBM_SOURCES}) IF(UNIX) SET_TARGET_PROPERTIES(${ROBOTNAME} PROPERTIES PREFIX "") ENDIF(UNIX) @@ -206,70 +206,77 @@ MACRO(ROBOT_MODULE) SD_INSTALL_FILES(LIB drivers/${ROBOTNAME} TARGETS ${ROBOTNAME}) - IF(HAS_CLONENAMES) + IF(RBM_HAS_CLONENAMES) GET_TARGET_PROPERTY(MODNAME ${ROBOTNAME} LOCATION) SET(MODPREFIX "") SET(MODSUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}) - FOREACH(CLONENAME ${CLONENAMES}) + FOREACH(CLONENAME ${RBM_CLONENAMES}) SET(CLONE_MODNAME ${MODPREFIX}${CLONENAME}${MODSUFFIX}) ADD_CUSTOM_COMMAND(TARGET ${ROBOTNAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${MODNAME} ${CLONE_MODNAME}) SD_INSTALL_FILES(LIB drivers/${CLONENAME} FILES ${CLONE_MODNAME}) - ENDFOREACH(CLONENAME ${CLONENAMES}) - ENDIF(HAS_CLONENAMES) + ENDFOREACH(CLONENAME ${RBM_CLONENAMES}) + ENDIF(RBM_HAS_CLONENAMES) ENDMACRO(ROBOT_MODULE) # Robot data installation # Args: # NAME : Name of the robot (may be a clone) -# SHIPPREFIX : Dir. prefix for source files/subdirs to install in the robot's data dir -# SHIPFILES : Extra (non default) files to install in the robot's data dir -# SHIPSUBDIRS : Data subdirectories to install in the robot's data dir +# PREFIX : Dir. prefix for source files/subdirs to install in the robot's data dir +# FILES : Extra (non default) files to install in the robot's data dir +# SUBDIRS : Data subdirectories to install in the robot's data dir MACRO(ROBOT_DATA) - SET(ROBOT_SYNTAX "NAME,1,1,HAS_ROBOTNAME,ROBOTNAME") - SET(ROBOT_SYNTAX ${ROBOT_SYNTAX} "SHIPPREFIX,0,-1,HAS_SHIPPREFIX,SHIPPREFIX") - SET(ROBOT_SYNTAX ${ROBOT_SYNTAX} "SHIPFILES,0,-1,HAS_EXTRA_SHIP,EXTRA_SHIP") - SET(ROBOT_SYNTAX ${ROBOT_SYNTAX} "SHIPSUBDIRS,0,-1,HAS_SHIPSUBDIRS,SHIPSUBDIRS") + SET(RBD_SYNTAX "NAME,1,1,RBD_HAS_NAME,ROBOTNAME") + SET(RBD_SYNTAX ${RBD_SYNTAX} "PREFIX,0,-1,RBD_HAS_PREFIX,RBD_PREFIX") + SET(RBD_SYNTAX ${RBD_SYNTAX} "FILES,0,-1,RBD_HAS_FILES,RBD_FILES") + SET(RBD_SYNTAX ${RBD_SYNTAX} "SUBDIRS,0,-1,RBD_HAS_SUBDIRS,RBD_SUBDIRS") - SPLIT_ARGN(${ROBOT_SYNTAX} ARGUMENTS ${ARGN}) + SPLIT_ARGN(${RBD_SYNTAX} ARGUMENTS ${ARGN}) - IF(NOT HAS_ROBOTNAME) + #MESSAGE(STATUS "ROBOT_DATA(${ROBOTNAME}): PREFIX=${RBD_PREFIX} FILES=${RBD_FILES} SUBDIRS=${RBD_SUBDIRS}") + + IF(NOT RBD_HAS_NAME) MESSAGE(FATAL_ERROR "Cannot install data for a robot module with no specified name") - ENDIF(NOT HAS_ROBOTNAME) - SET(REAL_SHIPFILES) # Reset the list (remember, it's a CMakeLists.txt global variable :-() - IF(HAS_EXTRA_SHIP) - IF(HAS_SHIPPREFIX) - FOREACH(SHIP_FILE ${EXTRA_SHIP}) - LIST(APPEND REAL_SHIPFILES ${SHIPPREFIX}/${SHIP_FILE}) - ENDFOREACH(SHIP_FILE ${EXTRA_SHIP}) - ELSE(HAS_SHIPPREFIX) - SET(REAL_SHIPFILES ${EXTRA_SHIP}) - ENDIF(HAS_SHIPPREFIX) - ENDIF(HAS_EXTRA_SHIP) - IF(HAS_SHIPPREFIX) - LIST(APPEND REAL_SHIPFILES ${SHIPPREFIX}/${ROBOTNAME}.xml) - ELSE(HAS_SHIPPREFIX) - LIST(APPEND REAL_SHIPFILES ${ROBOTNAME}.xml) - ENDIF(HAS_SHIPPREFIX) - #MESSAGE(STATUS "Files to install for ${ROBOTNAME} robot: ${REAL_SHIPFILES}") - SD_INSTALL_FILES(DATA drivers/${ROBOTNAME} FILES ${REAL_SHIPFILES}) + ENDIF(NOT RBD_HAS_NAME) - IF(HAS_SHIPSUBDIRS) - IF(HAS_SHIPPREFIX) - SET(REAL_SHIPSUBDIRS) # Reset the list (remember, it's a CMakeLists.txt global variable :-() - FOREACH(SHIPSUBDIR ${SHIPSUBDIRS}) - LIST(APPEND REAL_SHIPSUBDIRS ${SHIPPREFIX}/${SHIPSUBDIR}) - ENDFOREACH(SHIPSUBDIR ${SHIPSUBDIRS}) - ELSE(HAS_SHIPPREFIX) - SET(REAL_SHIPSUBDIRS ${SHIPSUBDIRS}) - ENDIF(HAS_SHIPPREFIX) - #MESSAGE(STATUS "Subdirs to install for ${ROBOTNAME} robot: ${REAL_SHIPSUBDIRS}") - INSTALL(DIRECTORY ${REAL_SHIPSUBDIRS} + SET(REAL_FILES) # Reset the list (remember, it's a CMakeLists.txt global variable :-() + IF(RBD_HAS_FILES) + IF(RBD_HAS_PREFIX) + FOREACH(_FILE ${RBD_FILES}) + LIST(APPEND REAL_FILES ${RBD_PREFIX}/${_FILE}) + ENDFOREACH(_FILE ${RBD_FILES}) + ELSE(RBD_HAS_PREFIX) + SET(REAL_FILES ${RBD_FILES}) + ENDIF(RBD_HAS_PREFIX) + #MESSAGE(STATUS "Files to install(-1) for ${ROBOTNAME} robot: ${REAL_FILES}") + ENDIF(RBD_HAS_FILES) + + #MESSAGE(STATUS "Files to install(0) for ${ROBOTNAME} robot: ${REAL_FILES}") + IF(RBD_HAS_PREFIX) + LIST(APPEND REAL_FILES ${RBD_PREFIX}/${ROBOTNAME}.xml) + ELSE(RBD_HAS_PREFIX) + LIST(APPEND REAL_FILES ${ROBOTNAME}.xml) + ENDIF(RBD_HAS_PREFIX) + + MESSAGE(STATUS "Files to install for ${ROBOTNAME} robot: ${REAL_FILES}") + SD_INSTALL_FILES(DATA drivers/${ROBOTNAME} FILES ${REAL_FILES}) + + IF(RBD_HAS_SUBDIRS) + IF(RBD_HAS_PREFIX) + SET(REAL_SUBDIRS) # Reset the list (remember, it's a CMakeLists.txt global variable :-() + FOREACH(SUBDIR ${RBD_SUBDIRS}) + LIST(APPEND REAL_SUBDIRS ${RBD_PREFIX}/${SUBDIR}) + ENDFOREACH(SUBDIR ${RBD_SUBDIRS}) + ELSE(RBD_HAS_PREFIX) + SET(REAL_SUBDIRS ${RBD_SUBDIRS}) + ENDIF(RBD_HAS_PREFIX) + #MESSAGE(STATUS "Subdirs to install for ${ROBOTNAME} robot: ${REAL_SUBDIRS}") + INSTALL(DIRECTORY ${REAL_SUBDIRS} DESTINATION ${SD_DATADIR}/drivers/${ROBOTNAME} PATTERN ".svn" EXCLUDE PATTERN "*.xcf*" EXCLUDE) - ENDIF(HAS_SHIPSUBDIRS) + ENDIF(RBD_HAS_SUBDIRS) ENDMACRO(ROBOT_DATA) # Robot project definition (module build and install, with associated data) @@ -279,68 +286,67 @@ ENDMACRO(ROBOT_DATA) # See GENERATE_ROBOT_DEF_FILE macro. # If not specified, defaults to "LEGACY_MIN" ; not used if MODULE used # SOURCES : List of files to use as build sources if any ; not needed if MODULE used -# SHIPPREFIX : Dir. prefix for source files/subdirs to install in the robot's data dir -# SHIPFILES : Extra (non default) files to install in the robot's data dir -# SHIPSUBDIRS : Data subdirectories to install in the robot's data dir +# PREFIX : Dir. prefix for source files/subdirs to install in the robot's data dir +# FILES : Extra (non default) files to install in the robot's data dir +# SUBDIRS : Data subdirectories to install in the robot's data dir MACRO(ROBOT) - SET(ROBOT_SYNTAX "NAME,1,1,HAS_ROBOTNAME,ROBOTNAME") - SET(ROBOT_SYNTAX ${ROBOT_SYNTAX} "INTERFACE,0,-1,HAS_INTERFACE,INTERFACE") - SET(ROBOT_SYNTAX ${ROBOT_SYNTAX} "SOURCES,0,-1,HAS_SOURCES,SOURCES") - SET(ROBOT_SYNTAX ${ROBOT_SYNTAX} "SHIPPREFIX,0,-1,HAS_SHIPPREFIX,SHIPPREFIX") - SET(ROBOT_SYNTAX ${ROBOT_SYNTAX} "SHIP,0,-1,HAS_EXTRA_SHIP,EXTRA_SHIP") - SET(ROBOT_SYNTAX ${ROBOT_SYNTAX} "SHIPSUBDIRS,0,-1,HAS_SHIPSUBDIRS,SHIPSUBDIRS") + SET(RB_SYNTAX "NAME,1,1,RB_HAS_NAME,ROBOTNAME") + SET(RB_SYNTAX ${RB_SYNTAX} "INTERFACE,0,-1,RB_HAS_INTERFACE,RB_INTERFACE") + SET(RB_SYNTAX ${RB_SYNTAX} "SOURCES,0,-1,RB_HAS_SOURCES,RB_SOURCES") + SET(RB_SYNTAX ${RB_SYNTAX} "PREFIX,0,-1,RB_HAS_PREFIX,RB_PREFIX") + SET(RB_SYNTAX ${RB_SYNTAX} "FILES,0,-1,RB_HAS_FILES,RB_FILES") + SET(RB_SYNTAX ${RB_SYNTAX} "SUBDIRS,0,-1,RB_HAS_SUBDIRS,RB_SUBDIRS") - SPLIT_ARGN(${ROBOT_SYNTAX} ARGUMENTS ${ARGN}) + #SET(__DEBUG__ TRUE) + SPLIT_ARGN(${RB_SYNTAX} ARGUMENTS ${ARGN}) + #SET(__DEBUG__ FALSE) - IF(NOT HAS_ROBOTNAME) + #MESSAGE(STATUS "ROBOT(${ROBOTNAME}): INTERFACE=${RB_INTERFACE} (${RB_HAS_INTERFACE}) SOURCES=${RB_SOURCES} (${RB_HAS_SOURCES}) PREFIX=${RB_PREFIX} (${RB_HAS_PREFIX}) FILES=${RB_FILES} (${RB_HAS_FILES}) SUBDIRS=${RB_SUBDIRS} (${RB_HAS_SUBDIRS})") + + IF(NOT RB_HAS_NAME) MESSAGE(FATAL_ERROR "Cannot build a robot with no specified name") - ENDIF(NOT HAS_ROBOTNAME) + ENDIF(NOT RB_HAS_NAME) - IF(NOT HAS_SOURCES) + IF(NOT RB_HAS_SOURCES) MESSAGE(FATAL_ERROR "Cannot build a robot without sources") - ENDIF(NOT HAS_SOURCES) + ENDIF(NOT RB_HAS_SOURCES) - IF(HAS_INTERFACE) - ROBOT_MODULE(NAME ${ROBOTNAME} INTERFACE ${INTERFACE} SOURCES ${SOURCES}) - ELSE(HAS_INTERFACE) - ROBOT_MODULE(NAME ${ROBOTNAME} SOURCES ${SOURCES}) - ENDIF(HAS_INTERFACE) + IF(RB_HAS_INTERFACE) + ROBOT_MODULE(NAME ${ROBOTNAME} INTERFACE ${RB_INTERFACE} SOURCES ${RB_SOURCES}) + ELSE(RB_HAS_INTERFACE) + ROBOT_MODULE(NAME ${ROBOTNAME} SOURCES ${RB_SOURCES}) + ENDIF(RB_HAS_INTERFACE) - IF(HAS_SHIPPREFIX) - IF(HAS_EXTRA_SHIP) - IF(HAS_SHIPSUBDIRS) - ROBOT_DATA(NAME ${ROBOTNAME} SHIPPREFIX ${SHIPPREFIX} - SHIPFILES ${EXTRA_SHIP} SHIPSUBDIRS ${SHIPSUBDIRS}) - ELSE(HAS_SHIPSUBDIRS) - ROBOT_DATA(NAME ${ROBOTNAME} SHIPPREFIX ${SHIPPREFIX} - SHIPFILES ${EXTRA_SHIP}) - ENDIF(HAS_SHIPSUBDIRS) - ELSE(HAS_EXTRA_SHIP) - IF(HAS_SHIPSUBDIRS) - ROBOT_DATA(NAME ${ROBOTNAME} SHIPPREFIX ${SHIPPREFIX} - SHIPSUBDIRS ${SHIPSUBDIRS}) - ELSE(HAS_SHIPSUBDIRS) - ROBOT_DATA(NAME ${ROBOTNAME} SHIPPREFIX ${SHIPPREFIX}) - ENDIF(HAS_SHIPSUBDIRS) - ENDIF(HAS_EXTRA_SHIP) - ELSE(HAS_SHIPPREFIX) - IF(HAS_EXTRA_SHIP) - IF(HAS_SHIPSUBDIRS) - ROBOT_DATA(NAME ${ROBOTNAME} - SHIPFILES ${EXTRA_SHIP} SHIPSUBDIRS ${SHIPSUBDIRS}) - ELSE(HAS_SHIPSUBDIRS) - ROBOT_DATA(NAME ${ROBOTNAME} - SHIPFILES ${EXTRA_SHIP}) - ENDIF(HAS_SHIPSUBDIRS) - ELSE(HAS_EXTRA_SHIP) - IF(HAS_SHIPSUBDIRS) - ROBOT_DATA(NAME ${ROBOTNAME} - SHIPSUBDIRS ${SHIPSUBDIRS}) - ELSE(HAS_SHIPSUBDIRS) + #TODO: Make all this stuff only one line ? + IF(RB_HAS_PREFIX) + IF(RB_HAS_FILES) + IF(RB_HAS_SUBDIRS) + ROBOT_DATA(NAME ${ROBOTNAME} PREFIX ${RB_PREFIX} FILES ${RB_FILES} SUBDIRS ${RB_SUBDIRS}) + ELSE(RB_HAS_SUBDIRS) + ROBOT_DATA(NAME ${ROBOTNAME} PREFIX ${RB_PREFIX} FILES ${RB_FILES}) + ENDIF(RB_HAS_SUBDIRS) + ELSE(RB_HAS_FILES) + IF(RB_HAS_SUBDIRS) + ROBOT_DATA(NAME ${ROBOTNAME} PREFIX ${RB_PREFIX} SUBDIRS ${RB_SUBDIRS}) + ELSE(RB_HAS_SUBDIRS) + ROBOT_DATA(NAME ${ROBOTNAME} PREFIX ${RB_PREFIX}) + ENDIF(RB_HAS_SUBDIRS) + ENDIF(RB_HAS_FILES) + ELSE(RB_HAS_PREFIX) + IF(RB_HAS_FILES) + IF(RB_HAS_SUBDIRS) + ROBOT_DATA(NAME ${ROBOTNAME} FILES ${RB_FILES} SUBDIRS ${RB_SUBDIRS}) + ELSE(RB_HAS_SUBDIRS) + ROBOT_DATA(NAME ${ROBOTNAME} FILES ${RB_FILES}) + ENDIF(RB_HAS_SUBDIRS) + ELSE(RB_HAS_FILES) + IF(RB_HAS_SUBDIRS) + ROBOT_DATA(NAME ${ROBOTNAME} SUBDIRS ${RB_SUBDIRS}) + ELSE(RB_HAS_SUBDIRS) ROBOT_DATA(NAME ${ROBOTNAME}) - ENDIF(HAS_SHIPSUBDIRS) - ENDIF(HAS_EXTRA_SHIP) - ENDIF(HAS_SHIPPREFIX) + ENDIF(RB_HAS_SUBDIRS) + ENDIF(RB_HAS_FILES) + ENDIF(RB_HAS_PREFIX) ENDMACRO(ROBOT) MACRO(ADD_INTERFACE_INCLUDEDIR) @@ -350,8 +356,10 @@ MACRO(ADD_INTERFACE_INCLUDEDIR) SET(INCLUDE_CANDIDATE ${SD_INCLUDEDIR_ABS}) ENDIF(IN_SOURCETREE) - FIND_PATH(INTERFACE_INCLUDE_DIR raceman.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include NO_DEFAULT_PATH) - FIND_PATH(INTERFACE_INCLUDE_DIR raceman.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include) + FIND_PATH(INTERFACE_INCLUDE_DIR raceman.h + PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include NO_DEFAULT_PATH) + FIND_PATH(INTERFACE_INCLUDE_DIR raceman.h + PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include) IF(INTERFACE_INCLUDE_DIR) INCLUDE_DIRECTORIES(${INTERFACE_INCLUDE_DIR}) ELSE(INTERFACE_INCLUDE_DIR) @@ -371,8 +379,12 @@ MACRO(ADD_OSSPEC_INCLUDEDIR) ELSE(IN_SOURCETREE) SET(CANDIDATE_SPEC ${SD_INCLUDEDIR}) ENDIF(IN_SOURCETREE) - FIND_PATH(OSSPEC_INCLUDE_DIR osspec.h PATHS ${CANDIDATE_SPEC} /usr/include /usr/local/include NO_DEFAULT_PATH CACHE DOC "osspec header directory") - FIND_PATH(OSSPEC_INCLUDE_DIR osspec.h PATHS ${CANDIDATE_SPEC} /usr/include /usr/local/include CACHE DOC "osspec header directory") + FIND_PATH(OSSPEC_INCLUDE_DIR osspec.h + PATHS ${CANDIDATE_SPEC} /usr/include /usr/local/include + NO_DEFAULT_PATH CACHE DOC "osspec header directory") + FIND_PATH(OSSPEC_INCLUDE_DIR osspec.h + PATHS ${CANDIDATE_SPEC} /usr/include /usr/local/include + CACHE DOC "osspec header directory") IF(OSSPEC_INCLUDE_DIR) INCLUDE_DIRECTORIES(${OSSPEC_INCLUDE_DIR}) ELSE(OSSPEC_INCLUDE_DIR) diff --git a/cmake/split_argn.cmake b/cmake/split_argn.cmake index 0eeb50268..83884885b 100644 --- a/cmake/split_argn.cmake +++ b/cmake/split_argn.cmake @@ -83,6 +83,9 @@ ENDMACRO(SPLIT_ARGN_IS_KEYWORD SAG_KEYWORDS SAG_ITEM) MACRO(SPLIT_ARGN) SPLIT_ARGN_KEYWORDS(SA_KEYWORDS ${ARGN}) + IF(__DEBUG__) + MESSAGE(STATUS "KEYWORDS: ${SA_KEYWORDS}") + ENDIF() SPLIT_ARGN_CLEAN_ISVARS(${ARGN}) SET(SA_EXPECT_KEYWORD TRUE) SET(SA_EXPECT_VALUE FALSE) @@ -97,6 +100,9 @@ MACRO(SPLIT_ARGN) ELSE(NOT SA_START) #Check if the current item is a keyword SPLIT_ARGN_IS_KEYWORD(SA_KEYWORDS ${SA_ITEM} SA_ISKEYWORD) + IF(__DEBUG__) + MESSAGE(STATUS "ITEM=${SA_ITEM} KEYWORD=${SA_ISKEYWORD}") + ENDIF() IF(SA_ISKEYWORD) #Check if it is what we expect @@ -105,6 +111,9 @@ MACRO(SPLIT_ARGN) ELSE(NOT SA_EXPECT_KEYWORD) #Save information about the keyword SPLIT_ARGN_GET_KEYWORD(${SA_ITEM} SA_KEYWORD_FOUND SA_CUR_KEYWORD SA_CUR_MINCOUNT SA_CUR_MAXCOUNT SA_CUR_ISVARNAME SA_CUR_VARNAME ${ARGN}) + IF(__DEBUG__) + MESSAGE(STATUS "KEYWORD: FOUND=${SA_KEYWORD_FOUND} KEYW=${SA_CUR_KEYWORD} MIN=${SA_CUR_MINCOUNT} MAX=${SA_CUR_MAXCOUNT} ISVAR=${SA_CUR_ISVARNAME} VARNAME=${SA_CUR_VARNAME}") + ENDIF() IF(SA_KEYWORD_FOUND) SET(SA_CUR_INDEX 0) IF(NOT "${SA_CUR_VARNAME}" STREQUAL "_") diff --git a/src/drivers/K1999/CMakeLists.txt b/src/drivers/K1999/CMakeLists.txt index 2e8418a8c..e013f407c 100644 --- a/src/drivers/K1999/CMakeLists.txt +++ b/src/drivers/K1999/CMakeLists.txt @@ -5,12 +5,12 @@ SET(ROBOT_NAME "K1999") SET(ROBOT_SOURCES ${ROBOT_NAME}.cpp) -SET(ROBOT_SHIP logo.rgb) -SET(ROBOT_SHIPSUBDIRS 1 2) +SET(ROBOT_FILES logo.rgb) +SET(ROBOT_SUBDIRS 1 2) #ADD_SDLIB_INCLUDEDIR(math) -#ROBOT(${ROBOT_NAME} ROBOT_SOURCES ROBOT_SHIP ROBOT_SHIPSUBDIRS) +#ROBOT(${ROBOT_NAME} ROBOT_SOURCES ROBOT_FILES ROBOT_SUBDIRS) -ROBOT(NAME ${ROBOT_NAME} SOURCES ${ROBOT_SOURCES} SHIP ${ROBOT_SHIP} SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS}) +ROBOT(NAME ${ROBOT_NAME} SOURCES ${ROBOT_SOURCES} FILES ${ROBOT_FILES} SUBDIRS ${ROBOT_SUBDIRS}) diff --git a/src/drivers/bt/CMakeLists.txt b/src/drivers/bt/CMakeLists.txt index 9b8d4028e..3ecdee7af 100644 --- a/src/drivers/bt/CMakeLists.txt +++ b/src/drivers/bt/CMakeLists.txt @@ -6,11 +6,11 @@ SET(ROBOT_NAME "bt") SET(ROBOT_SOURCES ${ROBOT_NAME}.cpp cardata.cpp driver.cpp learn.cpp opponent.cpp pit.cpp spline.cpp strategy.cpp strategy.h cardata.h driver.h learn.h opponent.h pit.h spline.h) -SET(ROBOT_SHIP logo.rgb) -SET(ROBOT_SHIPSUBDIRS 0 1 2 3 4 5 6 7 8 9 155-DTM cg-nascar-rwd clkdtm dtm155 dtma4 +SET(ROBOT_FILES logo.rgb) +SET(ROBOT_SUBDIRS 0 1 2 3 4 5 6 7 8 9 155-DTM cg-nascar-rwd clkdtm dtm155 dtma4 dtmastra dtmclk dtmfalcon dtmm3 gt40 mclaren-f1 xj-220 pc-350z pc-996 pc-ciclon-300 pc-f360 pc-gt4 pc-nsx sc-boxer-96 sc-spirit-300 sc-cavallo-360 sc-fmc-gt4 sc-lynx-220 sc-murasama-nsx) -ROBOT(NAME ${ROBOT_NAME} SOURCES ${ROBOT_SOURCES} SHIP ${ROBOT_SHIP} - SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS}) +ROBOT(NAME ${ROBOT_NAME} SOURCES ${ROBOT_SOURCES} FILES ${ROBOT_FILES} + SUBDIRS ${ROBOT_SUBDIRS}) diff --git a/src/drivers/human/CMakeLists.txt b/src/drivers/human/CMakeLists.txt index c94938279..260362b5d 100644 --- a/src/drivers/human/CMakeLists.txt +++ b/src/drivers/human/CMakeLists.txt @@ -4,15 +4,15 @@ SET(ROBOT_NAME "human") SET(ROBOT_SOURCES ${ROBOT_NAME}.cpp pref.cpp human.h pref.h) -SET(ROBOT_SHIP logo.rgb) -SET(ROBOT_SHIPSUBDIRS cars) +SET(ROBOT_FILES logo.rgb) +SET(ROBOT_SUBDIRS cars) FILE(GLOB files_xml *.xml) ADD_SDLIB_INCLUDEDIR(tgfclient) ROBOT(NAME ${ROBOT_NAME} INTERFACE WELCOME SOURCES ${ROBOT_SOURCES} - SHIP ${ROBOT_SHIP} SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS}) + FILES ${ROBOT_FILES} SUBDIRS ${ROBOT_SUBDIRS}) SD_INSTALL_FILES(DATA drivers/${ROBOT_NAME} USER drivers/${ROBOT_NAME} FILES ${files_xml}) diff --git a/src/drivers/hymie/CMakeLists.txt b/src/drivers/hymie/CMakeLists.txt index 3ca3f2c36..c812abff3 100644 --- a/src/drivers/hymie/CMakeLists.txt +++ b/src/drivers/hymie/CMakeLists.txt @@ -7,8 +7,8 @@ SET(ROBOT_SOURCES ${ROBOT_NAME}.cpp cardata.cpp correct.cpp driver.cpp correct.h driver.h learn.h linalg.h name.h opponent.h pit.h spline.h strategy.h) -SET(ROBOT_SHIP) -SET(ROBOT_SHIPSUBDIRS 1 2 3 4 5 6 7 8 9 10 sc-boxer-96 sc-spirit-300 sc-cavallo-360 sc-fmc-gt4 sc-lynx-220 sc-murasama-nsx svg) +SET(ROBOT_FILES) +SET(ROBOT_SUBDIRS 1 2 3 4 5 6 7 8 9 10 sc-boxer-96 sc-spirit-300 sc-cavallo-360 sc-fmc-gt4 sc-lynx-220 sc-murasama-nsx svg) -ROBOT(NAME ${ROBOT_NAME} SOURCES ${ROBOT_SOURCES} SHIP ${ROBOT_SHIP} SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS}) +ROBOT(NAME ${ROBOT_NAME} SOURCES ${ROBOT_SOURCES} FILES ${ROBOT_FILES} SUBDIRS ${ROBOT_SUBDIRS}) diff --git a/src/drivers/kilo2008/CMakeLists.txt b/src/drivers/kilo2008/CMakeLists.txt index d9560c1be..0de485a09 100644 --- a/src/drivers/kilo2008/CMakeLists.txt +++ b/src/drivers/kilo2008/CMakeLists.txt @@ -6,8 +6,8 @@ SET(ROBOT_SOURCES ${ROBOT_NAME}.cpp opponent.cpp pit.cpp strategy.cpp linalg.h opponent.h strategy.h pit.h cardata.h cardata.cpp spline.cpp spline.h raceline.cpp raceline.h kdriver.cpp kdriver.h util.h util.cpp) -SET(ROBOT_SHIP logo.rgb default.xml) -SET(ROBOT_SHIPSUBDIRS 1 2 5 6 tracks trb1-cavallo-360rb ls1-archer-r9) +SET(ROBOT_FILES logo.rgb default.xml) +SET(ROBOT_SUBDIRS 1 2 5 6 tracks trb1-cavallo-360rb ls1-archer-r9) -ROBOT(NAME ${ROBOT_NAME} SOURCES ${ROBOT_SOURCES} SHIP ${ROBOT_SHIP} SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS}) +ROBOT(NAME ${ROBOT_NAME} SOURCES ${ROBOT_SOURCES} FILES ${ROBOT_FILES} SUBDIRS ${ROBOT_SUBDIRS}) diff --git a/src/drivers/networkhuman/CMakeLists.txt b/src/drivers/networkhuman/CMakeLists.txt index 58bf4075f..4853f4e4d 100644 --- a/src/drivers/networkhuman/CMakeLists.txt +++ b/src/drivers/networkhuman/CMakeLists.txt @@ -4,18 +4,17 @@ SET(ROBOT_NAME "networkhuman") SET(ROBOT_SOURCES ${ROBOT_NAME}.cpp pref.cpp networkhuman.h pref.h) -SET(ROBOT_SHIP logo.rgb) -SET(ROBOT_SHIP_SUBDIR tracks) +SET(ROBOT_FILES logo.rgb) +SET(ROBOT_SUBDIRS) FILE(GLOB files_xml *.xml) ADD_SDLIB_INCLUDEDIR(tgfclient networking) ROBOT(NAME ${ROBOT_NAME} INTERFACE WELCOME SOURCES ${ROBOT_SOURCES} - SHIP ${ROBOT_SHIP} SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS}) + FILES ${ROBOT_FILES} SUBDIRS ${ROBOT_SUBDIRS}) SD_INSTALL_FILES(DATA drivers/${ROBOT_NAME} USER drivers/${ROBOT_NAME} FILES ${files_xml}) -#ADD_SDLIB_LIBRARY(${ROBOT_NAME} tgf tgfclient) ADD_SDLIB_LIBRARY(${ROBOT_NAME} tgf client networking) diff --git a/src/drivers/simplix/CMakeLists.txt b/src/drivers/simplix/CMakeLists.txt index 52e80ed48..846737335 100644 --- a/src/drivers/simplix/CMakeLists.txt +++ b/src/drivers/simplix/CMakeLists.txt @@ -87,64 +87,64 @@ ROBOT_MODULE(NAME ${ROBOT_NAME} INTERFACE ${ROBOT_INTERFACE} SOURCES ${ROBOT_SOU CLONENAMES ${ROBOT_CLONES}) # The data associated to the ubiquitous robot module and its clones. -SET(ROBOT_SHIP logo.rgb readme.txt default.xml) +SET(ROBOT_FILES logo.rgb readme.txt default.xml) -SET(ROBOT_SHIPSUBDIRS 0 trb1-cavallo-360rb tracks +SET(ROBOT_SUBDIRS 0 trb1-cavallo-360rb tracks ls1-archer-r9 ls1-cavallo-570s1 ls1-newcastle-fury ls1-taipan-ltsr ls1-toro-rgt ls1-vulture-v6r ls1-zentek-z7r sc-boxer-96 sc-cavallo-360 sc-fmc-gt4 sc-lynx-220 sc-murasama-nsx sc-spirit-300) -ROBOT_DATA(NAME ${ROBOT_NAME} SHIPPREFIX src - SHIPFILES ${ROBOT_SHIP} SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS}) +ROBOT_DATA(NAME ${ROBOT_NAME} PREFIX src + FILES ${ROBOT_FILES} SUBDIRS ${ROBOT_SUBDIRS}) # 36GP -SET(ROBOT_SHIPSUBDIRS 0 1 2 3 4 5 6 7 8 9 +SET(ROBOT_SUBDIRS 0 1 2 3 4 5 6 7 8 9 36gp-ettore-t59 36gp-milano-12c36 36gp-silber-w25b 36gp-tridenti-6c34 36gp-tridenti-v8ri tracks) -ROBOT_DATA(NAME simplix_36GP SHIPPREFIX simplix_36GP - SHIPFILES ${ROBOT_SHIP} SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS}) +ROBOT_DATA(NAME simplix_36GP PREFIX simplix_36GP + FILES ${ROBOT_FILES} SUBDIRS ${ROBOT_SUBDIRS}) # SuperCars -SET(ROBOT_SHIPSUBDIRS 0 1 2 3 4 5 6 7 8 12 13 +SET(ROBOT_SUBDIRS 0 1 2 3 4 5 6 7 8 12 13 sc-boxer-96 sc-spirit-300 sc-cavallo-360 sc-fmc-gt4 sc-lynx-220 sc-murasama-nsx tracks) -ROBOT_DATA(NAME simplix_sc SHIPPREFIX simplix_sc - SHIPFILES ${ROBOT_SHIP} SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS}) +ROBOT_DATA(NAME simplix_sc PREFIX simplix_sc + FILES ${ROBOT_FILES} SUBDIRS ${ROBOT_SUBDIRS}) # LS-GT1 -SET(ROBOT_SHIPSUBDIRS 0 1 2 3 4 5 8 9 12 13 +SET(ROBOT_SUBDIRS 0 1 2 3 4 5 8 9 12 13 ls1-toro-rgt ls1-cavallo-570s1 ls1-newcastle-fury ls1-archer-r9 ls1-zentek-z7r ls1-taipan-ltsr ls1-vulture-v6r tracks) -ROBOT_DATA(NAME simplix_ls1 SHIPPREFIX simplix_ls1 - SHIPFILES ${ROBOT_SHIP} SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS}) +ROBOT_DATA(NAME simplix_ls1 PREFIX simplix_ls1 + FILES ${ROBOT_FILES} SUBDIRS ${ROBOT_SUBDIRS}) # TRB1 -SET(ROBOT_SHIPSUBDIRS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 +SET(ROBOT_SUBDIRS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 trb1-boxer-trbrs trb1-sector-rb1 trb1-spirit-rb1lt trb1-cavallo-360rb trb1-silber-rblk trb1-taipan-rb1 trb1-zaxxon-rb tracks) -ROBOT_DATA(NAME simplix_trb1 SHIPPREFIX simplix_trb1 - SHIPFILES ${ROBOT_SHIP} SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS}) +ROBOT_DATA(NAME simplix_trb1 PREFIX simplix_trb1 + FILES ${ROBOT_FILES} SUBDIRS ${ROBOT_SUBDIRS}) # MP5 -SET(ROBOT_SHIPSUBDIRS 0 1 2 3 4 5 mp5-fmc tracks) +SET(ROBOT_SUBDIRS 0 1 2 3 4 5 mp5-fmc tracks) -ROBOT_DATA(NAME simplix_mp5 SHIPPREFIX simplix_mp5 - SHIPFILES ${ROBOT_SHIP} SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS}) +ROBOT_DATA(NAME simplix_mp5 PREFIX simplix_mp5 + FILES ${ROBOT_FILES} SUBDIRS ${ROBOT_SUBDIRS}) # Work-in-progress / unofficial simplix instances. IF(NOT OPTION_OFFICIAL_ONLY) - SET(ROBOT_SHIPSUBDIRS 0 1 2 3 4 5 6 7 8 9 mpa1-murasama tracks) + SET(ROBOT_SUBDIRS 0 1 2 3 4 5 6 7 8 9 mpa1-murasama tracks) - ROBOT_DATA(NAME simplix_mpa1 SHIPPREFIX simplix_mpa1 - SHIPFILES ${ROBOT_SHIP} SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS}) + ROBOT_DATA(NAME simplix_mpa1 PREFIX simplix_mpa1 + FILES ${ROBOT_FILES} SUBDIRS ${ROBOT_SUBDIRS}) ENDIF() \ No newline at end of file diff --git a/src/drivers/usr_36GP/CMakeLists.txt b/src/drivers/usr_36GP/CMakeLists.txt index 3962d5e0b..f060984c4 100644 --- a/src/drivers/usr_36GP/CMakeLists.txt +++ b/src/drivers/usr_36GP/CMakeLists.txt @@ -8,9 +8,9 @@ SET(ROBOT_INTERFACE LEGACY WELCOME) SET(ROBOT_SOURCES ${ROBOT_NAME}.cpp driver.cpp opponent.cpp spline.cpp pit.cpp strategy.cpp cardata.cpp raceline.cpp) -SET(ROBOT_SHIP logo.rgb) -SET(ROBOT_SHIPSUBDIRS cars 1 2 3 4 5 6 7 8 9 10 11 12 ) +SET(ROBOT_FILES logo.rgb) +SET(ROBOT_SUBDIRS cars 1 2 3 4 5 6 7 8 9 10 11 12 ) ROBOT(NAME ${ROBOT_NAME} INTERFACE ${ROBOT_INTERFACE} - SOURCES ${ROBOT_SOURCES} SHIP ${ROBOT_SHIP} - SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS}) + SOURCES ${ROBOT_SOURCES} FILES ${ROBOT_FILES} + SUBDIRS ${ROBOT_SUBDIRS}) diff --git a/src/drivers/usr_ls1/CMakeLists.txt b/src/drivers/usr_ls1/CMakeLists.txt index 625fcb1d9..9c2e28af2 100644 --- a/src/drivers/usr_ls1/CMakeLists.txt +++ b/src/drivers/usr_ls1/CMakeLists.txt @@ -8,9 +8,9 @@ SET(ROBOT_INTERFACE LEGACY WELCOME) SET(ROBOT_SOURCES ${ROBOT_NAME}.cpp driver.cpp opponent.cpp spline.cpp pit.cpp strategy.cpp cardata.cpp raceline.cpp) -SET(ROBOT_SHIP logo.rgb) -SET(ROBOT_SHIPSUBDIRS cars 1 2 3 4 7 8) +SET(ROBOT_FILES logo.rgb) +SET(ROBOT_SUBDIRS cars 1 2 3 4 7 8) ROBOT(NAME ${ROBOT_NAME} INTERFACE ${ROBOT_INTERFACE} - SOURCES ${ROBOT_SOURCES} SHIP ${ROBOT_SHIP} - SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS}) + SOURCES ${ROBOT_SOURCES} FILES ${ROBOT_FILES} + SUBDIRS ${ROBOT_SUBDIRS}) diff --git a/src/drivers/usr_sc/CMakeLists.txt b/src/drivers/usr_sc/CMakeLists.txt index 61397889f..9b4dd04c2 100644 --- a/src/drivers/usr_sc/CMakeLists.txt +++ b/src/drivers/usr_sc/CMakeLists.txt @@ -8,9 +8,9 @@ SET(ROBOT_INTERFACE LEGACY WELCOME) SET(ROBOT_SOURCES ${ROBOT_NAME}.cpp driver.cpp opponent.cpp spline.cpp pit.cpp strategy.cpp cardata.cpp raceline.cpp) -SET(ROBOT_SHIP logo.rgb) -SET(ROBOT_SHIPSUBDIRS cars 1 2 3 4 5 6 7 8 9 10 11 12) +SET(ROBOT_FILES logo.rgb) +SET(ROBOT_SUBDIRS cars 1 2 3 4 5 6 7 8 9 10 11 12) ROBOT(NAME ${ROBOT_NAME} INTERFACE ${ROBOT_INTERFACE} - SOURCES ${ROBOT_SOURCES} SHIP ${ROBOT_SHIP} - SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS}) + SOURCES ${ROBOT_SOURCES} FILES ${ROBOT_FILES} + SUBDIRS ${ROBOT_SUBDIRS}) diff --git a/src/drivers/usr_trb1/CMakeLists.txt b/src/drivers/usr_trb1/CMakeLists.txt index 4400a5b93..d8d74b9a5 100644 --- a/src/drivers/usr_trb1/CMakeLists.txt +++ b/src/drivers/usr_trb1/CMakeLists.txt @@ -8,9 +8,9 @@ SET(ROBOT_INTERFACE LEGACY WELCOME) SET(ROBOT_SOURCES ${ROBOT_NAME}.cpp driver.cpp opponent.cpp spline.cpp pit.cpp strategy.cpp cardata.cpp raceline.cpp) -SET(ROBOT_SHIP logo.rgb) -SET(ROBOT_SHIPSUBDIRS cars 1 2 3 4 5 6 7 8 9 10 11 12 13 14) +SET(ROBOT_FILES logo.rgb) +SET(ROBOT_SUBDIRS cars 1 2 3 4 5 6 7 8 9 10 11 12 13 14) ROBOT(NAME ${ROBOT_NAME} INTERFACE ${ROBOT_INTERFACE} - SOURCES ${ROBOT_SOURCES} SHIP ${ROBOT_SHIP} - SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS}) + SOURCES ${ROBOT_SOURCES} FILES ${ROBOT_FILES} + SUBDIRS ${ROBOT_SUBDIRS})