[CMake] Help with non-standard use of CMake

Donald MacQueen [|] dmacq at instantiations.com
Mon Dec 31 21:47:22 EST 2018


On 12/31/2018 4:38 PM, Kyle Edwards wrote:
> On Mon, 2018-12-31 at 16:16 -0500, Donald MacQueen [|] via CMake wrote:
>> First, CMake is quite impressive. Nice job.
>>
>> I am using it in a non-standard way where I set a bunch of variables
>> and
>> then go straight to CTest thatI installs our software and then runs
>> several hundred tests on it. The batch file looks like this:
>>
>> rmdir /s/q build
>> mkdir build
>> cd build
>> cmake -Dx64=%x64% -Doption:STRING="%opt%" ..
>> ctest -D Experimental -S
>>
>> I do not make or build or compile.
>>
>> I recently hooked this up to a CDash server which is very handy. I
>> want
>> to get the results that are sent to CDash, currently from Windows
>> only,
>> to be all green.
>>
>> However, I am a little curious about what you're doing in your use
>> case. You say you're not building anything. Does your sofware exist in
>> the form of scripts (Python, Perl, etc.), or are you downloading pre-
>> built binaries from somewhere?

The purpose here is to 1) test that the installation of our product is 
successful (all the files are there with the correct permissions, etc.) 
and 2) that the 13k+ tests we have run correctly after installation.  
The installer is created using Install Shield.

My CMakelists.txt looks something like this:

++++++++++++++++++++++++++++++++++++++++++++++++++

cmake_minimum_required(VERSION 2.8.8)
if(CMAKE_VERSION VERSION_GREATER "3.1")
   cmake_policy(SET CMP0054 NEW)
endif()


if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "64")
     set (vasttst_isX86_OS FALSE)
     set (vasttst_OsBitness 64)
endif()
     set (vasttst_isX86_OS TRUE)
     set (vasttst_OsBitness 86)
endif ()

200 more lines..

ENABLE_TESTING()

include(CTest)

add_subdirectory(test)

++++++++++++++++++++++++++++++++++++++++++++++++++

> Without knowing more details about what you're doing, it's possible
> that dashboard scripts might be more suited for your use case... though
> I see you have a -S argument at the end of your ctest invocation but no
> script after it... what's the purpose of this?

The -S is probably left over from when I was trying to set the build 
name from a script.  I did a lot of looking around and did not see a 
dashboard script that did CTest only.

If I understand what you are saying, I could put all the set variable 
stuff above in a file called cdash.txt and then simply run

rmdir /s/q build
mkdir build
cd build
ctest -D Experimental -S cdash.txt

That way I avoid make/build/compile and go straight to CTest.

Right?

-- 
Donald [|]
A bad day in [] is better than a good day in {}.


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus



More information about the CMake mailing list