Skip to content

xsdk-project/XSDKCMakeProj

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XSDKCMakeProj: Experiment with IDEAS XSDK settings

This is a simple CMake project for demonstrating and testing the implementation the xSDK specification for compatible CMake projects.

To configure and run the tests, just do:

$ mkdir BUILD
$ cd BUILD
$ cmake \
   -D C_COMPILER_1=<fullPathC1> \
   -D C_COMPILER_2=<fullPathC2> ..
   -D CXX_COMPILER_1=<fullPathCxx1> \
   -D CXX_COMPILER_2=<fullPathCxx2> ..
   -D Fortran_COMPILER_1=<fullPathFortran1> \
   -D Fortran_COMPILER_2=<fullPathFortran2> ..
$ ctest -j12

Here, a default C, C++, and Fortran compiler should also be found (by CMake searching ${PATH}) which should be different than these two compilers <fullPathCxx1> and <fullPathCxx2>. These all have defaults set up to look for standard GCC compilers installed in /usr/bin/. But the default compilers found by CMake should be in another directory. See the file CMakeLists.txt for details.

The XSDK defaults and behaviors are implemented in the reusable stand-alone CMake module xsdk/XSDKDefaults.cmake. This directory can be snapshotted into other projects that want to use this CMake module (see [snapshot-dir.py](https://tribits.org/doc/TribitsDevelopersGuide.html#snapshot-dir-py-help)).

This particular GitHub CMake project XSDKCmakeProj tests the behavior of the module XSDKDefaults.cmake by using a mock XSDK CMake project which is contained in the directory:

example_driver/

which contains a single CMakeLists.txt file. See that file for where to include the XSDKDefaults.cmake module.

For more details about XSDKDefaults.cmake, see the documentation at the top the file XSDKDefaults.cmake.

NOTE: The outer test CMake project snapshots TriBITS core in order to use the TRIBITS_ADD_ADVANCED_TEST() function in order to make it easier to write stronger tests for XSDKDefaults.cmake. But this is not a TriBITS project.

About

IDEAS xSDK settings module for CMake projects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages