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 diff --git a/tribits/ci_support/clone_extra_repos.py b/tribits/ci_support/clone_extra_repos.py index cbe8f2ce4..79c53d0c2 100755 --- a/tribits/ci_support/clone_extra_repos.py +++ b/tribits/ci_support/clone_extra_repos.py @@ -128,7 +128,7 @@ def injectCmndLineOptionsInParser(clp, gitoliteRootDefault=""): - + clp.add_option( "--extra-repos", dest="extraRepos", type="string", default="", help="List of names of extra repos to be cloned " \ @@ -137,12 +137,12 @@ def injectCmndLineOptionsInParser(clp, gitoliteRootDefault=""): " will be selected. But the repos listed in must always" \ " be a subset of the repos of type selected from" \ " . (Default '')" ) - + clp.add_option( "--not-extra-repos", dest="notExtraRepos", type="string", default="", help="List of names of extra repos *NOT* to clone (i.e. \"repo0,repo1,...\")." \ " (Default '')" ) - + clp.add_option( "--extra-repos-file", dest="extraReposFile", type="string", default=g_extraRerposFileDefault, @@ -157,7 +157,7 @@ def injectCmndLineOptionsInParser(clp, gitoliteRootDefault=""): ". When --extra-repos is set, then this argument" \ " is ignored.", clp ) - + clp.add_option( "--gitolite-root", dest="gitoliteRoot", type="string", default=gitoliteRootDefault, help="Gives the root for a gitolite repos (e.g. git@)." \ @@ -199,13 +199,13 @@ def injectCmndLineOptionsInParser(clp, gitoliteRootDefault=""): "--no-op", dest="doOp", action="store_false", help="Skip cloning the repos and just show the clone commands.", default=True ) - + clp.add_option( "--create-gitdist-file", dest="createGitdistFile", type="string", default="", help="If specified, the file will get generated with the list" \ " of git repos (the same list that is cloned with --do-clone)." \ " (Default = '')") - + clp.add_option( "--show-defaults", dest="showDefaults", action="store_true", help="Show the default option values and do nothing at all.", @@ -247,7 +247,7 @@ def fwdCmndLineOptions(inOptions, terminator=""): cmndLineOpts += " --no-op" + terminator cmndLineOpts += \ " --create-gitdist-file='"+inOptions.createGitdistFile+"'"+terminator - return cmndLineOpts + return cmndLineOpts def echoCmndLineOptions(inOptions): @@ -403,7 +403,7 @@ def getExtraReposTable(extraRepoDictList): { "label":"Category", "align":"L", "fields":repoCategoryList }, ] #print("extraReposTableDictList =", extraReposTableDictList) - + extraReposTable = gitdist.createAsciiTable(extraReposTableDictList) # Return the table @@ -424,6 +424,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 + " ...") @@ -432,10 +435,10 @@ def cloneExtraRepo(inOptions, extraRepoDict): 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: @@ -463,7 +466,7 @@ def cloneExtraRepos(inOptions): # # B) Get the list of gitolite repos # - + if inOptions.gitoliteRoot: if verbLevelIsMinimal: print("\n***") @@ -507,7 +510,7 @@ def cloneExtraRepos(inOptions): print("\n***") print("*** List of selected extra repos to clone:") print("***\n") - + extraReposTable = getExtraReposTable(extraRepoDictList) print(extraReposTable) diff --git a/tribits/core/package_arch/TribitsAddExecutable.cmake b/tribits/core/package_arch/TribitsAddExecutable.cmake index ee09715e2..8753e59b0 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 TRUE) + ENDIF() + + IF(PARSE_MACOSX_BUNDLE) + SET_TARGET_PROPERTIES(${EXE_BINARY_NAME} PROPERTIES MACOSX_BUNDLE TRUE) + ENDIF() + IF(PARSE_ADDED_EXE_TARGET_NAME_OUT) SET(${PARSE_ADDED_EXE_TARGET_NAME_OUT} ${EXE_BINARY_NAME} PARENT_SCOPE) ENDIF() diff --git a/tribits/core/package_arch/TribitsAddTestHelpers.cmake b/tribits/core/package_arch/TribitsAddTestHelpers.cmake index e6b030e84..3ba757bbe 100644 --- a/tribits/core/package_arch/TribitsAddTestHelpers.cmake +++ b/tribits/core/package_arch/TribitsAddTestHelpers.cmake @@ -436,6 +436,14 @@ FUNCTION(TRIBITS_ADD_TEST_ADJUST_DIRECTORY EXE_BINARY_NAME DIRECTORY ENDIF() ENDIF() + IF(CMAKE_RUNTIME_OUTPUT_DIRECTORY) + 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) diff --git a/tribits/core/package_arch/TribitsProcessExtraRepositoriesList.cmake b/tribits/core/package_arch/TribitsProcessExtraRepositoriesList.cmake index 10ff67808..dded334e2 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" )