Commit graph

149 commits

Author SHA1 Message Date
Jeff Epler
0fbc3c0c84 Fix build error with g++ 6.3 (Debian Stretch)
On this platform, TEST_NULLPTR fails, even though nullptr and
nullptr_t are supported:

/home/jepler/src/stepcode/build/CMakeFiles/CMakeTmp/src.cxx:4:23:
    error: converting to 'bool' from 'std::nullptr_t'
    requires direct-initialization [-fpermissive]
 int main() {return !!f();}
                      ~^~

Subsequent to this failure, the workaround definitions in sc_nullptr.h
prevent standard C++ headers (which must refer to real nullptr) to fail.

The failure occurs because the C++ standard apparently does not state
that operator! may be used on nullptr.  Despite this, some compilers
have historically allowed it.  g++ 6.3's behavior appears to be aligned
with the standard.

As requested by @brlcad, ensure that the function 'f' is used from main,
to avoid a clever (but not nullptr-supporting) compiler from somehow
skipping 'f' altogether, creating a false positive for nullptr support.
2017-08-15 06:50:56 -05:00
Cliff Yapp
8627627c5e Add an option to completely bypass the git management of the version header. 2016-08-06 13:53:12 -04:00
Cliff Yapp
9b091756b1 Allow the user to control whether C++11 is used (matters for subbuilds) 2016-08-06 13:02:35 -04:00
Cliff Yapp
5c7e63c75b Fix macro comments. This approach to managing the targets varies from the old EXCLUDE_OR_INSTALL setup in that by default the testable targets are not added to the 'all' build - in other works, 'make' will make just the main stepcode targets. The testable targets are available individually, and if SC_ENABLE_TESTING is enabled they *will* be added to the 'all' target, but by default they are not compiled in the basic build. 2016-08-06 12:32:12 -04:00
Cliff Yapp
a243b4d8c8 Separate shared and static generated files for better parallel building safety. 2016-08-06 11:55:38 -04:00
Cliff Yapp
daec3e2640 Add option handling to the SC target macros, replacing the EXCLUDE_FROM_INSTALL macro. 2016-08-06 11:43:59 -04:00
Cliff Yapp
06b13bb9af Make a stab at adapting the new, simplier verification to vanilla stepcode 2016-08-06 11:23:34 -04:00
Cliff Yapp
e38519a7f1 Update Find cmake scripts 2016-08-06 10:53:19 -04:00
Cliff Yapp
12def15dd2 Start working on merging BRL-CAD changes back into upstream. 2016-08-06 10:46:23 -04:00
Mark Pictor
bc5533bda8 test for, and use, nullptr if we have it 2015-08-03 21:37:28 -04:00
Mark Pictor
458b775f41 simplify cmake logic - use set_property(...APPEND...) rather than get/list append/set 2015-08-02 14:30:01 -04:00
Mark Pictor
17b41da525 add std::chrono test, if available use in thread test 2015-07-26 22:22:44 -04:00
Mark Pictor
135adc76c8 fix warning, improve cmake messages 2015-07-26 20:49:04 -04:00
Mark Pictor
017faa942f make schema-specific tests work on cmake 3.x 2015-07-26 20:49:04 -04:00
Mark Pictor
1aa78e7e48 make appveyor happier 2015-06-08 22:40:38 -04:00
Mark Pictor
6ec39b58aa rework version_string logic - only write the file if the git commit (not timestamp) changes 2015-01-26 21:24:14 -05:00
Mark Pictor
409315841b fix test dependency so 'make test ARGS=-jN' works 2014-12-26 13:29:07 -05:00
Cliff Yapp
f72e01e610 Apply BRL-CAD change r61607 - Harden verify_generated.cmake.in to odd pathnames 2014-08-17 23:25:03 -04:00
Cliff Yapp
63298df542 Until we reach a final decision on what to do about the schema_scanner, handle the .exe case 2014-08-01 21:04:23 -04:00
Cliff Yapp
e649757417 Install schema headers in locations that match the build tree hierarchy, so include directives will work both with in-build-tree and installed stepcode layouts. 2014-07-31 21:26:57 -04:00
Jason W. DeGraw
9aa3b4201f Add CMAKE_GENERATOR to schema scanner build
Command line configuration with MinGW on Windows was failing
in schemaScanner.cmake because the generator wasn't getting
passed through to the build of the scanner. This commit adds
the generator to the scanner build command and fixes #295.
2014-04-19 14:38:12 -04:00
Cliff Yapp
6d57acff5b Apparently get_filename_component needs some help when it comes to windows drive names. 2014-04-08 21:22:55 -04:00
Cliff Yapp
5abaebb04b Try to make the RELATIVE_PATH_TO_TOPLEVEL macro robust for out-of-src-dir situations. 2014-03-29 12:24:44 -04:00
Mark
2338dd11e1 increase schema scanner config/build timeouts
config is slow on windows and the 10s limit caused intermittent failures
2014-03-02 15:44:33 -05:00
Mark Pictor
cd0d8b496b cannot treat the schema scanner source as a config file, so add /*WARNING*/ 2014-03-01 11:53:31 -05:00
Mark Pictor
4d945de475 perplex/lemon/re2c not found messages can confuse users
make find_package quiet for all 3, then if all were found, print a message
to that effect.
2014-03-01 11:53:30 -05:00
Mark Pictor
bbe607be60 fix copy/paste error in cmake message 2014-03-01 11:53:30 -05:00
Mark Pictor
38467bdca3 add build logic for unity builds (mostly in generated CMLists) 2014-03-01 11:53:30 -05:00
Mark Pictor
78d99f2f4e change generated CMLists ws to better match starseeker's ws 2014-03-01 11:53:30 -05:00
Mark Pictor
5c021b2b7f tests were broken because macro name changed
make two variables CACHE INTERNAL so that their values are available in other scopes (i.e. in test dirs)
2014-03-01 11:53:30 -05:00
Cliff Yapp
f4ac673b71 whitespace and case changes on .cmake files 2014-03-01 11:53:30 -05:00
Cliff Yapp
44e02c957a whitespace changes 2014-03-01 11:53:30 -05:00
Cliff Yapp
c0e74a9eef Add CMake footer comment to CMake files 2014-02-28 22:06:09 -05:00
Mark Pictor
a7579f0bc9 remove helper function header - code moved to headers for individual types/entities 2014-02-28 22:02:07 -05:00
davyw
492f455598 allow schema scanner to build on windows 2014-02-28 22:02:07 -05:00
Mark Pictor
2ccc5ce360 add underscore to schema shortname for readability - Sdai -> Sdai_ 2014-02-28 22:02:07 -05:00
Mark Pictor
05a74dedd8 change code generation message a bit 2014-02-28 22:02:07 -05:00
Mark Pictor
5043c035a3 renamed enums, selects don't get their own files 2014-02-28 22:02:07 -05:00
Mark Pictor
426e2b4ab3 add two cmake messages 2014-02-28 22:02:07 -05:00
Mark Pictor
2d651bfad4 unnecessary variable in a macro 2014-02-28 22:02:07 -05:00
starseeker
c6f0c44a02 print file count, not list of all files, when generating. 2014-02-28 22:02:07 -05:00
starseeker
6533032fd9 workaround makefile corruption by changing how file lists are handled 2014-02-28 22:02:07 -05:00
Mark Pictor
26822ef959 exp2cxx wasn't running because script args were handled incorrectly 2014-02-28 22:02:07 -05:00
Mark Pictor
86f884b399 TODO 2014-02-28 22:02:06 -05:00
Mark Pictor
4fd5dd9f74 improve cmake comments, user messages 2014-02-28 22:02:06 -05:00
Mark Pictor
b320bfe3f7 generate a short schema name in the schema scanner
this name is one of:
* the schema file name without extension,
* the schema dir name if in sc/data/ and 3+ chars
* or the official schema name on the SCHEMA line.
2014-02-28 22:02:06 -05:00
Mark Pictor
34d917fb19 update scanner to match renamed schema macros file 2014-02-28 22:02:06 -05:00
Mark Pictor
86bae779b0 inching forward on schema scanner 2014-02-28 22:02:06 -05:00
Mark Pictor
b15ba38edf try again to make msvc use same dir as other compilers 2014-02-28 22:02:06 -05:00
Mark Pictor
96bd4520b5 move more schema logic into new file, rename file 2014-02-28 22:02:06 -05:00