aboutsummaryrefslogtreecommitdiffstats
path: root/longbow/src/LongBow/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'longbow/src/LongBow/CMakeLists.txt')
-rw-r--r--longbow/src/LongBow/CMakeLists.txt191
1 files changed, 191 insertions, 0 deletions
diff --git a/longbow/src/LongBow/CMakeLists.txt b/longbow/src/LongBow/CMakeLists.txt
new file mode 100644
index 00000000..f8054b8d
--- /dev/null
+++ b/longbow/src/LongBow/CMakeLists.txt
@@ -0,0 +1,191 @@
+# Define a few configuration variables that we want accessible in the software
+configure_file(
+ config.h.in
+ config.h
+)
+
+set(LONGBOW_REPORT_HEADER_FILES
+ Reporting/longBowReport_Testing.h
+ Reporting/longBowReport_Runtime.h
+ )
+
+set(LONGBOW_REPORT_BASE_SOURCE_FILES
+ Reporting/longBowReport_Runtime.c
+ Reporting/longBowReport_Testing.c
+ ${LONGBOW_REPORT_HEADER_FILES})
+
+source_group(report-base FILES ${LONGBOW_REPORT_BASE_SOURCE_FILES})
+
+set(LONGBOW_REPORT_ANSI_SOURCE_FILES
+ Reporting/ANSITerm/longBowReport_Runtime.c
+ Reporting/ANSITerm/longBowReport_Runtime.h
+ Reporting/ANSITerm/longBowReport_Testing.c
+ Reporting/ANSITerm/longBowReportANSITerminal_About.c
+ Reporting/ANSITerm/longBowReportANSITerminal_About.h)
+
+source_group(report-ansiterm FILES ${LONGBOW_REPORT_ANSI_SOURCE_FILES})
+
+
+if (ANDROID_API)
+ set(LONGBOW_REPORT_TEXT_RUNTIME_SOURCE_FILE Reporting/Android/longBowReport_Runtime.c)
+else()
+ set(LONGBOW_REPORT_TEXT_RUNTIME_SOURCE_FILE Reporting/TextPlain/longBowReport_Runtime.c)
+endif()
+
+ set(LONGBOW_REPORT_TEXT_SOURCE_FILES
+ ${LONGBOW_REPORT_TEXT_RUNTIME_SOURCE_FILE}
+ Reporting/TextPlain/longBowReport_Testing.c
+ Reporting/TextPlain/longBowReportTextPlain_About.c
+ Reporting/TextPlain/longBowReportTextPlain_About.h)
+
+source_group(report-textplain FILES ${LONGBOW_REPORT_TEXT_SOURCE_FILES})
+
+set(LONGBOW_CONFIG_SOURCE_FILES
+ command-line/liblongbow-config.c)
+
+source_group(longbow-config FILES ${LONGBOW_CONFIG_SOURCE_FILES})
+
+set(LIBLONGBOW_HEADER_FILES
+ stubs/execinfo.h
+ assertions.h
+ debugging.h
+ longBow_About.h
+ longBow_Backtrace.h
+ longBow_ClipBoard.h
+ longBow_Compiler.h
+ longBow_Config.h
+ longBow_Debug.h
+ longBow_Event.h
+ longBow_EventType.h
+ longBow_Location.h
+ longBow_Main.h
+ longBow_MeasureTime.h
+ longBow_Properties.h
+ longBow_Runtime.h
+ longBow_RuntimeResult.h
+ longBow_Status.h
+ longBow_SubProcess.h
+ longBow_TestCase.h
+ longBow_TestCaseClipBoard.h
+ longBow_TestCaseMetaData.h
+ longBow_TestFixture.h
+ longBow_TestFixtureConfig.h
+ longBow_TestRunner.h
+ longBow_UnitTest.h
+ longBow_UnitTesting.h
+ runtime.h
+ testing.h
+ tests.h
+ traps.h
+ unit-test.h
+ )
+
+set(LIBLONGBOW_SOURCE_FILES
+ private/longBow_ArrayList.h
+ private/longBow_Memory.h
+ private/longBow_OpenFile.h
+ private/longBow_String.h
+ private/longBow_ArrayList.c
+ private/longBow_Memory.c
+ private/longBow_OpenFile.c
+ private/longBow_String.c
+ longBow_About.c
+ longBow_Backtrace.c
+ longBow_ClipBoard.c
+ longBow_Config.c
+ longBow_Debug.c
+ longBow_Event.c
+ longBow_EventType.c
+ longBow_Location.c
+ longBow_Main.c
+ longBow_MeasureTime.c
+ longBow_Properties.c
+ longBow_Runtime.c
+ longBow_RuntimeResult.c
+ longBow_Status.c
+ longBow_SubProcess.c
+ longBow_TestCase.c
+ longBow_TestCaseClipBoard.c
+ longBow_TestCaseMetaData.c
+ longBow_TestFixture.c
+ longBow_TestFixtureConfig.c
+ longBow_TestRunner.c
+ longBow_UnitTesting.c
+ ${LIBLONGBOW_HEADER_FILES})
+
+source_group(longbow FILES ${LIBLONGBOW_SOURCE_FILES})
+
+if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang" OR COMPILE_FOR_IOS )
+ set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS} -undefined dynamic_lookup")
+ message( "-- Set \"-undefined dynamic_lookup\" for shared libraries")
+endif()
+
+if(COMPILE_FOR_IOS OR ANDROID_API)
+ add_library(longbow-ansiterm STATIC ${LONGBOW_REPORT_ANSI_SOURCE_FILES} ${LONGBOW_REPORT_BASE_SOURCE_FILES})
+
+ add_library(longbow-textplain STATIC ${LONGBOW_REPORT_TEXT_SOURCE_FILES} ${LONGBOW_REPORT_BASE_SOURCE_FILES})
+ add_library(longbow STATIC ${LIBLONGBOW_SOURCE_FILES})
+
+ set(longbowLibraries
+ longbow
+ longbow-ansiterm
+ longbow-textplain
+ )
+
+ foreach(lib ${longbowLibraries})
+ install(TARGETS ${lib} LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)
+ endforeach()
+else()
+ add_library(longbow-ansiterm STATIC ${LONGBOW_REPORT_ANSI_SOURCE_FILES} ${LONGBOW_REPORT_BASE_SOURCE_FILES})
+ add_library(longbow-ansiterm.shared SHARED ${LONGBOW_REPORT_ANSI_SOURCE_FILES} ${LONGBOW_REPORT_BASE_SOURCE_FILES})
+
+ set_target_properties(longbow-ansiterm.shared PROPERTIES
+ SOVERSION 1
+ VERSION 1.0
+ OUTPUT_NAME longbow-ansiterm)
+
+ add_library(longbow-textplain STATIC ${LONGBOW_REPORT_TEXT_SOURCE_FILES} ${LONGBOW_REPORT_BASE_SOURCE_FILES})
+ add_library(longbow-textplain.shared SHARED ${LONGBOW_REPORT_TEXT_SOURCE_FILES} ${LONGBOW_REPORT_BASE_SOURCE_FILES})
+
+ set_target_properties(longbow-textplain.shared PROPERTIES
+ SOVERSION 1
+ VERSION 1.0
+ OUTPUT_NAME longbow-textplain)
+
+ add_library(longbow STATIC ${LIBLONGBOW_SOURCE_FILES})
+ add_library(longbow.shared SHARED ${LIBLONGBOW_SOURCE_FILES})
+
+ set_target_properties(longbow.shared PROPERTIES
+ SOVERSION 1
+ VERSION 1.0
+ OUTPUT_NAME longbow)
+
+ add_executable(longbow-config ${LONGBOW_CONFIG_SOURCE_FILES})
+
+ set(longbowLibraries
+ longbow
+ longbow.shared
+ longbow-ansiterm
+ longbow-ansiterm.shared
+ longbow-textplain
+ longbow-textplain.shared
+ )
+
+ foreach(lib ${longbowLibraries})
+ install(TARGETS ${lib} COMPONENT library LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)
+ endforeach()
+
+endif()
+
+install(FILES ${LIBLONGBOW_HEADER_FILES} DESTINATION include/LongBow COMPONENT headers)
+install(FILES ${LONGBOW_REPORT_HEADER_FILES} DESTINATION include/LongBow/Reporting COMPONENT headers)
+
+if(ANDROID_API)
+ message("############ Detected cross compile for ${CMAKE_SYSTEM_NAME}")
+ message("############ This build will not include doxygen, tools, or tests")
+elseif(COMPILE_FOR_IOS)
+ message("############ Detected cross compile for ${CMAKE_SYSTEM_NAME}")
+ message("############ This build will not include doxygen, tools, or tests")
+else()
+ add_subdirectory(test)
+endif()