|
2 | 2 | # Quickstart compile tests don't require any flags |
3 | 3 | # |
4 | 4 |
|
5 | | -# TODO run amalgamate first! |
6 | | - |
7 | | -function(add_quickstart_test TEST_NAME SOURCE_FILE) |
8 | | - # Second argument is C++ standard name |
9 | | - if (${ARGV2}) |
| 5 | +# TODO haven't quite decided the right way to run quickstart on Windows. Needs README update. |
| 6 | +if (NOT MSVC) |
| 7 | + # TODO run amalgamate first! |
| 8 | + function(add_quickstart_test TEST_NAME SOURCE_FILE) |
| 9 | + # Second argument is C++ standard name |
10 | 10 | if (MSVC) |
11 | | - set(QUICKSTART_FLAGS /std:${ARGV2}) |
12 | | - else() |
13 | | - set(QUICKSTART_FLAGS -Werror -std=${ARGV2}) |
14 | | - endif() |
15 | | - else() |
16 | | - if(MSVC) |
17 | | - set(QUICKSTART_FLAGS "") |
| 11 | + if (${ARGV2}) |
| 12 | + set(QUICKSTART_FLAGS /std:${ARGV2}) |
| 13 | + else() |
| 14 | + set(QUICKSTART_FLAGS /WX) |
| 15 | + endif() |
| 16 | + set(QUICKSTART_INCLUDE /I${PROJECT_SOURCE_DIR}/include /I${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/src/simdjson.cpp) |
18 | 17 | else() |
19 | | - set(QUICKSTART_FLAGS -Werror) |
| 18 | + if (${ARGV2}) |
| 19 | + set(QUICKSTART_FLAGS -Werror -std=${ARGV2}) |
| 20 | + else() |
| 21 | + set(QUICKSTART_FLAGS -Werror) |
| 22 | + endif() |
| 23 | + set(QUICKSTART_INCLUDE -I${PROJECT_SOURCE_DIR}/include -I${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/src/simdjson.cpp) |
20 | 24 | endif() |
21 | | - endif() |
22 | 25 |
|
23 | | - # Third argument tells whether to compile with -fno-exceptions |
24 | | - if (${ARGV3}) |
25 | | - if (NOT MSVC) |
26 | | - set(QUICKSTART_FLAGS "${QUICKSTART_FLAGS} -fno-exceptions") |
| 26 | + # Third argument tells whether to compile with -fno-exceptions |
| 27 | + if (${ARGV3}) |
| 28 | + if (NOT MSVC) |
| 29 | + set(QUICKSTART_FLAGS ${QUICKSTART_FLAGS} -fno-exceptions) |
| 30 | + endif() |
27 | 31 | endif() |
28 | | - endif() |
29 | 32 |
|
30 | | - add_test( |
31 | | - NAME ${TEST_NAME} |
32 | | - COMMAND ${CMAKE_CXX_COMPILER} ${QUICKSTART_FLAGS} -I${PROJECT_SOURCE_DIR}/include -I${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/src/simdjson.cpp ${SOURCE_FILE} |
33 | | - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/examples/quickstart |
34 | | - ) |
35 | | - set_property( |
36 | | - TEST ${TEST_NAME} |
37 | | - APPEND PROPERTY DEPENDS simdjson-source ${PROJECT_SOURCE_DIR}/examples/quickstart/quickstart.cpp |
38 | | - ) |
39 | | -endfunction(add_quickstart_test) |
| 33 | + message(STATUS ${TEST_NAME}) |
| 34 | + add_test( |
| 35 | + NAME ${TEST_NAME} |
| 36 | + COMMAND ${CMAKE_CXX_COMPILER} ${QUICKSTART_FLAGS} -I${PROJECT_SOURCE_DIR}/include -I${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/src/simdjson.cpp ${SOURCE_FILE} |
| 37 | + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/examples/quickstart |
| 38 | + ) |
| 39 | + set_property( |
| 40 | + TEST ${TEST_NAME} |
| 41 | + APPEND PROPERTY DEPENDS simdjson-source ${PROJECT_SOURCE_DIR}/examples/quickstart/${SOURCE_FILE} |
| 42 | + ) |
| 43 | + endfunction(add_quickstart_test) |
40 | 44 |
|
41 | | -if (SIMDJSON_EXCEPTIONS) |
42 | | - add_quickstart_test(quickstart quickstart.cpp) |
43 | | - add_quickstart_test(quickstart11 quickstart.cpp c++11) |
44 | | - add_quickstart_test(quickstart14 quickstart.cpp c++14) |
45 | | - set_property( TEST quickstart quickstart11 APPEND PROPERTY LABELS quicktests ) |
46 | | - set_property( TEST quickstart14 APPEND PROPERTY LABELS slowtests ) |
47 | | -endif() |
| 45 | + if (SIMDJSON_EXCEPTIONS) |
| 46 | + add_quickstart_test(quickstart quickstart.cpp) |
| 47 | + add_quickstart_test(quickstart11 quickstart.cpp c++11) |
| 48 | + add_quickstart_test(quickstart14 quickstart.cpp c++14) |
| 49 | + set_property( TEST quickstart quickstart11 APPEND PROPERTY LABELS quicktests ) |
| 50 | + set_property( TEST quickstart14 APPEND PROPERTY LABELS slowtests ) |
| 51 | + endif() |
48 | 52 |
|
49 | | -add_quickstart_test(quickstart_noexceptions quickstart_noexceptions.cpp "" true) |
50 | | -add_quickstart_test(quickstart_noexceptions11 quickstart_noexceptions.cpp c++11 true) |
51 | | -set_property( TEST quickstart_noxceptions APPEND PROPERTY LABELS quicktests ) |
52 | | -set_property( TEST quickstart_noexceptions11 APPEND PROPERTY LABELS slowtests ) |
| 53 | + add_quickstart_test(quickstart_noexceptions quickstart_noexceptions.cpp "" true) |
| 54 | + add_quickstart_test(quickstart_noexceptions11 quickstart_noexceptions.cpp c++11 true) |
| 55 | + set_property( TEST quickstart_noexceptions APPEND PROPERTY LABELS quicktests ) |
| 56 | + set_property( TEST quickstart_noexceptions11 APPEND PROPERTY LABELS slowtests ) |
| 57 | +endif() |
0 commit comments