From 6f63d59f58cd5c08f216e9da925a9743a14c573a Mon Sep 17 00:00:00 2001 From: "Jordan P. Lefebvre" Date: Wed, 4 Nov 2015 14:31:42 -0500 Subject: [PATCH 01/14] TriBITS #17 Adding mercurial and subversion support in clone_extra_repos.py. --- tribits/ci_support/clone_extra_repos.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tribits/ci_support/clone_extra_repos.py b/tribits/ci_support/clone_extra_repos.py index 6013099f2..a7f81114e 100755 --- a/tribits/ci_support/clone_extra_repos.py +++ b/tribits/ci_support/clone_extra_repos.py @@ -420,6 +420,9 @@ def cloneExtraRepo(inOptions, extraRepoDict): repoDir = extraRepoDict["DIR"] repoUrl = extraRepoDict["REPOURL"] repoVcType = extraRepoDict["REPOTYPE"] + commandMap = { "GIT":"git clone" + ,"HG" :"hg clone" + ,"SVN":"svn co"} verbLevelIsMinimum = isVerbosityLevel(inOptions, "minimal") if verbLevelIsMinimum: print "\nCloning repo "+repoName+" ..." @@ -427,10 +430,10 @@ def cloneExtraRepo(inOptions, extraRepoDict): if verbLevelIsMinimum: print "\n ==> Repo dir = '"+repoDir+"' already exists. Skipping clone!" return - if repoVcType != "GIT": + if not repoVcType in commandMap: print "\n ==> ERROR: Repo type '"+repoVcType+"' not supported!" sys.exit(1) - cmnd = "git clone "+repoUrl+" "+repoDir + cmnd = commandMap[repoVcType]+" "+repoUrl+" "+repoDir if inOptions.doOp: echoRunSysCmnd(cmnd, timeCmnd=True, verbose=verbLevelIsMinimum) elif verbLevelIsMinimum: From 5e33e6d9e4a6ca692fd0e5b4e2399b433cc50eaa Mon Sep 17 00:00:00 2001 From: "Jordan P. Lefebvre" Date: Fri, 6 Nov 2015 14:31:33 -0500 Subject: [PATCH 02/14] TriBITS #17: Updating TribitsCTestDriverCore and TribitsProcessExtraRepositoriesList to minimally support mercurial. --- .../TribitsProcessExtraRepositoriesList.cmake | 10 ++-- .../ctest_driver/TribitsCTestDriverCore.cmake | 47 +++++++++++++++---- 2 files changed, 43 insertions(+), 14 deletions(-) diff --git a/tribits/core/package_arch/TribitsProcessExtraRepositoriesList.cmake b/tribits/core/package_arch/TribitsProcessExtraRepositoriesList.cmake index 14d4c5c53..6fbc3cb4c 100644 --- a/tribits/core/package_arch/TribitsProcessExtraRepositoriesList.cmake +++ b/tribits/core/package_arch/TribitsProcessExtraRepositoriesList.cmake @@ -208,7 +208,7 @@ FUNCTION(TRIBITS_PARSE_EXTRAREPO_PACKSTAT PACKSTAT_IN #PRINT_VAR(PACKSTAT_IN) SPLIT("${PACKSTAT_IN}" "," PACKSTAT_IN_ARRAY) - + # Set the defaults SET(HASPKGS "HASPACKAGES") SET(PREPOST "POST") @@ -229,7 +229,7 @@ FUNCTION(TRIBITS_PARSE_EXTRAREPO_PACKSTAT PACKSTAT_IN MESSAGE_WRAPPER(FATAL_ERROR "Error, the value of 'PACKSTAT' element" " '${PACKSTAT_ELE}' is not valid! Valid choices are '' (empty)," " 'HASPACKAGES', 'NOPACKAGES', 'PRE', and 'POST'. The defaults if all" - " fields are empty are 'HASPACKAGES' and 'POST'") + " fields are empty are 'HASPACKAGES' and 'POST'") ENDIF() ENDFOREACH() # NOTE: In the above FOREACH(PACKSTAT_ELE ${PACKSTAT_IN_ARRAY}) loop, empty @@ -353,7 +353,7 @@ MACRO(TRIBITS_PROCESS_EXTRAREPOS_LISTS) # Okay ELSEIF (EXTRAREPO_VCTYPE STREQUAL HG) # not quite okay - MESSAGE(WARNING "Warning: the repo ${EXTRAREPO_NAME} is a Mercurial repo: these are tolerated, but not fully supported.") + MESSAGE("NOTICE: the repo ${EXTRAREPO_NAME} is a Mercurial repo: these are tolerated, but not fully supported.") ELSEIF (EXTRAREPO_VCTYPE STREQUAL "") # We are okay with no VC type ELSE() @@ -404,7 +404,7 @@ MACRO(TRIBITS_PROCESS_EXTRAREPOS_LISTS) " specified in the PACKSTAT field '${EXTRAREPO_PACKSTAT}' came directly after" " a 'POST' extra repo! All 'PRE' extra repos must be listed before all" " 'POST' extra repos!" - ) + ) ENDIF() # B.2) Unconditionally add the extrarepo to the list @@ -613,7 +613,7 @@ FUNCTION(TRIBITS_FILTER_OR_ASSERT_EXTRA_REPOS) IF (TRIBITS_PROCESS_EXTRAREPOS_LISTS_DEBUG) PRINT_VAR(${PROJECT_NAME}_ENABLE_KNOWN_EXTERNAL_REPOS_TYPE) ENDIF() - + IF (${PROJECT_NAME}_ENABLE_KNOWN_EXTERNAL_REPOS_TYPE STREQUAL "Continuous" AND EXTRAREPO_CATEGORY STREQUAL "Continuous" ) diff --git a/tribits/ctest_driver/TribitsCTestDriverCore.cmake b/tribits/ctest_driver/TribitsCTestDriverCore.cmake index e2b3c903c..970315d79 100644 --- a/tribits/ctest_driver/TribitsCTestDriverCore.cmake +++ b/tribits/ctest_driver/TribitsCTestDriverCore.cmake @@ -177,6 +177,11 @@ FIND_PROGRAM(SVN_EXE NAMES svn) MESSAGE("SVN_EXE=${SVN_EXE}") # If we don't find svn, no big deal unless we have an SVN repo! +# Find mercurial +FIND_PROGRAM(HG_EXE NAMES hg) +MESSAGE("HG_EXE=${HG_EXE}") +SET(CTEST_HG_COMMAND "${HG_EXE}") + # Get the host name SITE_NAME(CTEST_SITE_DEFAULT) @@ -198,7 +203,7 @@ MACRO(EXTRAREPO_EXECUTE_PROCESS_WRAPPER) IF (NOT EXTRAREPO_EXECUTE_PROCESS_WRAPPER_RTN_VAL STREQUAL "0") MESSAGE(SEND_ERROR "Error: EXECUTE_PROCESS(${ARGN}) returned" - " '${EXTRAREPO_EXECUTE_PROCESS_WRAPPER_RTN_VAL}'") + " '${EXTRAREPO_EXECUTE_PROCESS_WRAPPER_RTN_VAL}'") ENDIF() ELSE() MESSAGE("EXECUTE_PROCESS(${ARGN})") @@ -250,6 +255,9 @@ FUNCTION(CLONE_OR_UPDATE_EXTRAREPO EXTRAREPO_NAME_IN EXTRAREPO_DIR_IN SET(GIT_LOG_SHORT "${GIT_EXE}" log "--pretty=format:%h: %s%nAuthor: %an <%ae>%nDate: %ad%n" --name-status -C) + SET(HG_LOG_SHORT "${HG_EXE}" log + --template "{node|short}: {desc}%Author: {author}\nDate: {date|rfc822date}\n\n{file_adds % 'A {file}\n'}{file_dels % 'D {file}\n'}{file_mods % 'M {file}\n'}\n" + ) IF (NOT EXISTS "${EXTRAREPO_SRC_DIR}") @@ -264,6 +272,15 @@ FUNCTION(CLONE_OR_UPDATE_EXTRAREPO EXTRAREPO_NAME_IN EXTRAREPO_DIR_IN OUTPUT_FILE "${EXTRAREPO_CLONE_OUT_FILE}" ) SET(CLONE_VERSION_CMND_ARGS COMMAND ${GIT_LOG_SHORT} -1) + ELSEIF (${EXTRAREPO_REPOTYPE_IN} STREQUAL HG) + IF (NOT HG_EXE) + MESSAGE(SEND_ERROR "Error, could not find HG executable!") + ENDIF() + SET(CLONE_CMND_ARGS + COMMAND "${HG_EXE}" clone "${EXTRAREPO_REPOURL}" ${EXTRAREPO_DIR_IN} + WORKING_DIRECTORY "${${PROJECT_NAME}_SOURCE_DIRECTORY}" + OUTPUT_FILE "${EXTRAREPO_CHECKOUT_OUT_FILE}" ) + SET(CLONE_VERSION_CMND_ARGS "${HG_LOG_SHORT} -l1") ELSEIF (${EXTRAREPO_REPOTYPE_IN} STREQUAL SVN) IF (NOT SVN_EXE) MESSAGE(SEND_ERROR "Error, could not find SVN executable!") @@ -275,7 +292,7 @@ FUNCTION(CLONE_OR_UPDATE_EXTRAREPO EXTRAREPO_NAME_IN EXTRAREPO_DIR_IN SET(CLONE_VERSION_CMND_ARGS "echo") # ToDo: Define this for SVN ELSE() MESSAGE(SEND_ERROR - "Error, Invalid EXTRAREPO_REPOTYPE_IN='${EXTRAREPO_REPOTYPE_IN}'!") + "Error, Invalid EXTRAREPO_REPOTYPE_IN='${EXTRAREPO_REPOTYPE_IN}'!") ENDIF() # Do the clone/update @@ -299,6 +316,13 @@ FUNCTION(CLONE_OR_UPDATE_EXTRAREPO EXTRAREPO_NAME_IN EXTRAREPO_DIR_IN EXTRAREPO_CLEAN_FETCH_RESET("${GIT_EXE}" "${EXTRAREPO_SRC_DIR}") SET(PULL_DIFF_CMND_ARGS COMMAND ${GIT_LOG_SHORT} HEAD ^ORIG_HEAD) + ELSEIF (${EXTRAREPO_REPOTYPE_IN} STREQUAL HG) + SET(PULL_CMND_ARGS + COMMAND ${HG_EXE} pull + WORKING_DIRECTORY "${EXTRAREPO_SRC_DIR}") + EXTRAREPO_EXECUTE_PROCESS_WRAPPER(${PULL_CMND_ARGS}) + SET(PULL_DIFF_CMND_ARGS + COMMAND ${HG_LOG_SHORT} --rev .:tip) ELSEIF (${EXTRAREPO_REPOTYPE_IN} STREQUAL SVN) SET(PULL_CMND_ARGS COMMAND "${SVN_EXE}" update @@ -308,7 +332,7 @@ FUNCTION(CLONE_OR_UPDATE_EXTRAREPO EXTRAREPO_NAME_IN EXTRAREPO_DIR_IN SET(PULL_DIFF_CMND_ARGS "echo") # ToDo: Determine this for SVN ELSE() MESSAGE(SEND_ERROR - "Error, Invalid EXTRAREPO_REPOTYPE_IN='${EXTRAREPO_REPOTYPE_IN}'!") + "Error, Invalid EXTRAREPO_REPOTYPE_IN='${EXTRAREPO_REPOTYPE_IN}'!") ENDIF() # Determine what changed @@ -1231,15 +1255,20 @@ FUNCTION(TRIBITS_CTEST_DRIVER) IF (CTEST_DO_UPDATES) - SET(UPDATE_TYPE "git") + IF(EXISTS "${CTEST_SOURCE_DIRECTORY}/.git") + SET(UPDATE_TYPE "git") + SET(CTEST_UPDATE_COMMAND "${GIT_EXE}") + ELSEIF(EXISTS "${CTEST_SOURCE_DIRECTORY}/.hg") + SET(UPDATE_TYPE "hg") + SET(CTEST_UPDATE_COMMAND "${HG_EXE}") + ENDIF() MESSAGE("UPDATE_TYPE = '${UPDATE_TYPE}'") - SET(CTEST_UPDATE_COMMAND "${GIT_EXE}") MESSAGE("CTEST_UPDATE_COMMAND='${CTEST_UPDATE_COMMAND}'") IF(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}") MESSAGE("${CTEST_SOURCE_DIRECTORY} does not exist so setting up for an initial checkout") SET( CTEST_CHECKOUT_COMMAND - "\"${GIT_EXE}\" clone ${CTEST_UPDATE_ARGS} ${${PROJECT_NAME}_REPOSITORY_LOCATION}" ) + "\"${CTEST_UPDATE_COMMAND}\" clone ${CTEST_UPDATE_ARGS} ${${PROJECT_NAME}_REPOSITORY_LOCATION}" ) MESSAGE("CTEST_CHECKOUT_COMMAND='${CTEST_CHECKOUT_COMMAND}'") ELSE() MESSAGE("${CTEST_SOURCE_DIRECTORY} exists so skipping the initial checkout.") @@ -1303,7 +1332,7 @@ FUNCTION(TRIBITS_CTEST_DRIVER) RETURN() ENDIF() - MESSAGE("\nDoing GIT update of '${CTEST_SOURCE_DIRECTORY}' ...") + MESSAGE("\nDoing update of '${CTEST_SOURCE_DIRECTORY}' ...") CTEST_UPDATE_WRAPPER( SOURCE "${CTEST_SOURCE_DIRECTORY}" RETURN_VALUE UPDATE_RETURN_VAL) MESSAGE("CTEST_UPDATE(...) returned '${UPDATE_RETURN_VAL}'") @@ -1547,7 +1576,7 @@ FUNCTION(TRIBITS_CTEST_DRIVER) # Create CONFIGURE_OPTIONS for this TRIBITS_PACKAGE SET( CONFIGURE_OPTIONS - "-D${PROJECT_NAME}_TRIBITS_DIR=${${PROJECT_NAME}_TRIBITS_DIR}" + "-D${PROJECT_NAME}_TRIBITS_DIR=${${PROJECT_NAME}_TRIBITS_DIR}" "-DCTEST_USE_LAUNCHERS:BOOL=${CTEST_USE_LAUNCHERS}" "-D${PROJECT_NAME}_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=ON" "-D${PROJECT_NAME}_ENABLE_TESTS:BOOL=${${TRIBITS_PACKAGE}_ENABLE_TESTS}" @@ -1772,7 +1801,7 @@ FUNCTION(TRIBITS_CTEST_DRIVER) IF (CTEST_DO_MEMORY_TESTING) MESSAGE("\nRunning memory testing for package '${TRIBITS_PACKAGE}' ...\n") PRINT_VAR(CTEST_MEMORYCHECK_COMMAND) - PRINT_VAR(CTEST_MEMORYCHECK_COMMAND_OPTIONS) + PRINT_VAR(CTEST_MEMORYCHECK_COMMAND_OPTIONS) PRINT_VAR(CTEST_MEMORYCHECK_SUPPRESSIONS_FILE) CTEST_MEMCHECK( BUILD "${CTEST_BINARY_DIRECTORY}" From 2bd60aa7beb01c34162d8a1b14e859060484382b Mon Sep 17 00:00:00 2001 From: "Jordan P. Lefebvre" Date: Thu, 12 Nov 2015 09:19:25 -0500 Subject: [PATCH 03/14] TriBITS #94 Allowing for CTEST_BUILD_TARGET override in TribitsCTESTDriverCore --- tribits/ctest_driver/TribitsCTestDriverCore.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tribits/ctest_driver/TribitsCTestDriverCore.cmake b/tribits/ctest_driver/TribitsCTestDriverCore.cmake index 970315d79..d3cfdbfe2 100644 --- a/tribits/ctest_driver/TribitsCTestDriverCore.cmake +++ b/tribits/ctest_driver/TribitsCTestDriverCore.cmake @@ -1731,7 +1731,7 @@ FUNCTION(TRIBITS_CTEST_DRIVER) SET(BUILD_OR_TEST_FAILED FALSE) # Build the ALL target, but append the results to the last build.xml - SET(CTEST_BUILD_TARGET) + SET_DEFAULT_AND_FROM_ENV(CTEST_BUILD_TARGET "") MESSAGE("\nBuild ALL target for '${TRIBITS_PACKAGE}' ...\n") CTEST_BUILD( BUILD "${CTEST_BINARY_DIRECTORY}" From 562820631f785b26764d8d0159266fa8fdafd48a Mon Sep 17 00:00:00 2001 From: "Jordan P. Lefebvre" Date: Tue, 24 Nov 2015 11:25:59 -0500 Subject: [PATCH 04/14] TriBITS #98: Fixing clone_extra_repos.py split('\n') with platform agnostic splitlines(). --- tribits/ci_support/clone_extra_repos.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tribits/ci_support/clone_extra_repos.py b/tribits/ci_support/clone_extra_repos.py index 6013099f2..94100e47c 100755 --- a/tribits/ci_support/clone_extra_repos.py +++ b/tribits/ci_support/clone_extra_repos.py @@ -265,7 +265,7 @@ def getHeaderOutputAndExtraReposDictList(rawOutputFromCmakefile): headerOuput = "" pythonDictListStr = "" processingPythonDict = False - for line in rawOutputFromCmakefile.split("\n"): + for line in rawOutputFromCmakefile.splitlines(): if line == "*** Extra Repositories Python Dictionary": processingPythonDict=True continue From be70c7a782bc62d53de614014ae1fbb97599cd06 Mon Sep 17 00:00:00 2001 From: "Jordan P. Lefebvre" Date: Mon, 4 Jan 2016 14:23:51 -0500 Subject: [PATCH 05/14] Fixing MACRO(QUEUE_ERROR) defining it before use of macro. Windows cmake could not find macro. --- .../ctest_driver/TribitsCTestDriverCore.cmake | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/tribits/ctest_driver/TribitsCTestDriverCore.cmake b/tribits/ctest_driver/TribitsCTestDriverCore.cmake index 7b4fe5962..8eb0ce1d8 100644 --- a/tribits/ctest_driver/TribitsCTestDriverCore.cmake +++ b/tribits/ctest_driver/TribitsCTestDriverCore.cmake @@ -160,6 +160,24 @@ ELSE() ) ENDIF() +# +# QUEUE_ERROR should be called only for errors that are not already reported to +# the dashboard in some other way. For example, if calling ctest_submit fails, +# then that failure does NOT show up on the dashboard, so it is appropriate to +# call QUEUE_ERROR for that case. For a build error or test failure, it is NOT +# appropriate to call QUEUE_ERROR because those already show up on the +# dashboard (assuming a good ctest_submit...) +# +# When adding more callers of QUEUE_ERROR, just make sure that it does not +# duplicate an existing/reported dashboard failure. +# + +MACRO(QUEUE_ERROR err_msg) + SET(TRIBITS_CTEST_DRIVER_ERROR_QUEUE + ${TRIBITS_CTEST_DRIVER_ERROR_QUEUE} "${err_msg}") +ENDMACRO() + + # Find git @@ -722,24 +740,6 @@ MACRO(INITIALIZE_ERROR_QUEUE) ENDMACRO() -# -# QUEUE_ERROR should be called only for errors that are not already reported to -# the dashboard in some other way. For example, if calling ctest_submit fails, -# then that failure does NOT show up on the dashboard, so it is appropriate to -# call QUEUE_ERROR for that case. For a build error or test failure, it is NOT -# appropriate to call QUEUE_ERROR because those already show up on the -# dashboard (assuming a good ctest_submit...) -# -# When adding more callers of QUEUE_ERROR, just make sure that it does not -# duplicate an existing/reported dashboard failure. -# - -MACRO(QUEUE_ERROR err_msg) - SET(TRIBITS_CTEST_DRIVER_ERROR_QUEUE - ${TRIBITS_CTEST_DRIVER_ERROR_QUEUE} "${err_msg}") -ENDMACRO() - - # # Call REPORT_QUEUED_ERRORS once at the bottom of TRIBITS_CTEST_DRIVER # From 8a926868fc45406c6b83c788cc43cdeabe46e678 Mon Sep 17 00:00:00 2001 From: "Jordan P. Lefebvre" Date: Tue, 5 Jan 2016 12:10:13 -0500 Subject: [PATCH 06/14] TriBITS #19: Updating TribitsCTestDriverCore to support mercurial root project. --- tribits/ctest_driver/TribitsCTestDriverCore.cmake | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tribits/ctest_driver/TribitsCTestDriverCore.cmake b/tribits/ctest_driver/TribitsCTestDriverCore.cmake index 8eb0ce1d8..0428cf8db 100644 --- a/tribits/ctest_driver/TribitsCTestDriverCore.cmake +++ b/tribits/ctest_driver/TribitsCTestDriverCore.cmake @@ -202,6 +202,7 @@ FIND_PROGRAM(HG_EXE NAMES hg) MESSAGE("HG_EXE=${HG_EXE}") SET(CTEST_HG_COMMAND "${HG_EXE}") + # Get the host name SITE_NAME(CTEST_SITE_DEFAULT) @@ -1257,20 +1258,23 @@ FUNCTION(TRIBITS_CTEST_DRIVER) IF (CTEST_DO_UPDATES) - IF(EXISTS "${CTEST_SOURCE_DIRECTORY}/.git") + IF(EXISTS "${TRIBITS_PROJECT_ROOT}/.git") SET(UPDATE_TYPE "git") SET(CTEST_UPDATE_COMMAND "${GIT_EXE}") - ELSEIF(EXISTS "${CTEST_SOURCE_DIRECTORY}/.hg") + ELSEIF(EXISTS "${TRIBITS_PROJECT_ROOT}/.hg") SET(UPDATE_TYPE "hg") SET(CTEST_UPDATE_COMMAND "${HG_EXE}") + ELSEIF(EXISTS "${TRIBITS_PROJECT_ROOT}/.svn") + SET(UPDATE_TYPE "svn") + SET(CTEST_UPDATE_COMMAND "${SVN_EXE}") ENDIF() MESSAGE("UPDATE_TYPE = '${UPDATE_TYPE}'") MESSAGE("CTEST_UPDATE_COMMAND='${CTEST_UPDATE_COMMAND}'") IF(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}") - MESSAGE("${CTEST_SOURCE_DIRECTORY} does not exist so setting up for an initial checkout") + MESSAGE("${CTEST_SOURCE_DIRECTORY} does not exist so setting up for an initial checkout from ${${PROJECT_NAME}_REPOSITORY_LOCATION}") SET( CTEST_CHECKOUT_COMMAND - "\"${CTEST_UPDATE_COMMAND}\" clone ${CTEST_UPDATE_ARGS} ${${PROJECT_NAME}_REPOSITORY_LOCATION}" ) + "\"${CTEST_UPDATE_COMMAND}\" clone ${CTEST_UPDATE_ARGS} ${${PROJECT_NAME}_REPOSITORY_LOCATION} \"${CTEST_SOURCE_DIRECTORY}\"" ) MESSAGE("CTEST_CHECKOUT_COMMAND='${CTEST_CHECKOUT_COMMAND}'") ELSE() MESSAGE("${CTEST_SOURCE_DIRECTORY} exists so skipping the initial checkout.") From acd84d9e64e9f8a267c5ece23e04787681f7c2fc Mon Sep 17 00:00:00 2001 From: "Jordan P. Lefebvre" Date: Tue, 5 Jan 2016 13:58:43 -0500 Subject: [PATCH 07/14] TriBITS #77 Fixing issue where CMake doesn't find git on windows. --- tribits/ctest_driver/TribitsCTestDriverCore.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tribits/ctest_driver/TribitsCTestDriverCore.cmake b/tribits/ctest_driver/TribitsCTestDriverCore.cmake index 0428cf8db..7d2adc39d 100644 --- a/tribits/ctest_driver/TribitsCTestDriverCore.cmake +++ b/tribits/ctest_driver/TribitsCTestDriverCore.cmake @@ -181,7 +181,7 @@ ENDMACRO() # Find git -FIND_PROGRAM(GIT_EXE NAMES ${GIT_NAME}) +FIND_PROGRAM(GIT_EXE NAMES ${GIT_NAME} git.cmd git.exe) MESSAGE("GIT_EXE=${GIT_EXE}") IF(NOT GIT_EXE) From ab8a4492abc292085f49f91949dc9beff758fca7 Mon Sep 17 00:00:00 2001 From: "Jordan P. Lefebvre" Date: Wed, 9 Nov 2016 08:10:57 -0500 Subject: [PATCH 08/14] Replacing symlink Version.cmake with copy of tribits/Version.cmake. This should resolve the Windows configuration error introduced by this symlink. --- Version.cmake | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Version.cmake b/Version.cmake index 9d915d58e..8e9d96324 120000 --- a/Version.cmake +++ b/Version.cmake @@ -1 +1,9 @@ -tribits/Version.cmake \ No newline at end of file +IF ("${REPOSITORY_NAME}" STREQUAL "") + SET(REPOSITORY_NAME TriBITS) +ENDIF() + +SET(${REPOSITORY_NAME}_VERSION 0.9) +SET(${REPOSITORY_NAME}_MAJOR_VERSION 00) +SET(${REPOSITORY_NAME}_MAJOR_MINOR_VERSION 000900) +SET(${REPOSITORY_NAME}_VERSION_STRING "0.9 (Dev)") +SET(${REPOSITORY_NAME}_ENABLE_DEVELOPMENT_MODE_DEFAULT ON) # Change to 'OFF' for a release From 6437dd189c7675cdc3dd6cab851f55f190bc68a3 Mon Sep 17 00:00:00 2001 From: "Jordan P. Lefebvre" Date: Wed, 20 Sep 2017 09:55:23 -0400 Subject: [PATCH 09/14] Adding native cmake add_executable arguments (WIN32,MACOSX_BUNDLE) to TribitsAddExecutable. --- .../package_arch/TribitsAddExecutable.cmake | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/tribits/core/package_arch/TribitsAddExecutable.cmake b/tribits/core/package_arch/TribitsAddExecutable.cmake index ee09715e2..5aac9dbfc 100644 --- a/tribits/core/package_arch/TribitsAddExecutable.cmake +++ b/tribits/core/package_arch/TribitsAddExecutable.cmake @@ -77,6 +77,8 @@ INCLUDE(CMakeParseArguments) # [LINKER_LANGUAGE (C|CXX|Fortran)] # [TARGET_DEFINES -D -D ...] # [INSTALLABLE] +# [WIN32] +# [MACOSX_BUNDLE] # [ADDED_EXE_TARGET_NAME_OUT ] # ) # @@ -247,6 +249,16 @@ INCLUDE(CMakeParseArguments) # executable into the ``${CMAKE_INSTALL_PREFIX}/bin/`` directory (see # `Install Target (TRIBITS_ADD_EXECUTABLE())`_). # +# ``WIN32`` +# +# If passed in, then the property WIN32_EXECUTABLE will be set on the target +# created. This makes it a GUI executable instead of a console application. +# +# ``MACOSX_BUNDLE`` +# +# If passed in, the corresponding property will be set on the created target. +# This makes a GUI application that can be launched from the finder. +# # ``ADDED_EXE_TARGET_NAME_OUT `` # # If specified, then on output the variable ```` will be @@ -334,11 +346,11 @@ FUNCTION(TRIBITS_ADD_EXECUTABLE EXE_NAME) MESSAGE("") MESSAGE("TRIBITS_ADD_EXECUTABLE: ${EXE_NAME} ${ARGN}") ENDIF() - + # # Confirm that TRIBITS_PACKAGE() was called prior to adding executable # - + IF(NOT ${PACKAGE_NAME}_TRIBITS_PACKAGE_CALLED) MESSAGE(FATAL_ERROR "Must call TRIBITS_PACKAGE() before TRIBITS_ADD_EXECUTABLE() in ${TRIBITS_PACKAGE_CMAKELIST_FILE}") ENDIF() @@ -355,7 +367,7 @@ FUNCTION(TRIBITS_ADD_EXECUTABLE EXE_NAME) #prefix PARSE #options - "NOEXEPREFIX;NOEXESUFFIX;ADD_DIR_TO_NAME;INSTALLABLE" + "NOEXEPREFIX;NOEXESUFFIX;ADD_DIR_TO_NAME;INSTALLABLE;WIN32;MACOSX_BUNDLE" #one_value_keywords "" #multi_value_keywords @@ -532,6 +544,14 @@ FUNCTION(TRIBITS_ADD_EXECUTABLE EXE_NAME) ADD_EXECUTABLE(${EXE_BINARY_NAME} ${EXE_SOURCES}) APPEND_GLOBAL_SET(${PARENT_PACKAGE_NAME}_ALL_TARGETS ${EXE_BINARY_NAME}) + IF(PARSE_WIN32) + SET_TARGET_PROPERTIES(${EXE_BINARY_NAME} PROPERTIES WIN32_EXECUTABLE) + ENDIF() + + IF(PARSE_MACOSX_BUNDLE) + SET_TARGET_PROPERTIES(${EXE_BINARY_NAME} PROPERTIES MACOSX_BUNDLE) + ENDIF() + IF(PARSE_ADDED_EXE_TARGET_NAME_OUT) SET(${PARSE_ADDED_EXE_TARGET_NAME_OUT} ${EXE_BINARY_NAME} PARENT_SCOPE) ENDIF() From 7a3e199180e18f9686b91c6f3aa1eb297c048803 Mon Sep 17 00:00:00 2001 From: "Jordan P. Lefebvre" Date: Wed, 20 Sep 2017 10:00:44 -0400 Subject: [PATCH 10/14] Correcting set_target_properties syntax. --- tribits/core/package_arch/TribitsAddExecutable.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tribits/core/package_arch/TribitsAddExecutable.cmake b/tribits/core/package_arch/TribitsAddExecutable.cmake index 5aac9dbfc..8753e59b0 100644 --- a/tribits/core/package_arch/TribitsAddExecutable.cmake +++ b/tribits/core/package_arch/TribitsAddExecutable.cmake @@ -545,11 +545,11 @@ FUNCTION(TRIBITS_ADD_EXECUTABLE EXE_NAME) APPEND_GLOBAL_SET(${PARENT_PACKAGE_NAME}_ALL_TARGETS ${EXE_BINARY_NAME}) IF(PARSE_WIN32) - SET_TARGET_PROPERTIES(${EXE_BINARY_NAME} PROPERTIES WIN32_EXECUTABLE) + SET_TARGET_PROPERTIES(${EXE_BINARY_NAME} PROPERTIES WIN32_EXECUTABLE TRUE) ENDIF() IF(PARSE_MACOSX_BUNDLE) - SET_TARGET_PROPERTIES(${EXE_BINARY_NAME} PROPERTIES MACOSX_BUNDLE) + SET_TARGET_PROPERTIES(${EXE_BINARY_NAME} PROPERTIES MACOSX_BUNDLE TRUE) ENDIF() IF(PARSE_ADDED_EXE_TARGET_NAME_OUT) From d558c13d55f27e3629161677f667e52b20db964c Mon Sep 17 00:00:00 2001 From: "Jordan P. Lefebvre" Date: Mon, 6 Nov 2017 15:44:38 -0500 Subject: [PATCH 11/14] Updating TRIBITS to support Windows BUILD_SHARED_LIBS=ON --- tribits/core/package_arch/TribitsAddTestHelpers.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tribits/core/package_arch/TribitsAddTestHelpers.cmake b/tribits/core/package_arch/TribitsAddTestHelpers.cmake index 8b90f4f20..cc05a35b7 100644 --- a/tribits/core/package_arch/TribitsAddTestHelpers.cmake +++ b/tribits/core/package_arch/TribitsAddTestHelpers.cmake @@ -411,6 +411,10 @@ FUNCTION(TRIBITS_ADD_TEST_ADJUST_DIRECTORY EXE_BINARY_NAME DIRECTORY ENDIF() ENDIF() + IF(CMAKE_RUNTIME_OUTPUT_DIRECTORY) + MESSAGE(STATUS "Overriding ${EXE_BINARY_NAME} path with CMAKE_RUNTIME_OUTPUT_DIRECTORY(${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/${EXE_BINARY_NAME})") + SET(EXECUTABLE_PATH "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/${EXE_BINARY_NAME}") + ENDIF() SET(${EXECUTABLE_PATH_OUT} ${EXECUTABLE_PATH} PARENT_SCOPE) From 45a6ab1e69c1e65a8e1d61e4de7db5e53340245d Mon Sep 17 00:00:00 2001 From: "Jordan P. Lefebvre" Date: Tue, 7 Nov 2017 13:44:03 -0500 Subject: [PATCH 12/14] Updating EXECUTABLE_PATH logic with CMAKE_RUNTIME_OUTPUT_DIRECTORY when generator applies CMAKE_BUILD_TYPE. --- tribits/core/package_arch/TribitsAddTestHelpers.cmake | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tribits/core/package_arch/TribitsAddTestHelpers.cmake b/tribits/core/package_arch/TribitsAddTestHelpers.cmake index 7ba51c209..3ba757bbe 100644 --- a/tribits/core/package_arch/TribitsAddTestHelpers.cmake +++ b/tribits/core/package_arch/TribitsAddTestHelpers.cmake @@ -437,8 +437,12 @@ FUNCTION(TRIBITS_ADD_TEST_ADJUST_DIRECTORY EXE_BINARY_NAME DIRECTORY ENDIF() IF(CMAKE_RUNTIME_OUTPUT_DIRECTORY) - MESSAGE(STATUS "Overriding ${EXE_BINARY_NAME} path with CMAKE_RUNTIME_OUTPUT_DIRECTORY(${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/${EXE_BINARY_NAME})") - SET(EXECUTABLE_PATH "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/${EXE_BINARY_NAME}") + SET(ADJUSTED_PATH "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${EXE_BINARY_NAME}") + IF(CMAKE_GENERATOR MATCHES "Visual" OR CMAKE_GENERATOR MATCHES "XCode") + SET(ADJUSTED_PATH "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/${EXE_BINARY_NAME}") + ENDIF() + MESSAGE(STATUS "Overriding ${EXE_BINARY_NAME} path with CMAKE_RUNTIME_OUTPUT_DIRECTORY(${ADJUSTED_PATH})") + SET(EXECUTABLE_PATH "${ADJUSTED_PATH}") ENDIF() SET(${EXECUTABLE_PATH_OUT} ${EXECUTABLE_PATH} PARENT_SCOPE) From f67e40a8460b23750f4468cdf448f58970f637dd Mon Sep 17 00:00:00 2001 From: Patrick Shriwise Date: Thu, 30 Sep 2021 13:17:16 -0500 Subject: [PATCH 13/14] Updating print statement for Python3 compatibility. --- tribits/ci_support/clone_extra_repos.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tribits/ci_support/clone_extra_repos.py b/tribits/ci_support/clone_extra_repos.py index 3c1ab421b..79c53d0c2 100755 --- a/tribits/ci_support/clone_extra_repos.py +++ b/tribits/ci_support/clone_extra_repos.py @@ -436,7 +436,7 @@ def cloneExtraRepo(inOptions, extraRepoDict): "' already exists. Skipping clone!") return if not repoVcType in commandMap: - print "\n ==> ERROR: Repo type '"+repoVcType+"' not supported!" + print("\n ==> ERROR: Repo type '"+repoVcType+"' not supported!") sys.exit(1) cmnd = commandMap[repoVcType]+" "+repoUrl+" "+repoDir if inOptions.doOp: From 4a9c5d4b538c7610447ff6fb93a7bbc6f1f5624e Mon Sep 17 00:00:00 2001 From: Robert A Lefebvre Date: Wed, 25 Oct 2023 12:41:16 +0000 Subject: [PATCH 14/14] Remove exraneous compiled libraries Addressed a complaint issued by users of WASP in MOOSE --- .../ProcessEnabledTpls/tpls/HeadersAndLibsTpl/lib/libhaltpl1.a | 0 .../ProcessEnabledTpls/tpls/HeadersAndLibsTpl/lib/libhaltpl1.so | 0 .../ProcessEnabledTpls/tpls/HeadersAndLibsTpl/lib/libhaltpl2.a | 0 .../ProcessEnabledTpls/tpls/HeadersAndLibsTpl/lib/libhaltpl2.so | 0 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 test/core/ProcessEnabledTpls/tpls/HeadersAndLibsTpl/lib/libhaltpl1.a delete mode 100644 test/core/ProcessEnabledTpls/tpls/HeadersAndLibsTpl/lib/libhaltpl1.so delete mode 100644 test/core/ProcessEnabledTpls/tpls/HeadersAndLibsTpl/lib/libhaltpl2.a delete mode 100644 test/core/ProcessEnabledTpls/tpls/HeadersAndLibsTpl/lib/libhaltpl2.so diff --git a/test/core/ProcessEnabledTpls/tpls/HeadersAndLibsTpl/lib/libhaltpl1.a b/test/core/ProcessEnabledTpls/tpls/HeadersAndLibsTpl/lib/libhaltpl1.a deleted file mode 100644 index e69de29bb..000000000 diff --git a/test/core/ProcessEnabledTpls/tpls/HeadersAndLibsTpl/lib/libhaltpl1.so b/test/core/ProcessEnabledTpls/tpls/HeadersAndLibsTpl/lib/libhaltpl1.so deleted file mode 100644 index e69de29bb..000000000 diff --git a/test/core/ProcessEnabledTpls/tpls/HeadersAndLibsTpl/lib/libhaltpl2.a b/test/core/ProcessEnabledTpls/tpls/HeadersAndLibsTpl/lib/libhaltpl2.a deleted file mode 100644 index e69de29bb..000000000 diff --git a/test/core/ProcessEnabledTpls/tpls/HeadersAndLibsTpl/lib/libhaltpl2.so b/test/core/ProcessEnabledTpls/tpls/HeadersAndLibsTpl/lib/libhaltpl2.so deleted file mode 100644 index e69de29bb..000000000