aboutsummaryrefslogtreecommitdiff
path: root/src/test_lib_json/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/test_lib_json/CMakeLists.txt')
-rw-r--r--src/test_lib_json/CMakeLists.txt49
1 files changed, 33 insertions, 16 deletions
diff --git a/src/test_lib_json/CMakeLists.txt b/src/test_lib_json/CMakeLists.txt
index 420d659..1c3fce9 100644
--- a/src/test_lib_json/CMakeLists.txt
+++ b/src/test_lib_json/CMakeLists.txt
@@ -1,22 +1,39 @@
+# vim: et ts=4 sts=4 sw=4 tw=0
-IF(JSONCPP_LIB_BUILD_SHARED)
- ADD_DEFINITIONS( -DJSON_DLL )
-ENDIF(JSONCPP_LIB_BUILD_SHARED)
+add_executable(jsoncpp_test
+ jsontest.cpp
+ jsontest.h
+ fuzz.cpp
+ fuzz.h
+ main.cpp
+)
-ADD_EXECUTABLE( jsoncpp_test
- jsontest.cpp
- jsontest.h
- main.cpp
- )
-TARGET_LINK_LIBRARIES(jsoncpp_test jsoncpp_lib)
+if(BUILD_SHARED_LIBS)
+ if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.12.0)
+ add_compile_definitions( JSON_DLL )
+ else()
+ add_definitions( -DJSON_DLL )
+ endif()
+ target_link_libraries(jsoncpp_test jsoncpp_lib)
+else()
+ target_link_libraries(jsoncpp_test jsoncpp_static)
+endif()
+
+# another way to solve issue #90
+#set_target_properties(jsoncpp_test PROPERTIES COMPILE_FLAGS -ffloat-store)
+
+## Create tests for dashboard submission, allows easy review of CI results https://my.cdash.org/index.php?project=jsoncpp
+add_test(NAME jsoncpp_test
+ COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:jsoncpp_test>
+)
+set_target_properties(jsoncpp_test PROPERTIES OUTPUT_NAME jsoncpp_test)
# Run unit tests in post-build
# (default cmake workflow hides away the test result into a file, resulting in poor dev workflow?!?)
-IF(JSONCPP_WITH_POST_BUILD_UNITTEST)
- ADD_CUSTOM_COMMAND( TARGET jsoncpp_test
- POST_BUILD
- COMMAND $<TARGET_FILE:jsoncpp_test>)
-ENDIF(JSONCPP_WITH_POST_BUILD_UNITTEST)
-
-SET_TARGET_PROPERTIES(jsoncpp_test PROPERTIES OUTPUT_NAME jsoncpp_test)
+if(JSONCPP_WITH_POST_BUILD_UNITTEST)
+ add_custom_command(TARGET jsoncpp_test
+ POST_BUILD
+ COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:jsoncpp_test>
+ )
+endif()