summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Disallow LLVM/Clang build tree explicitly; require install treeBrad King2015-05-141-0/+10
| | | | | | | | CastXML builds and works correctly only against a LLVM/Clang install tree. This is specified in the README.rst, but we can also catch and fail early on attempts to use a build tree. GitHub-Issue: 12
* Require CLANG_RESOURCE_DIR to be found to build CastXMLBrad King2015-05-131-5/+16
| | | | | | | CastXML cannot function correctly without Clang resources, so fail with an error from CMake if they cannot be found. GitHub-Issue: 12
* Avoid if() auto-dereference of quoted argumentBrad King2014-12-081-1/+1
| | | | | | | When testing CMAKE_CXX_COMPILER_ID, do not explicitly dereference the variable. Instead let if() do it in an unquoted argument. This avoids CMP0054 warnings on MSVC.
* Port to LLVM/Clang SVN r205446Brad King2014-04-081-2/+5
| | | | | | | Build with compiler flag '-std=c++11' since the Clang API now uses C++11. Update our implementation to account for Clang API changes. Update our search for the Clang resource directory to include the LLVM/Clang version patch level.
* doc: Add documentation infrastructure based on SphinxBrad King2014-04-011-0/+5
| | | | | | Create a 'doc' directory and placeholder 'doc/manual/castxml.1.rst' manual. Search for sphinx-build and use it to generate html and man pages. Install them based on CastXML_INSTALL_(DOC|MAN)_DIR variables.
* Introduce CastXML version numberBrad King2014-03-241-0/+2
| | | | Start with "0.1". Compute the version number from Git if possible.
* castxml: Use LLVM API to load command-line argumentsBrad King2014-03-241-1/+0
| | | | | | Use llvm::sys::Process::GetArgumentVector instead of KWSys Encoding to load process command-line arguments. This reduces dependency on KWSys and stores the arguments in LLVM-provided data structures.
* Add test infrastructure to run castxml and validate resultsBrad King2014-02-261-0/+6
| | | | | | | | Create a test/run.cmake test driver script that uses execute_process to run a castxml test command line and then compares the results to those we expect. Validate the process result (return code) and the content of stdout and stderr. In test/CMakeLists.txt create a castxml_test_cmd macro to add tests that use "run.cmake".
* Install LICENSE and NOTICE filesBrad King2014-02-261-0/+9
| | | | Place these notices in '<prefix>/doc/castxml' by default.
* Make Clang resources available to our driverBrad King2014-02-261-0/+17
| | | | | | Make the Clang resources available to CastXML. From the build tree simply find and reference the resources installed with Clang. Install the resources in our own resource directory for re-distribution.
* Detect settings from GNU-like compilersBrad King2014-02-141-0/+2
| | | | | | | | | | | | Implement '--castxml-cc-gnu' option to detect preprocessor settings and the target triplet from GNU-like compilers. Run the compiler command with "-E -dM -v empty.cpp" and capture stdout and stderr. Treat the stdout as the preprocessor predefines block and parse it to extract the target architecture. Parse the stderr to extract the header file search path. Install the now-populated share/castxml resource directory to the CastXML_INSTALL_DATA_DIR.
* Create runCommand utility functionBrad King2014-02-141-0/+1
| | | | | | Create a function to run a child process and capture the output. Also create a function to suppress popup error dialogs from our process and from child processes and call it at startup.
* Compute resource directory on startupBrad King2014-02-141-0/+2
| | | | | | Add a findResourceDir function to locate resources relative to the executable location at the start of main and a getResourceDir function to lookup the result later.
* Configure binary output and install directoriesBrad King2014-02-141-0/+13
| | | | | | Store runtime binaries in 'bin' and libraries in 'lib'. Install runtime binaries to '<prefix>/bin' by default and data files to '<prefix>/share/castxml' by default.
* Link castxml to LLVM librariesBrad King2014-02-141-0/+9
| | | | | | Build with -fno-rtti on GNU and Clang compilers to match LLVM. Find the LLVM package and link to the native, option, and bitreader components.
* Add castxml executableBrad King2014-02-141-0/+2
| | | | | Load command line arguments through KWSys Encoding. Install the executable to 'bin/castxml'.
* Build KWSys as cxsysBrad King2014-02-141-0/+6
| | | | Enable the KWSys Encoding API.
* Add CMakeLists.txt to start CastXML buildBrad King2014-02-141-0/+17